/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

  • Committer: Teddy Hogeborn
  • Date: 2009-12-25 23:13:47 UTC
  • Revision ID: teddy@fukt.bsnet.se-20091225231347-gg9u9ru0wj0f24hh
More consistent terminology: Clients are no longer "invalid" - they
are "disabled".  All code and documentation changed to reflect this.

D=Bus API change: The "properties" argument was removed from the
"ClientAdded" signal on interface "se.bsnet.fukt.Mandos".  All code in
both "mandos" and "mandos-monitor" changed to reflect this.

* mandos: Replaced "with closing(F)" with simply "with F" in all
          places where F is a file object.
  (Client.still_valid): Removed.  All callers changed to look at
                        "Client.enabled" instead.
  (dbus_service_property): Check for unsupported signatures with the
                           "byte_arrays" option.
  (DBusObjectWithProperties.Set): - '' -
  (ClientHandler.handle): Use the reverse pipe to receive the
                          "Client.enabled" attribute instead of the
                          now-removed "Client.still_valid()" method.
  (ForkingMixInWithPipe): Renamed to "ForkingMixInWithPipes" (all
                          users changed).  Now also create a reverse
                          pipe for sending data to the child process.
  (ForkingMixInWithPipes.add_pipe): Now takes two pipe fd's as
                                    arguments.  All callers changed.
  (IPv6_TCPServer.handle_ipc): Take an additional "reply_fd" argument
                               (all callers changed).  Close the reply
                               pipe when the child data pipe is
                               closed.  New "GETATTR" IPC method; will
                               pickle client attribute and send it
                               over the reply pipe FD.
  (MandosDBusService.ClientAdded): Removed "properties" argument.  All
                                   emitters changed.
* mandos-clients.conf.xml (DESCRIPTION, OPTIONS): Use
                                                  "enabled/disabled"
                                                  terminology.
* mandos-ctl: Option "--is-valid" renamed to "--is-enabled".
* mandos-monitor: Enable user locale.  Try to log exceptions.
  (MandosClientPropertyCache.__init__): Removed "properties" argument.
                                        All callers changed.
  (UserInterface.add_new_client): Remove "properties" argument.  All
                                  callers changed.  Supply "logger"
                                  argument to MandosClientWidget().
  (UserInterface.add_client): New "logger" argument.  All callers
                              changed.
* mandos.xml (BUGS, SECURITY/CLIENTS): Use "enabled/disabled"
                                       terminology.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
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">
5
4
<!ENTITY CONFNAME "mandos-clients.conf">
6
5
<!ENTITY CONFPATH "<filename>/etc/mandos/clients.conf</filename>">
7
 
<!ENTITY TIMESTAMP "2008-08-31">
 
6
<!ENTITY TIMESTAMP "2009-12-09">
 
7
<!ENTITY % common SYSTEM "common.ent">
 
8
%common;
8
9
]>
9
10
 
10
11
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
12
13
    <title>Mandos Manual</title>
13
14
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
14
15
    <productname>Mandos</productname>
15
 
    <productnumber>&VERSION;</productnumber>
 
16
    <productnumber>&version;</productnumber>
16
17
    <date>&TIMESTAMP;</date>
17
18
    <authorgroup>
18
19
      <author>
32
33
    </authorgroup>
33
34
    <copyright>
34
35
      <year>2008</year>
 
36
      <year>2009</year>
35
37
      <holder>Teddy Hogeborn</holder>
36
38
      <holder>Björn Påhlsson</holder>
37
39
    </copyright>
38
40
    <xi:include href="legalnotice.xml"/>
39
41
  </refentryinfo>
40
 
 
 
42
  
41
43
  <refmeta>
42
44
    <refentrytitle>&CONFNAME;</refentrytitle>
43
45
    <manvolnum>5</manvolnum>
49
51
      Configuration file for the Mandos server
50
52
    </refpurpose>
51
53
  </refnamediv>
52
 
 
 
54
  
53
55
  <refsynopsisdiv>
54
56
    <synopsis>&CONFPATH;</synopsis>
55
57
  </refsynopsisdiv>
56
 
 
 
58
  
57
59
  <refsect1 id="description">
58
60
    <title>DESCRIPTION</title>
59
61
    <para>
61
63
      ><refentrytitle>mandos</refentrytitle>
62
64
      <manvolnum>8</manvolnum></citerefentry>, read by it at startup.
63
65
      The file needs to list all clients that should be able to use
64
 
      the service.  All clients listed will be regarded as valid, even
65
 
      if a client was declared invalid in a previous run of the
66
 
      server.
 
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.
67
68
    </para>
68
69
    <para>
69
70
      The format starts with a <literal>[<replaceable>section
93
94
      start time expansion, see <xref linkend="expansion"/>.
94
95
    </para>
95
96
    <para>
96
 
      Uknown options are ignored.  The used options are as follows:
 
97
      Unknown options are ignored.  The used options are as follows:
97
98
    </para>
98
 
 
 
99
    
99
100
    <variablelist>
100
 
 
 
101
      
101
102
      <varlistentry>
102
103
        <term><option>timeout<literal> = </literal><replaceable
103
104
        >TIME</replaceable></option></term>
104
105
        <listitem>
105
106
          <para>
106
 
            The timeout is how long the server will wait for a
107
 
            successful checker run until a client is considered
108
 
            invalid - that is, ineligible to get the data this server
109
 
            holds.  By default Mandos will use 1 hour.
 
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.
110
114
          </para>
111
115
          <para>
112
116
            The <replaceable>TIME</replaceable> is specified as a
123
127
          </para>
124
128
        </listitem>
125
129
      </varlistentry>
126
 
 
 
130
      
127
131
      <varlistentry>
128
132
        <term><option>interval<literal> = </literal><replaceable
129
133
        >TIME</replaceable></option></term>
130
134
        <listitem>
131
135
          <para>
 
136
            This option is <emphasis>optional</emphasis>.
 
137
          </para>
 
138
          <para>
132
139
            How often to run the checker to confirm that a client is
133
140
            still up.  <emphasis>Note:</emphasis> a new checker will
134
141
            not be started if an old one is still running.  The server
135
142
            will wait for a checker to complete until the above
136
143
            <quote><varname>timeout</varname></quote> occurs, at which
137
 
            time the client will be marked invalid, and any running
138
 
            checker killed.  The default interval is 5 minutes.
 
144
            time the client will be disabled, and any running checker
 
145
            killed.  The default interval is 5 minutes.
139
146
          </para>
140
147
          <para>
141
148
            The format of <replaceable>TIME</replaceable> is the same
143
150
          </para>
144
151
        </listitem>
145
152
      </varlistentry>
146
 
 
 
153
      
147
154
      <varlistentry>
148
155
        <term><option>checker<literal> = </literal><replaceable
149
156
        >COMMAND</replaceable></option></term>
150
157
        <listitem>
151
158
          <para>
 
159
            This option is <emphasis>optional</emphasis>.
 
160
          </para>
 
161
          <para>
152
162
            This option allows you to override the default shell
153
163
            command that the server will use to check if the client is
154
164
            still up.  Any output of the command will be ignored, only
159
169
            <varname>PATH</varname> will be searched.  The default
160
170
            value for the checker command is <quote><literal
161
171
            ><command>fping</command> <option>-q</option> <option
162
 
            >--</option> %(host)s</literal></quote>.
 
172
            >--</option> %%(host)s</literal></quote>.
163
173
          </para>
164
174
          <para>
165
175
            In addition to normal start time expansion, this option
174
184
        ><replaceable>HEXSTRING</replaceable></option></term>
175
185
        <listitem>
176
186
          <para>
 
187
            This option is <emphasis>required</emphasis>.
 
188
          </para>
 
189
          <para>
177
190
            This option sets the OpenPGP fingerprint that identifies
178
191
            the public key that clients authenticate themselves with
179
192
            through TLS.  The string needs to be in hexidecimal form,
187
200
        >BASE64_ENCODED_DATA</replaceable></option></term>
188
201
        <listitem>
189
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>
 
207
          <para>
190
208
            If present, this option must be set to a string of
191
209
            base64-encoded binary data.  It will be decoded and sent
192
210
            to the client matching the above
204
222
            lines is that a line beginning with white space adds to
205
223
            the value of the previous line, RFC 822-style.
206
224
          </para>
207
 
          <para>
208
 
            If this option is not specified, the <option
209
 
            >secfile</option> option is used instead, but one of them
210
 
            <emphasis>must</emphasis> be present.
211
 
          </para>
212
225
        </listitem>
213
226
      </varlistentry>
214
 
 
 
227
      
215
228
      <varlistentry>
216
229
        <term><option>secfile<literal> = </literal><replaceable
217
230
        >FILENAME</replaceable></option></term>
218
231
        <listitem>
219
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>
220
238
            Similar to the <option>secret</option>, except the secret
221
239
            data is in an external file.  The contents of the file
222
240
            should <emphasis>not</emphasis> be base64-encoded, but
223
241
            will be sent to clients verbatim.
224
242
          </para>
225
243
          <para>
226
 
            This option is only used, and <emphasis>must</emphasis> be
227
 
            present, if <option>secret</option> is not specified.
 
244
            File names of the form <filename>~user/foo/bar</filename>
 
245
            and <filename>$<envar>ENVVAR</envar>/foo/bar</filename>
 
246
            are supported.
228
247
          </para>
229
248
        </listitem>
230
249
      </varlistentry>
231
 
 
 
250
      
232
251
      <varlistentry>
233
252
        <term><option><literal>host = </literal><replaceable
234
253
        >STRING</replaceable></option></term>
235
254
        <listitem>
236
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>
 
261
          <para>
237
262
            Host name for this client.  This is not used by the server
238
263
            directly, but can be, and is by default, used by the
239
264
            checker.  See the <option>checker</option> option.
294
319
        mode is needed to expose an error of this kind.
295
320
      </para>
296
321
    </refsect2>
297
 
 
 
322
    
298
323
  </refsect1>
299
324
  
300
325
  <refsect1 id="files">
325
350
[DEFAULT]
326
351
timeout = 1h
327
352
interval = 5m
328
 
checker = fping -q -- %(host)s
 
353
checker = fping -q -- %%(host)s
329
354
 
330
355
# Client "foo"
331
356
[foo]
354
379
fingerprint = 3e393aeaefb84c7e89e2f547b3a107558fca3a27
355
380
secfile = /etc/mandos/bar-secret
356
381
timeout = 15m
357
 
 
358
382
      </programlisting>
359
383
    </informalexample>
360
384
  </refsect1>