/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.xml

  • Committer: teddy at bsnet
  • Date: 2010-08-11 20:06:18 UTC
  • mto: This revision was merged to the branch mainline in revision 419.
  • Revision ID: teddy@fukt.bsnet.se-20100811200618-1uuv7p6cmrb2cmxu
* plugins.d/mandos-client.c: Added debug output.

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 COMMANDNAME "mandos">
6
 
<!ENTITY TIMESTAMP "2008-08-29">
 
5
<!ENTITY TIMESTAMP "2009-09-17">
 
6
<!ENTITY % common SYSTEM "common.ent">
 
7
%common;
7
8
]>
8
9
 
9
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
10
 
  <refentryinfo>
 
11
   <refentryinfo>
11
12
    <title>Mandos Manual</title>
12
13
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
13
14
    <productname>Mandos</productname>
14
 
    <productnumber>&VERSION;</productnumber>
 
15
    <productnumber>&version;</productnumber>
15
16
    <date>&TIMESTAMP;</date>
16
17
    <authorgroup>
17
18
      <author>
31
32
    </authorgroup>
32
33
    <copyright>
33
34
      <year>2008</year>
 
35
      <year>2009</year>
34
36
      <holder>Teddy Hogeborn</holder>
35
37
      <holder>Björn Påhlsson</holder>
36
38
    </copyright>
37
 
    <legalnotice>
38
 
      <para>
39
 
        This manual page is free software: you can redistribute it
40
 
        and/or modify it under the terms of the GNU General Public
41
 
        License as published by the Free Software Foundation,
42
 
        either version 3 of the License, or (at your option) any
43
 
        later version.
44
 
      </para>
45
 
 
46
 
      <para>
47
 
        This manual page is distributed in the hope that it will
48
 
        be useful, but WITHOUT ANY WARRANTY; without even the
49
 
        implied warranty of MERCHANTABILITY or FITNESS FOR A
50
 
        PARTICULAR PURPOSE.  See the GNU General Public License
51
 
        for more details.
52
 
      </para>
53
 
 
54
 
      <para>
55
 
        You should have received a copy of the GNU General Public
56
 
        License along with this program; If not, see
57
 
        <ulink url="http://www.gnu.org/licenses/"/>.
58
 
      </para>
59
 
    </legalnotice>
 
39
    <xi:include href="legalnotice.xml"/>
60
40
  </refentryinfo>
61
 
 
 
41
  
62
42
  <refmeta>
63
43
    <refentrytitle>&COMMANDNAME;</refentrytitle>
64
44
    <manvolnum>8</manvolnum>
67
47
  <refnamediv>
68
48
    <refname><command>&COMMANDNAME;</command></refname>
69
49
    <refpurpose>
70
 
      Sends encrypted passwords to authenticated Mandos clients
 
50
      Gives encrypted passwords to authenticated Mandos clients
71
51
    </refpurpose>
72
52
  </refnamediv>
73
 
 
 
53
  
74
54
  <refsynopsisdiv>
75
55
    <cmdsynopsis>
76
56
      <command>&COMMANDNAME;</command>
77
 
      <arg>--interface<arg choice="plain">NAME</arg></arg>
78
 
      <arg>--address<arg choice="plain">ADDRESS</arg></arg>
79
 
      <arg>--port<arg choice="plain">PORT</arg></arg>
80
 
      <arg>--priority<arg choice="plain">PRIORITY</arg></arg>
81
 
      <arg>--servicename<arg choice="plain">NAME</arg></arg>
82
 
      <arg>--configdir<arg choice="plain">DIRECTORY</arg></arg>
83
 
      <arg>--debug</arg>
84
 
    </cmdsynopsis>
85
 
    <cmdsynopsis>
86
 
      <command>&COMMANDNAME;</command>
87
 
      <arg>-i<arg choice="plain">NAME</arg></arg>
88
 
      <arg>-a<arg choice="plain">ADDRESS</arg></arg>
89
 
      <arg>-p<arg choice="plain">PORT</arg></arg>
90
 
      <arg>--priority<arg choice="plain">PRIORITY</arg></arg>
91
 
      <arg>--servicename<arg choice="plain">NAME</arg></arg>
92
 
      <arg>--configdir<arg choice="plain">DIRECTORY</arg></arg>
93
 
      <arg>--debug</arg>
 
57
      <group>
 
58
        <arg choice="plain"><option>--interface
 
59
        <replaceable>NAME</replaceable></option></arg>
 
60
        <arg choice="plain"><option>-i
 
61
        <replaceable>NAME</replaceable></option></arg>
 
62
      </group>
 
63
      <sbr/>
 
64
      <group>
 
65
        <arg choice="plain"><option>--address
 
66
        <replaceable>ADDRESS</replaceable></option></arg>
 
67
        <arg choice="plain"><option>-a
 
68
        <replaceable>ADDRESS</replaceable></option></arg>
 
69
      </group>
 
70
      <sbr/>
 
71
      <group>
 
72
        <arg choice="plain"><option>--port
 
73
        <replaceable>PORT</replaceable></option></arg>
 
74
        <arg choice="plain"><option>-p
 
75
        <replaceable>PORT</replaceable></option></arg>
 
76
      </group>
 
77
      <sbr/>
 
78
      <arg><option>--priority
 
79
      <replaceable>PRIORITY</replaceable></option></arg>
 
80
      <sbr/>
 
81
      <arg><option>--servicename
 
82
      <replaceable>NAME</replaceable></option></arg>
 
83
      <sbr/>
 
84
      <arg><option>--configdir
 
85
      <replaceable>DIRECTORY</replaceable></option></arg>
 
86
      <sbr/>
 
87
      <arg><option>--debug</option></arg>
 
88
      <sbr/>
 
89
      <arg><option>--no-ipv6</option></arg>
94
90
    </cmdsynopsis>
95
91
    <cmdsynopsis>
96
92
      <command>&COMMANDNAME;</command>
97
93
      <group choice="req">
98
 
        <arg choice="plain">-h</arg>
99
 
        <arg choice="plain">--help</arg>
 
94
        <arg choice="plain"><option>--help</option></arg>
 
95
        <arg choice="plain"><option>-h</option></arg>
100
96
      </group>
101
97
    </cmdsynopsis>
102
98
    <cmdsynopsis>
103
99
      <command>&COMMANDNAME;</command>
104
 
      <arg choice="plain">--version</arg>
 
100
      <arg choice="plain"><option>--version</option></arg>
105
101
    </cmdsynopsis>
106
102
    <cmdsynopsis>
107
103
      <command>&COMMANDNAME;</command>
108
 
      <arg choice="plain">--check</arg>
 
104
      <arg choice="plain"><option>--check</option></arg>
109
105
    </cmdsynopsis>
110
106
  </refsynopsisdiv>
111
 
 
 
107
  
112
108
  <refsect1 id="description">
113
109
    <title>DESCRIPTION</title>
114
110
    <para>
123
119
      Any authenticated client is then given the stored pre-encrypted
124
120
      password for that specific client.
125
121
    </para>
126
 
 
127
122
  </refsect1>
128
123
  
129
124
  <refsect1 id="purpose">
130
125
    <title>PURPOSE</title>
131
 
 
132
126
    <para>
133
127
      The purpose of this is to enable <emphasis>remote and unattended
134
128
      rebooting</emphasis> of client host computer with an
135
129
      <emphasis>encrypted root file system</emphasis>.  See <xref
136
130
      linkend="overview"/> for details.
137
131
    </para>
138
 
 
139
132
  </refsect1>
140
133
  
141
134
  <refsect1 id="options">
142
135
    <title>OPTIONS</title>
143
 
 
144
136
    <variablelist>
145
137
      <varlistentry>
146
 
        <term><literal>-h</literal>, <literal>--help</literal></term>
 
138
        <term><option>--help</option></term>
 
139
        <term><option>-h</option></term>
147
140
        <listitem>
148
141
          <para>
149
142
            Show a help message and exit
150
143
          </para>
151
144
        </listitem>
152
145
      </varlistentry>
153
 
 
 
146
      
154
147
      <varlistentry>
155
 
        <term><literal>-i</literal>, <literal>--interface <replaceable
156
 
        >NAME</replaceable></literal></term>
 
148
        <term><option>--interface</option>
 
149
        <replaceable>NAME</replaceable></term>
 
150
        <term><option>-i</option>
 
151
        <replaceable>NAME</replaceable></term>
157
152
        <listitem>
158
153
          <xi:include href="mandos-options.xml" xpointer="interface"/>
159
154
        </listitem>
160
155
      </varlistentry>
161
 
 
 
156
      
162
157
      <varlistentry>
163
 
        <term><literal>-a</literal>, <literal>--address <replaceable>
164
 
        ADDRESS</replaceable></literal></term>
 
158
        <term><option>--address
 
159
        <replaceable>ADDRESS</replaceable></option></term>
 
160
        <term><option>-a
 
161
        <replaceable>ADDRESS</replaceable></option></term>
165
162
        <listitem>
166
163
          <xi:include href="mandos-options.xml" xpointer="address"/>
167
164
        </listitem>
168
165
      </varlistentry>
169
 
 
 
166
      
170
167
      <varlistentry>
171
 
        <term><literal>-p</literal>, <literal>--port <replaceable>
172
 
        PORT</replaceable></literal></term>
 
168
        <term><option>--port
 
169
        <replaceable>PORT</replaceable></option></term>
 
170
        <term><option>-p
 
171
        <replaceable>PORT</replaceable></option></term>
173
172
        <listitem>
174
173
          <xi:include href="mandos-options.xml" xpointer="port"/>
175
174
        </listitem>
176
175
      </varlistentry>
177
 
 
 
176
      
178
177
      <varlistentry>
179
 
        <term><literal>--check</literal></term>
 
178
        <term><option>--check</option></term>
180
179
        <listitem>
181
180
          <para>
182
181
            Run the server’s self-tests.  This includes any unit
184
183
          </para>
185
184
        </listitem>
186
185
      </varlistentry>
187
 
 
 
186
      
188
187
      <varlistentry>
189
 
        <term><literal>--debug</literal></term>
 
188
        <term><option>--debug</option></term>
190
189
        <listitem>
191
190
          <xi:include href="mandos-options.xml" xpointer="debug"/>
192
191
        </listitem>
193
192
      </varlistentry>
194
 
 
 
193
      
195
194
      <varlistentry>
196
 
        <term><literal>--priority <replaceable>
197
 
        PRIORITY</replaceable></literal></term>
 
195
        <term><option>--priority <replaceable>
 
196
        PRIORITY</replaceable></option></term>
198
197
        <listitem>
199
198
          <xi:include href="mandos-options.xml" xpointer="priority"/>
200
199
        </listitem>
201
200
      </varlistentry>
202
 
 
 
201
      
203
202
      <varlistentry>
204
 
        <term><literal>--servicename <replaceable>NAME</replaceable>
205
 
        </literal></term>
 
203
        <term><option>--servicename
 
204
        <replaceable>NAME</replaceable></option></term>
206
205
        <listitem>
207
206
          <xi:include href="mandos-options.xml"
208
207
                      xpointer="servicename"/>
209
208
        </listitem>
210
209
      </varlistentry>
211
 
 
 
210
      
212
211
      <varlistentry>
213
 
        <term><literal>--configdir <replaceable>DIR</replaceable>
214
 
        </literal></term>
 
212
        <term><option>--configdir
 
213
        <replaceable>DIRECTORY</replaceable></option></term>
215
214
        <listitem>
216
215
          <para>
217
216
            Directory to search for configuration files.  Default is
223
222
          </para>
224
223
        </listitem>
225
224
      </varlistentry>
226
 
 
 
225
      
227
226
      <varlistentry>
228
 
        <term><literal>--version</literal></term>
 
227
        <term><option>--version</option></term>
229
228
        <listitem>
230
229
          <para>
231
230
            Prints the program version and exit.
232
231
          </para>
233
232
        </listitem>
234
233
      </varlistentry>
 
234
      
 
235
      <varlistentry>
 
236
        <term><option>--no-ipv6</option></term>
 
237
        <listitem>
 
238
          <xi:include href="mandos-options.xml" xpointer="ipv6"/>
 
239
        </listitem>
 
240
      </varlistentry>
235
241
    </variablelist>
236
242
  </refsect1>
237
 
 
 
243
  
238
244
  <refsect1 id="overview">
239
245
    <title>OVERVIEW</title>
240
246
    <xi:include href="overview.xml"/>
241
247
    <para>
242
248
      This program is the server part.  It is a normal server program
243
249
      and will run in a normal system environment, not in an initial
244
 
      RAM disk environment.
 
250
      <acronym>RAM</acronym> disk environment.
245
251
    </para>
246
252
  </refsect1>
247
 
 
 
253
  
248
254
  <refsect1 id="protocol">
249
255
    <title>NETWORK PROTOCOL</title>
250
256
    <para>
302
308
      </row>
303
309
    </tbody></tgroup></table>
304
310
  </refsect1>
305
 
 
 
311
  
306
312
  <refsect1 id="checking">
307
313
    <title>CHECKING</title>
308
314
    <para>
309
315
      The server will, by default, continually check that the clients
310
316
      are still up.  If a client has not been confirmed as being up
311
317
      for some time, the client is assumed to be compromised and is no
312
 
      longer eligible to receive the encrypted password.  The timeout,
 
318
      longer eligible to receive the encrypted password.  (Manual
 
319
      intervention is required to re-enable a client.)  The timeout,
313
320
      checker program, and interval between checks can be configured
314
321
      both globally and per client; see <citerefentry>
315
322
      <refentrytitle>mandos-clients.conf</refentrytitle>
316
 
      <manvolnum>5</manvolnum></citerefentry>.
 
323
      <manvolnum>5</manvolnum></citerefentry>.  A client successfully
 
324
      receiving its password will also be treated as a successful
 
325
      checker run.
317
326
    </para>
318
327
  </refsect1>
319
 
 
 
328
  
320
329
  <refsect1 id="logging">
321
330
    <title>LOGGING</title>
322
331
    <para>
326
335
      and also show them on the console.
327
336
    </para>
328
337
  </refsect1>
329
 
 
 
338
  
330
339
  <refsect1 id="exit_status">
331
340
    <title>EXIT STATUS</title>
332
341
    <para>
334
343
      critical error is encountered.
335
344
    </para>
336
345
  </refsect1>
337
 
 
 
346
  
338
347
  <refsect1 id="environment">
339
348
    <title>ENVIRONMENT</title>
340
349
    <variablelist>
341
350
      <varlistentry>
342
 
        <term><varname>PATH</varname></term>
 
351
        <term><envar>PATH</envar></term>
343
352
        <listitem>
344
353
          <para>
345
354
            To start the configured checker (see <xref
354
363
      </varlistentry>
355
364
    </variablelist>
356
365
  </refsect1>
357
 
 
358
 
  <refsect1 id="file">
 
366
  
 
367
  <refsect1 id="files">
359
368
    <title>FILES</title>
360
369
    <para>
361
370
      Use the <option>--configdir</option> option to change where
384
393
        </listitem>
385
394
      </varlistentry>
386
395
      <varlistentry>
387
 
        <term><filename>/var/run/mandos/mandos.pid</filename></term>
 
396
        <term><filename>/var/run/mandos.pid</filename></term>
388
397
        <listitem>
389
398
          <para>
390
399
            The file containing the process id of
425
434
      Currently, if a client is declared <quote>invalid</quote> due to
426
435
      having timed out, the server does not record this fact onto
427
436
      permanent storage.  This has some security implications, see
428
 
      <xref linkend="CLIENTS"/>.
 
437
      <xref linkend="clients"/>.
429
438
    </para>
430
439
    <para>
431
440
      There is currently no way of querying the server of the current
439
448
      Debug mode is conflated with running in the foreground.
440
449
    </para>
441
450
    <para>
442
 
      The console log messages does not show a timestamp.
 
451
      The console log messages do not show a time stamp.
 
452
    </para>
 
453
    <para>
 
454
      This server does not check the expire time of clients’ OpenPGP
 
455
      keys.
443
456
    </para>
444
457
  </refsect1>
445
458
  
480
493
      </para>
481
494
    </informalexample>
482
495
  </refsect1>
483
 
 
 
496
  
484
497
  <refsect1 id="security">
485
498
    <title>SECURITY</title>
486
 
    <refsect2 id="SERVER">
 
499
    <refsect2 id="server">
487
500
      <title>SERVER</title>
488
501
      <para>
489
502
        Running this <command>&COMMANDNAME;</command> server program
490
503
        should not in itself present any security risk to the host
491
 
        computer running it.  The program does not need any special
492
 
        privileges to run, and is designed to run as a non-root user.
 
504
        computer running it.  The program switches to a non-root user
 
505
        soon after startup.
493
506
      </para>
494
507
    </refsect2>
495
 
    <refsect2 id="CLIENTS">
 
508
    <refsect2 id="clients">
496
509
      <title>CLIENTS</title>
497
510
      <para>
498
511
        The server only gives out its stored data to clients which
505
518
        <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
506
519
        <manvolnum>5</manvolnum></citerefentry>)
507
520
        <emphasis>must</emphasis> be made non-readable by anyone
508
 
        except the user running the server.
 
521
        except the user starting the server (usually root).
509
522
      </para>
510
523
      <para>
511
524
        As detailed in <xref linkend="checking"/>, the status of all
522
535
        restarting servers if it is suspected that a client has, in
523
536
        fact, been compromised by parties who may now be running a
524
537
        fake Mandos client with the keys from the non-encrypted
525
 
        initial RAM image of the client host.  What should be done in
526
 
        that case (if restarting the server program really is
527
 
        necessary) is to stop the server program, edit the
 
538
        initial <acronym>RAM</acronym> image of the client host.  What
 
539
        should be done in that case (if restarting the server program
 
540
        really is necessary) is to stop the server program, edit the
528
541
        configuration file to omit any suspect clients, and restart
529
542
        the server program.
530
543
      </para>
531
544
      <para>
532
545
        For more details on client-side security, see
533
 
        <citerefentry><refentrytitle>password-request</refentrytitle>
 
546
        <citerefentry><refentrytitle>mandos-client</refentrytitle>
534
547
        <manvolnum>8mandos</manvolnum></citerefentry>.
535
548
      </para>
536
549
    </refsect2>
537
550
  </refsect1>
538
 
 
 
551
  
539
552
  <refsect1 id="see_also">
540
553
    <title>SEE ALSO</title>
541
554
    <para>
544
557
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
545
558
        <refentrytitle>mandos.conf</refentrytitle>
546
559
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
547
 
        <refentrytitle>password-request</refentrytitle>
 
560
        <refentrytitle>mandos-client</refentrytitle>
548
561
        <manvolnum>8mandos</manvolnum></citerefentry>, <citerefentry>
549
562
        <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
550
563
      </citerefentry>