/mandos/release

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

« back to all changes in this revision

Viewing changes to mandos.xml

* debian/control (Build-Depends): Bug fix: Added "docbook-xml".

* mandos (main): Keep running even if no clients are defined.

* mandos.xml (OPTIONS): Bug fix: Close unclosed <para> tag.
  (D-BUS INTERFACE): Changed id to "dbus_interface".  All references
                     changed.

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-30">
 
5
<!ENTITY TIMESTAMP "2009-01-04">
 
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>
34
35
      <holder>Teddy Hogeborn</holder>
35
36
      <holder>Björn Påhlsson</holder>
36
37
    </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>
 
38
    <xi:include href="legalnotice.xml"/>
60
39
  </refentryinfo>
61
 
 
 
40
  
62
41
  <refmeta>
63
42
    <refentrytitle>&COMMANDNAME;</refentrytitle>
64
43
    <manvolnum>8</manvolnum>
70
49
      Gives encrypted passwords to authenticated Mandos clients
71
50
    </refpurpose>
72
51
  </refnamediv>
73
 
 
 
52
  
74
53
  <refsynopsisdiv>
75
54
    <cmdsynopsis>
76
55
      <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>
 
56
      <group>
 
57
        <arg choice="plain"><option>--interface
 
58
        <replaceable>NAME</replaceable></option></arg>
 
59
        <arg choice="plain"><option>-i
 
60
        <replaceable>NAME</replaceable></option></arg>
 
61
      </group>
 
62
      <sbr/>
 
63
      <group>
 
64
        <arg choice="plain"><option>--address
 
65
        <replaceable>ADDRESS</replaceable></option></arg>
 
66
        <arg choice="plain"><option>-a
 
67
        <replaceable>ADDRESS</replaceable></option></arg>
 
68
      </group>
 
69
      <sbr/>
 
70
      <group>
 
71
        <arg choice="plain"><option>--port
 
72
        <replaceable>PORT</replaceable></option></arg>
 
73
        <arg choice="plain"><option>-p
 
74
        <replaceable>PORT</replaceable></option></arg>
 
75
      </group>
 
76
      <sbr/>
 
77
      <arg><option>--priority
 
78
      <replaceable>PRIORITY</replaceable></option></arg>
 
79
      <sbr/>
 
80
      <arg><option>--servicename
 
81
      <replaceable>NAME</replaceable></option></arg>
 
82
      <sbr/>
 
83
      <arg><option>--configdir
 
84
      <replaceable>DIRECTORY</replaceable></option></arg>
 
85
      <sbr/>
 
86
      <arg><option>--debug</option></arg>
 
87
      <sbr/>
 
88
      <arg><option>--no-dbus</option></arg>
94
89
    </cmdsynopsis>
95
90
    <cmdsynopsis>
96
91
      <command>&COMMANDNAME;</command>
97
92
      <group choice="req">
98
 
        <arg choice="plain">-h</arg>
99
 
        <arg choice="plain">--help</arg>
 
93
        <arg choice="plain"><option>--help</option></arg>
 
94
        <arg choice="plain"><option>-h</option></arg>
100
95
      </group>
101
96
    </cmdsynopsis>
102
97
    <cmdsynopsis>
103
98
      <command>&COMMANDNAME;</command>
104
 
      <arg choice="plain">--version</arg>
 
99
      <arg choice="plain"><option>--version</option></arg>
105
100
    </cmdsynopsis>
106
101
    <cmdsynopsis>
107
102
      <command>&COMMANDNAME;</command>
108
 
      <arg choice="plain">--check</arg>
 
103
      <arg choice="plain"><option>--check</option></arg>
109
104
    </cmdsynopsis>
110
105
  </refsynopsisdiv>
111
 
 
 
106
  
112
107
  <refsect1 id="description">
113
108
    <title>DESCRIPTION</title>
114
109
    <para>
123
118
      Any authenticated client is then given the stored pre-encrypted
124
119
      password for that specific client.
125
120
    </para>
126
 
 
127
121
  </refsect1>
128
122
  
129
123
  <refsect1 id="purpose">
130
124
    <title>PURPOSE</title>
131
 
 
132
125
    <para>
133
126
      The purpose of this is to enable <emphasis>remote and unattended
134
127
      rebooting</emphasis> of client host computer with an
135
128
      <emphasis>encrypted root file system</emphasis>.  See <xref
136
129
      linkend="overview"/> for details.
137
130
    </para>
138
 
 
139
131
  </refsect1>
140
132
  
141
133
  <refsect1 id="options">
142
134
    <title>OPTIONS</title>
143
 
 
144
135
    <variablelist>
145
136
      <varlistentry>
 
137
        <term><option>--help</option></term>
146
138
        <term><option>-h</option></term>
147
 
        <term><option>--help</option></term>
148
139
        <listitem>
149
140
          <para>
150
141
            Show a help message and exit
151
142
          </para>
152
143
        </listitem>
153
144
      </varlistentry>
154
 
 
 
145
      
155
146
      <varlistentry>
 
147
        <term><option>--interface</option>
 
148
        <replaceable>NAME</replaceable></term>
156
149
        <term><option>-i</option>
157
150
        <replaceable>NAME</replaceable></term>
158
 
        <term><option>--interface</option>
159
 
        <replaceable>NAME</replaceable></term>
160
151
        <listitem>
161
152
          <xi:include href="mandos-options.xml" xpointer="interface"/>
162
153
        </listitem>
163
154
      </varlistentry>
164
 
 
 
155
      
165
156
      <varlistentry>
166
 
        <term><literal>-a</literal>, <literal>--address <replaceable>
167
 
        ADDRESS</replaceable></literal></term>
 
157
        <term><option>--address
 
158
        <replaceable>ADDRESS</replaceable></option></term>
 
159
        <term><option>-a
 
160
        <replaceable>ADDRESS</replaceable></option></term>
168
161
        <listitem>
169
162
          <xi:include href="mandos-options.xml" xpointer="address"/>
170
163
        </listitem>
171
164
      </varlistentry>
172
 
 
 
165
      
173
166
      <varlistentry>
174
 
        <term><literal>-p</literal>, <literal>--port <replaceable>
175
 
        PORT</replaceable></literal></term>
 
167
        <term><option>--port
 
168
        <replaceable>PORT</replaceable></option></term>
 
169
        <term><option>-p
 
170
        <replaceable>PORT</replaceable></option></term>
176
171
        <listitem>
177
172
          <xi:include href="mandos-options.xml" xpointer="port"/>
178
173
        </listitem>
179
174
      </varlistentry>
180
 
 
 
175
      
181
176
      <varlistentry>
182
 
        <term><literal>--check</literal></term>
 
177
        <term><option>--check</option></term>
183
178
        <listitem>
184
179
          <para>
185
180
            Run the server’s self-tests.  This includes any unit
187
182
          </para>
188
183
        </listitem>
189
184
      </varlistentry>
190
 
 
 
185
      
191
186
      <varlistentry>
192
 
        <term><literal>--debug</literal></term>
 
187
        <term><option>--debug</option></term>
193
188
        <listitem>
194
189
          <xi:include href="mandos-options.xml" xpointer="debug"/>
195
190
        </listitem>
196
191
      </varlistentry>
197
 
 
 
192
      
198
193
      <varlistentry>
199
 
        <term><literal>--priority <replaceable>
200
 
        PRIORITY</replaceable></literal></term>
 
194
        <term><option>--priority <replaceable>
 
195
        PRIORITY</replaceable></option></term>
201
196
        <listitem>
202
197
          <xi:include href="mandos-options.xml" xpointer="priority"/>
203
198
        </listitem>
204
199
      </varlistentry>
205
 
 
 
200
      
206
201
      <varlistentry>
207
 
        <term><literal>--servicename <replaceable>NAME</replaceable>
208
 
        </literal></term>
 
202
        <term><option>--servicename
 
203
        <replaceable>NAME</replaceable></option></term>
209
204
        <listitem>
210
205
          <xi:include href="mandos-options.xml"
211
206
                      xpointer="servicename"/>
212
207
        </listitem>
213
208
      </varlistentry>
214
 
 
 
209
      
215
210
      <varlistentry>
216
 
        <term><literal>--configdir <replaceable>DIR</replaceable>
217
 
        </literal></term>
 
211
        <term><option>--configdir
 
212
        <replaceable>DIRECTORY</replaceable></option></term>
218
213
        <listitem>
219
214
          <para>
220
215
            Directory to search for configuration files.  Default is
226
221
          </para>
227
222
        </listitem>
228
223
      </varlistentry>
229
 
 
 
224
      
230
225
      <varlistentry>
231
 
        <term><literal>--version</literal></term>
 
226
        <term><option>--version</option></term>
232
227
        <listitem>
233
228
          <para>
234
229
            Prints the program version and exit.
235
230
          </para>
236
231
        </listitem>
237
232
      </varlistentry>
 
233
      
 
234
      <varlistentry>
 
235
        <term><option>--no-dbus</option></term>
 
236
        <listitem>
 
237
          <xi:include href="mandos-options.xml" xpointer="dbus"/>
 
238
          <para>
 
239
            See also <xref linkend="dbus_interface"/>.
 
240
          </para>
 
241
        </listitem>
 
242
      </varlistentry>
238
243
    </variablelist>
239
244
  </refsect1>
240
 
 
 
245
  
241
246
  <refsect1 id="overview">
242
247
    <title>OVERVIEW</title>
243
248
    <xi:include href="overview.xml"/>
244
249
    <para>
245
250
      This program is the server part.  It is a normal server program
246
251
      and will run in a normal system environment, not in an initial
247
 
      RAM disk environment.
 
252
      <acronym>RAM</acronym> disk environment.
248
253
    </para>
249
254
  </refsect1>
250
 
 
 
255
  
251
256
  <refsect1 id="protocol">
252
257
    <title>NETWORK PROTOCOL</title>
253
258
    <para>
305
310
      </row>
306
311
    </tbody></tgroup></table>
307
312
  </refsect1>
308
 
 
 
313
  
309
314
  <refsect1 id="checking">
310
315
    <title>CHECKING</title>
311
316
    <para>
319
324
      <manvolnum>5</manvolnum></citerefentry>.
320
325
    </para>
321
326
  </refsect1>
322
 
 
 
327
  
323
328
  <refsect1 id="logging">
324
329
    <title>LOGGING</title>
325
330
    <para>
329
334
      and also show them on the console.
330
335
    </para>
331
336
  </refsect1>
 
337
  
 
338
  <refsect1 id="dbus_interface">
 
339
    <title>D-BUS INTERFACE</title>
 
340
    <para>
 
341
      The server will by default provide a D-Bus system bus interface.
 
342
      This interface will only be accessible by the root user or a
 
343
      Mandos-specific user, if such a user exists.
 
344
      <!-- XXX -->
 
345
    </para>
 
346
  </refsect1>
332
347
 
333
348
  <refsect1 id="exit_status">
334
349
    <title>EXIT STATUS</title>
337
352
      critical error is encountered.
338
353
    </para>
339
354
  </refsect1>
340
 
 
 
355
  
341
356
  <refsect1 id="environment">
342
357
    <title>ENVIRONMENT</title>
343
358
    <variablelist>
357
372
      </varlistentry>
358
373
    </variablelist>
359
374
  </refsect1>
360
 
 
361
 
  <refsect1 id="file">
 
375
  
 
376
  <refsect1 id="files">
362
377
    <title>FILES</title>
363
378
    <para>
364
379
      Use the <option>--configdir</option> option to change where
387
402
        </listitem>
388
403
      </varlistentry>
389
404
      <varlistentry>
390
 
        <term><filename>/var/run/mandos/mandos.pid</filename></term>
 
405
        <term><filename>/var/run/mandos.pid</filename></term>
391
406
        <listitem>
392
407
          <para>
393
408
            The file containing the process id of
428
443
      Currently, if a client is declared <quote>invalid</quote> due to
429
444
      having timed out, the server does not record this fact onto
430
445
      permanent storage.  This has some security implications, see
431
 
      <xref linkend="CLIENTS"/>.
 
446
      <xref linkend="clients"/>.
432
447
    </para>
433
448
    <para>
434
449
      There is currently no way of querying the server of the current
442
457
      Debug mode is conflated with running in the foreground.
443
458
    </para>
444
459
    <para>
445
 
      The console log messages does not show a timestamp.
 
460
      The console log messages does not show a time stamp.
 
461
    </para>
 
462
    <para>
 
463
      This server does not check the expire time of clients’ OpenPGP
 
464
      keys.
446
465
    </para>
447
466
  </refsect1>
448
467
  
483
502
      </para>
484
503
    </informalexample>
485
504
  </refsect1>
486
 
 
 
505
  
487
506
  <refsect1 id="security">
488
507
    <title>SECURITY</title>
489
 
    <refsect2 id="SERVER">
 
508
    <refsect2 id="server">
490
509
      <title>SERVER</title>
491
510
      <para>
492
511
        Running this <command>&COMMANDNAME;</command> server program
493
512
        should not in itself present any security risk to the host
494
 
        computer running it.  The program does not need any special
495
 
        privileges to run, and is designed to run as a non-root user.
 
513
        computer running it.  The program switches to a non-root user
 
514
        soon after startup.
496
515
      </para>
497
516
    </refsect2>
498
 
    <refsect2 id="CLIENTS">
 
517
    <refsect2 id="clients">
499
518
      <title>CLIENTS</title>
500
519
      <para>
501
520
        The server only gives out its stored data to clients which
508
527
        <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
509
528
        <manvolnum>5</manvolnum></citerefentry>)
510
529
        <emphasis>must</emphasis> be made non-readable by anyone
511
 
        except the user running the server.
 
530
        except the user starting the server (usually root).
512
531
      </para>
513
532
      <para>
514
533
        As detailed in <xref linkend="checking"/>, the status of all
525
544
        restarting servers if it is suspected that a client has, in
526
545
        fact, been compromised by parties who may now be running a
527
546
        fake Mandos client with the keys from the non-encrypted
528
 
        initial RAM image of the client host.  What should be done in
529
 
        that case (if restarting the server program really is
530
 
        necessary) is to stop the server program, edit the
 
547
        initial <acronym>RAM</acronym> image of the client host.  What
 
548
        should be done in that case (if restarting the server program
 
549
        really is necessary) is to stop the server program, edit the
531
550
        configuration file to omit any suspect clients, and restart
532
551
        the server program.
533
552
      </para>
534
553
      <para>
535
554
        For more details on client-side security, see
536
 
        <citerefentry><refentrytitle>password-request</refentrytitle>
 
555
        <citerefentry><refentrytitle>mandos-client</refentrytitle>
537
556
        <manvolnum>8mandos</manvolnum></citerefentry>.
538
557
      </para>
539
558
    </refsect2>
540
559
  </refsect1>
541
 
 
 
560
  
542
561
  <refsect1 id="see_also">
543
562
    <title>SEE ALSO</title>
544
563
    <para>
547
566
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
548
567
        <refentrytitle>mandos.conf</refentrytitle>
549
568
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
550
 
        <refentrytitle>password-request</refentrytitle>
 
569
        <refentrytitle>mandos-client</refentrytitle>
551
570
        <manvolnum>8mandos</manvolnum></citerefentry>, <citerefentry>
552
571
        <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
553
572
      </citerefentry>