/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to mandos-clients.conf.xml

merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" encoding="UTF-8"?>
 
1
<?xml version='1.0' encoding='UTF-8'?>
2
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 
4
<!ENTITY VERSION "1.0">
4
5
<!ENTITY CONFNAME "mandos-clients.conf">
5
6
<!ENTITY CONFPATH "<filename>/etc/mandos/clients.conf</filename>">
6
 
<!ENTITY TIMESTAMP "2009-12-09">
7
 
<!ENTITY % common SYSTEM "common.ent">
8
 
%common;
 
7
<!ENTITY TIMESTAMP "2008-08-29">
9
8
]>
10
9
 
11
 
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
 
10
<refentry>
12
11
  <refentryinfo>
13
12
    <title>Mandos Manual</title>
14
13
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
15
14
    <productname>Mandos</productname>
16
 
    <productnumber>&version;</productnumber>
 
15
    <productnumber>&VERSION;</productnumber>
17
16
    <date>&TIMESTAMP;</date>
18
17
    <authorgroup>
19
18
      <author>
33
32
    </authorgroup>
34
33
    <copyright>
35
34
      <year>2008</year>
36
 
      <year>2009</year>
37
35
      <holder>Teddy Hogeborn</holder>
38
36
      <holder>Björn Påhlsson</holder>
39
37
    </copyright>
40
 
    <xi:include href="legalnotice.xml"/>
 
38
    <legalnotice>
 
39
      <para>
 
40
        This manual page is free software: you can redistribute it
 
41
        and/or modify it under the terms of the GNU General Public
 
42
        License as published by the Free Software Foundation,
 
43
        either version 3 of the License, or (at your option) any
 
44
        later version.
 
45
      </para>
 
46
 
 
47
      <para>
 
48
        This manual page is distributed in the hope that it will
 
49
        be useful, but WITHOUT ANY WARRANTY; without even the
 
50
        implied warranty of MERCHANTABILITY or FITNESS FOR A
 
51
        PARTICULAR PURPOSE.  See the GNU General Public License
 
52
        for more details.
 
53
      </para>
 
54
 
 
55
      <para>
 
56
        You should have received a copy of the GNU General Public
 
57
        License along with this program; If not, see
 
58
        <ulink url="http://www.gnu.org/licenses/"/>.
 
59
      </para>
 
60
    </legalnotice>
41
61
  </refentryinfo>
42
 
  
 
62
 
43
63
  <refmeta>
44
64
    <refentrytitle>&CONFNAME;</refentrytitle>
45
65
    <manvolnum>5</manvolnum>
51
71
      Configuration file for the Mandos server
52
72
    </refpurpose>
53
73
  </refnamediv>
54
 
  
 
74
 
55
75
  <refsynopsisdiv>
56
 
    <synopsis>&CONFPATH;</synopsis>
 
76
    <synopsis>
 
77
      &CONFPATH;
 
78
    </synopsis>
57
79
  </refsynopsisdiv>
58
 
  
 
80
 
59
81
  <refsect1 id="description">
60
82
    <title>DESCRIPTION</title>
61
83
    <para>
63
85
      ><refentrytitle>mandos</refentrytitle>
64
86
      <manvolnum>8</manvolnum></citerefentry>, read by it at startup.
65
87
      The file needs to list all clients that should be able to use
66
 
      the service.  All clients listed will be regarded as enabled,
67
 
      even if a client was disabled in a previous run of the server.
 
88
      the service.  All clients listed will be regarded as valid, even
 
89
      if a client was declared invalid in a previous run of the
 
90
      server.
68
91
    </para>
69
92
    <para>
70
93
      The format starts with a <literal>[<replaceable>section
94
117
      start time expansion, see <xref linkend="expansion"/>.
95
118
    </para>
96
119
    <para>
97
 
      Unknown options are ignored.  The used options are as follows:
 
120
      Uknown options are ignored.  The used options are as follows:
98
121
    </para>
99
 
    
 
122
 
100
123
    <variablelist>
101
 
      
 
124
 
102
125
      <varlistentry>
103
 
        <term><option>timeout<literal> = </literal><replaceable
104
 
        >TIME</replaceable></option></term>
 
126
        <term><literal><varname>timeout</varname></literal></term>
105
127
        <listitem>
106
 
          <para>
107
 
            This option is <emphasis>optional</emphasis>.
108
 
          </para>
109
 
          <para>
110
 
            The timeout is how long the server will wait (for either a
111
 
            successful checker run or a client receiving its secret)
112
 
            until a client is disabled and not allowed to get the data
113
 
            this server holds.  By default Mandos will use 1 hour.
 
128
          <synopsis><literal>timeout = </literal><replaceable
 
129
          >TIME</replaceable>
 
130
          </synopsis>
 
131
          <para>
 
132
            The timeout is how long the server will wait for a
 
133
            successful checker run until a client is considered
 
134
            invalid - that is, ineligible to get the data this server
 
135
            holds.  By default Mandos will use 1 hour.
114
136
          </para>
115
137
          <para>
116
138
            The <replaceable>TIME</replaceable> is specified as a
127
149
          </para>
128
150
        </listitem>
129
151
      </varlistentry>
130
 
      
 
152
 
131
153
      <varlistentry>
132
 
        <term><option>interval<literal> = </literal><replaceable
133
 
        >TIME</replaceable></option></term>
 
154
        <term><literal><varname>interval</varname></literal></term>
134
155
        <listitem>
135
 
          <para>
136
 
            This option is <emphasis>optional</emphasis>.
137
 
          </para>
 
156
          <synopsis><literal>interval = </literal><replaceable
 
157
          >TIME</replaceable>
 
158
          </synopsis>
138
159
          <para>
139
160
            How often to run the checker to confirm that a client is
140
161
            still up.  <emphasis>Note:</emphasis> a new checker will
141
162
            not be started if an old one is still running.  The server
142
163
            will wait for a checker to complete until the above
143
164
            <quote><varname>timeout</varname></quote> occurs, at which
144
 
            time the client will be disabled, and any running checker
145
 
            killed.  The default interval is 5 minutes.
 
165
            time the client will be marked invalid, and any running
 
166
            checker killed.  The default interval is 5 minutes.
146
167
          </para>
147
168
          <para>
148
169
            The format of <replaceable>TIME</replaceable> is the same
149
170
            as for <varname>timeout</varname> above.
150
171
          </para>
151
172
        </listitem>
152
 
      </varlistentry>
153
 
      
 
173
      </varlistentry>      
 
174
 
154
175
      <varlistentry>
155
 
        <term><option>checker<literal> = </literal><replaceable
156
 
        >COMMAND</replaceable></option></term>
 
176
        <term><literal>checker</literal></term>
157
177
        <listitem>
158
 
          <para>
159
 
            This option is <emphasis>optional</emphasis>.
160
 
          </para>
 
178
          <synopsis><literal>checker = </literal><replaceable
 
179
          >COMMAND</replaceable>
 
180
          </synopsis>
161
181
          <para>
162
182
            This option allows you to override the default shell
163
183
            command that the server will use to check if the client is
169
189
            <varname>PATH</varname> will be searched.  The default
170
190
            value for the checker command is <quote><literal
171
191
            ><command>fping</command> <option>-q</option> <option
172
 
            >--</option> %%(host)s</literal></quote>.
 
192
            >--</option> %(host)s</literal></quote>.
173
193
          </para>
174
194
          <para>
175
195
            In addition to normal start time expansion, this option
180
200
      </varlistentry>
181
201
      
182
202
      <varlistentry>
183
 
        <term><option>fingerprint<literal> = </literal
184
 
        ><replaceable>HEXSTRING</replaceable></option></term>
 
203
        <term><literal>fingerprint</literal></term>
185
204
        <listitem>
186
 
          <para>
187
 
            This option is <emphasis>required</emphasis>.
188
 
          </para>
 
205
          <synopsis><literal>fingerprint = </literal><replaceable
 
206
          >HEXSTRING</replaceable>
 
207
          </synopsis>
189
208
          <para>
190
209
            This option sets the OpenPGP fingerprint that identifies
191
210
            the public key that clients authenticate themselves with
196
215
      </varlistentry>
197
216
      
198
217
      <varlistentry>
199
 
        <term><option>secret<literal> = </literal><replaceable
200
 
        >BASE64_ENCODED_DATA</replaceable></option></term>
 
218
        <term><literal>secret</literal></term>
201
219
        <listitem>
202
 
          <para>
203
 
            If this option is not specified, the <option
204
 
            >secfile</option> option is <emphasis>required</emphasis>
205
 
            to be present.
206
 
          </para>
 
220
          <synopsis><literal>secret = </literal><replaceable
 
221
          >BASE64_ENCODED_DATA</replaceable>
 
222
          </synopsis>
207
223
          <para>
208
224
            If present, this option must be set to a string of
209
225
            base64-encoded binary data.  It will be decoded and sent
222
238
            lines is that a line beginning with white space adds to
223
239
            the value of the previous line, RFC 822-style.
224
240
          </para>
225
 
        </listitem>
226
 
      </varlistentry>
227
 
      
228
 
      <varlistentry>
229
 
        <term><option>secfile<literal> = </literal><replaceable
230
 
        >FILENAME</replaceable></option></term>
231
 
        <listitem>
232
 
          <para>
233
 
            This option is only used if <option>secret</option> is not
234
 
            specified, in which case this option is
235
 
            <emphasis>required</emphasis>.
236
 
          </para>
237
 
          <para>
238
 
            Similar to the <option>secret</option>, except the secret
239
 
            data is in an external file.  The contents of the file
240
 
            should <emphasis>not</emphasis> be base64-encoded, but
241
 
            will be sent to clients verbatim.
242
 
          </para>
243
 
          <para>
244
 
            File names of the form <filename>~user/foo/bar</filename>
245
 
            and <filename>$<envar>ENVVAR</envar>/foo/bar</filename>
246
 
            are supported.
247
 
          </para>
248
 
        </listitem>
249
 
      </varlistentry>
250
 
      
251
 
      <varlistentry>
252
 
        <term><option><literal>host = </literal><replaceable
253
 
        >STRING</replaceable></option></term>
254
 
        <listitem>
255
 
          <para>
256
 
            This option is <emphasis>optional</emphasis>, but highly
257
 
            <emphasis>recommended</emphasis> unless the
258
 
            <option>checker</option> option is modified to a
259
 
            non-standard value without <quote>%%(host)s</quote> in it.
260
 
          </para>
 
241
          <para>
 
242
            If this option is not specified, the <option
 
243
            >secfile</option> option is used instead, but one of them
 
244
            <emphasis>must</emphasis> be present.
 
245
          </para>
 
246
        </listitem>
 
247
      </varlistentry>
 
248
 
 
249
      <varlistentry>
 
250
        <term><literal>secfile</literal></term>
 
251
        <listitem>
 
252
          <synopsis><literal>secfile = </literal><replaceable
 
253
          >FILENAME</replaceable>
 
254
          </synopsis>
 
255
          <para>
 
256
            The same as <option>secret</option>, but the secret data
 
257
            is in an external file.  The contents of the file should
 
258
            <emphasis>not</emphasis> be base64-encoded, but will be
 
259
            sent to clients verbatim.
 
260
          </para>
 
261
          <para>
 
262
            This option is only used, and <emphasis>must</emphasis> be
 
263
            present, if <option>secret</option> is not specified.
 
264
          </para>
 
265
        </listitem>
 
266
      </varlistentry>
 
267
 
 
268
      <varlistentry>
 
269
        <term><literal>host</literal></term>
 
270
        <listitem>
 
271
          <synopsis><literal>host = </literal><replaceable
 
272
          >STRING</replaceable>
 
273
          </synopsis>
261
274
          <para>
262
275
            Host name for this client.  This is not used by the server
263
276
            directly, but can be, and is by default, used by the
267
280
      </varlistentry>
268
281
      
269
282
    </variablelist>
270
 
  </refsect1>
 
283
  </refsect1>  
271
284
  
272
285
  <refsect1 id="expansion">
273
286
    <title>EXPANSION</title>
316
329
        percent characters in a row (<quote>%%%%</quote>) must be
317
330
        entered.  Also, a bad format here will lead to an immediate
318
331
        but <emphasis>silent</emphasis> run-time fatal exit; debug
319
 
        mode is needed to expose an error of this kind.
 
332
        mode is needed to track down an error of this kind.
320
333
      </para>
321
334
    </refsect2>
322
 
    
323
 
  </refsect1>
 
335
 
 
336
  </refsect1>  
324
337
  
325
338
  <refsect1 id="files">
326
339
    <title>FILES</title>
350
363
[DEFAULT]
351
364
timeout = 1h
352
365
interval = 5m
353
 
checker = fping -q -- %%(host)s
 
366
checker = fping -q -- %(host)s
354
367
 
355
368
# Client "foo"
356
369
[foo]
379
392
fingerprint = 3e393aeaefb84c7e89e2f547b3a107558fca3a27
380
393
secfile = /etc/mandos/bar-secret
381
394
timeout = 15m
 
395
 
382
396
      </programlisting>
383
397
    </informalexample>
384
 
  </refsect1>
 
398
  </refsect1>  
385
399
  
386
400
  <refsect1 id="see_also">
387
401
    <title>SEE ALSO</title>