/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

Rearranged so plugins and processes is the same thing

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">
4
5
<!ENTITY COMMANDNAME "mandos">
5
 
<!ENTITY TIMESTAMP "2009-09-17">
6
 
<!ENTITY % common SYSTEM "common.ent">
7
 
%common;
 
6
<!ENTITY TIMESTAMP "2008-08-30">
8
7
]>
9
8
 
10
9
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
11
 
   <refentryinfo>
 
10
  <refentryinfo>
12
11
    <title>Mandos Manual</title>
13
12
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
14
13
    <productname>Mandos</productname>
15
 
    <productnumber>&version;</productnumber>
 
14
    <productnumber>&VERSION;</productnumber>
16
15
    <date>&TIMESTAMP;</date>
17
16
    <authorgroup>
18
17
      <author>
32
31
    </authorgroup>
33
32
    <copyright>
34
33
      <year>2008</year>
35
 
      <year>2009</year>
36
34
      <holder>Teddy Hogeborn</holder>
37
35
      <holder>Björn Påhlsson</holder>
38
36
    </copyright>
39
 
    <xi:include href="legalnotice.xml"/>
 
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>
40
60
  </refentryinfo>
41
 
  
 
61
 
42
62
  <refmeta>
43
63
    <refentrytitle>&COMMANDNAME;</refentrytitle>
44
64
    <manvolnum>8</manvolnum>
50
70
      Gives encrypted passwords to authenticated Mandos clients
51
71
    </refpurpose>
52
72
  </refnamediv>
53
 
  
 
73
 
54
74
  <refsynopsisdiv>
55
75
    <cmdsynopsis>
56
76
      <command>&COMMANDNAME;</command>
85
105
      <replaceable>DIRECTORY</replaceable></option></arg>
86
106
      <sbr/>
87
107
      <arg><option>--debug</option></arg>
88
 
      <sbr/>
89
 
      <arg><option>--no-ipv6</option></arg>
90
108
    </cmdsynopsis>
91
109
    <cmdsynopsis>
92
110
      <command>&COMMANDNAME;</command>
93
111
      <group choice="req">
 
112
        <arg choice="plain"><option>-h</option></arg>
94
113
        <arg choice="plain"><option>--help</option></arg>
95
 
        <arg choice="plain"><option>-h</option></arg>
96
114
      </group>
97
115
    </cmdsynopsis>
98
116
    <cmdsynopsis>
104
122
      <arg choice="plain"><option>--check</option></arg>
105
123
    </cmdsynopsis>
106
124
  </refsynopsisdiv>
107
 
  
 
125
 
108
126
  <refsect1 id="description">
109
127
    <title>DESCRIPTION</title>
110
128
    <para>
119
137
      Any authenticated client is then given the stored pre-encrypted
120
138
      password for that specific client.
121
139
    </para>
 
140
 
122
141
  </refsect1>
123
142
  
124
143
  <refsect1 id="purpose">
125
144
    <title>PURPOSE</title>
 
145
 
126
146
    <para>
127
147
      The purpose of this is to enable <emphasis>remote and unattended
128
148
      rebooting</emphasis> of client host computer with an
129
149
      <emphasis>encrypted root file system</emphasis>.  See <xref
130
150
      linkend="overview"/> for details.
131
151
    </para>
 
152
 
132
153
  </refsect1>
133
154
  
134
155
  <refsect1 id="options">
135
156
    <title>OPTIONS</title>
 
157
 
136
158
    <variablelist>
137
159
      <varlistentry>
 
160
        <term><option>-h</option></term>
138
161
        <term><option>--help</option></term>
139
 
        <term><option>-h</option></term>
140
162
        <listitem>
141
163
          <para>
142
164
            Show a help message and exit
143
165
          </para>
144
166
        </listitem>
145
167
      </varlistentry>
146
 
      
 
168
 
147
169
      <varlistentry>
 
170
        <term><option>-i</option>
 
171
        <replaceable>NAME</replaceable></term>
148
172
        <term><option>--interface</option>
149
173
        <replaceable>NAME</replaceable></term>
150
 
        <term><option>-i</option>
151
 
        <replaceable>NAME</replaceable></term>
152
174
        <listitem>
153
175
          <xi:include href="mandos-options.xml" xpointer="interface"/>
154
176
        </listitem>
155
177
      </varlistentry>
156
 
      
 
178
 
157
179
      <varlistentry>
158
 
        <term><option>--address
159
 
        <replaceable>ADDRESS</replaceable></option></term>
160
 
        <term><option>-a
161
 
        <replaceable>ADDRESS</replaceable></option></term>
 
180
        <term><literal>-a</literal>, <literal>--address <replaceable>
 
181
        ADDRESS</replaceable></literal></term>
162
182
        <listitem>
163
183
          <xi:include href="mandos-options.xml" xpointer="address"/>
164
184
        </listitem>
165
185
      </varlistentry>
166
 
      
 
186
 
167
187
      <varlistentry>
168
 
        <term><option>--port
169
 
        <replaceable>PORT</replaceable></option></term>
170
 
        <term><option>-p
171
 
        <replaceable>PORT</replaceable></option></term>
 
188
        <term><literal>-p</literal>, <literal>--port <replaceable>
 
189
        PORT</replaceable></literal></term>
172
190
        <listitem>
173
191
          <xi:include href="mandos-options.xml" xpointer="port"/>
174
192
        </listitem>
175
193
      </varlistentry>
176
 
      
 
194
 
177
195
      <varlistentry>
178
 
        <term><option>--check</option></term>
 
196
        <term><literal>--check</literal></term>
179
197
        <listitem>
180
198
          <para>
181
199
            Run the server’s self-tests.  This includes any unit
183
201
          </para>
184
202
        </listitem>
185
203
      </varlistentry>
186
 
      
 
204
 
187
205
      <varlistentry>
188
 
        <term><option>--debug</option></term>
 
206
        <term><literal>--debug</literal></term>
189
207
        <listitem>
190
208
          <xi:include href="mandos-options.xml" xpointer="debug"/>
191
209
        </listitem>
192
210
      </varlistentry>
193
 
      
 
211
 
194
212
      <varlistentry>
195
 
        <term><option>--priority <replaceable>
196
 
        PRIORITY</replaceable></option></term>
 
213
        <term><literal>--priority <replaceable>
 
214
        PRIORITY</replaceable></literal></term>
197
215
        <listitem>
198
216
          <xi:include href="mandos-options.xml" xpointer="priority"/>
199
217
        </listitem>
200
218
      </varlistentry>
201
 
      
 
219
 
202
220
      <varlistentry>
203
 
        <term><option>--servicename
204
 
        <replaceable>NAME</replaceable></option></term>
 
221
        <term><literal>--servicename <replaceable>NAME</replaceable>
 
222
        </literal></term>
205
223
        <listitem>
206
224
          <xi:include href="mandos-options.xml"
207
225
                      xpointer="servicename"/>
208
226
        </listitem>
209
227
      </varlistentry>
210
 
      
 
228
 
211
229
      <varlistentry>
212
 
        <term><option>--configdir
213
 
        <replaceable>DIRECTORY</replaceable></option></term>
 
230
        <term><literal>--configdir <replaceable>DIR</replaceable>
 
231
        </literal></term>
214
232
        <listitem>
215
233
          <para>
216
234
            Directory to search for configuration files.  Default is
222
240
          </para>
223
241
        </listitem>
224
242
      </varlistentry>
225
 
      
 
243
 
226
244
      <varlistentry>
227
 
        <term><option>--version</option></term>
 
245
        <term><literal>--version</literal></term>
228
246
        <listitem>
229
247
          <para>
230
248
            Prints the program version and exit.
231
249
          </para>
232
250
        </listitem>
233
251
      </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>
241
252
    </variablelist>
242
253
  </refsect1>
243
 
  
 
254
 
244
255
  <refsect1 id="overview">
245
256
    <title>OVERVIEW</title>
246
257
    <xi:include href="overview.xml"/>
247
258
    <para>
248
259
      This program is the server part.  It is a normal server program
249
260
      and will run in a normal system environment, not in an initial
250
 
      <acronym>RAM</acronym> disk environment.
 
261
      RAM disk environment.
251
262
    </para>
252
263
  </refsect1>
253
 
  
 
264
 
254
265
  <refsect1 id="protocol">
255
266
    <title>NETWORK PROTOCOL</title>
256
267
    <para>
308
319
      </row>
309
320
    </tbody></tgroup></table>
310
321
  </refsect1>
311
 
  
 
322
 
312
323
  <refsect1 id="checking">
313
324
    <title>CHECKING</title>
314
325
    <para>
315
326
      The server will, by default, continually check that the clients
316
327
      are still up.  If a client has not been confirmed as being up
317
328
      for some time, the client is assumed to be compromised and is no
318
 
      longer eligible to receive the encrypted password.  (Manual
319
 
      intervention is required to re-enable a client.)  The timeout,
 
329
      longer eligible to receive the encrypted password.  The timeout,
320
330
      checker program, and interval between checks can be configured
321
331
      both globally and per client; see <citerefentry>
322
332
      <refentrytitle>mandos-clients.conf</refentrytitle>
323
 
      <manvolnum>5</manvolnum></citerefentry>.  A client successfully
324
 
      receiving its password will also be treated as a successful
325
 
      checker run.
 
333
      <manvolnum>5</manvolnum></citerefentry>.
326
334
    </para>
327
335
  </refsect1>
328
 
  
 
336
 
329
337
  <refsect1 id="logging">
330
338
    <title>LOGGING</title>
331
339
    <para>
335
343
      and also show them on the console.
336
344
    </para>
337
345
  </refsect1>
338
 
  
 
346
 
339
347
  <refsect1 id="exit_status">
340
348
    <title>EXIT STATUS</title>
341
349
    <para>
343
351
      critical error is encountered.
344
352
    </para>
345
353
  </refsect1>
346
 
  
 
354
 
347
355
  <refsect1 id="environment">
348
356
    <title>ENVIRONMENT</title>
349
357
    <variablelist>
363
371
      </varlistentry>
364
372
    </variablelist>
365
373
  </refsect1>
366
 
  
367
 
  <refsect1 id="files">
 
374
 
 
375
  <refsect1 id="file">
368
376
    <title>FILES</title>
369
377
    <para>
370
378
      Use the <option>--configdir</option> option to change where
393
401
        </listitem>
394
402
      </varlistentry>
395
403
      <varlistentry>
396
 
        <term><filename>/var/run/mandos.pid</filename></term>
 
404
        <term><filename>/var/run/mandos/mandos.pid</filename></term>
397
405
        <listitem>
398
406
          <para>
399
407
            The file containing the process id of
434
442
      Currently, if a client is declared <quote>invalid</quote> due to
435
443
      having timed out, the server does not record this fact onto
436
444
      permanent storage.  This has some security implications, see
437
 
      <xref linkend="clients"/>.
 
445
      <xref linkend="CLIENTS"/>.
438
446
    </para>
439
447
    <para>
440
448
      There is currently no way of querying the server of the current
448
456
      Debug mode is conflated with running in the foreground.
449
457
    </para>
450
458
    <para>
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.
 
459
      The console log messages does not show a timestamp.
456
460
    </para>
457
461
  </refsect1>
458
462
  
493
497
      </para>
494
498
    </informalexample>
495
499
  </refsect1>
496
 
  
 
500
 
497
501
  <refsect1 id="security">
498
502
    <title>SECURITY</title>
499
 
    <refsect2 id="server">
 
503
    <refsect2 id="SERVER">
500
504
      <title>SERVER</title>
501
505
      <para>
502
506
        Running this <command>&COMMANDNAME;</command> server program
503
507
        should not in itself present any security risk to the host
504
 
        computer running it.  The program switches to a non-root user
505
 
        soon after startup.
 
508
        computer running it.  The program does not need any special
 
509
        privileges to run, and is designed to run as a non-root user.
506
510
      </para>
507
511
    </refsect2>
508
 
    <refsect2 id="clients">
 
512
    <refsect2 id="CLIENTS">
509
513
      <title>CLIENTS</title>
510
514
      <para>
511
515
        The server only gives out its stored data to clients which
518
522
        <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
519
523
        <manvolnum>5</manvolnum></citerefentry>)
520
524
        <emphasis>must</emphasis> be made non-readable by anyone
521
 
        except the user starting the server (usually root).
 
525
        except the user running the server.
522
526
      </para>
523
527
      <para>
524
528
        As detailed in <xref linkend="checking"/>, the status of all
535
539
        restarting servers if it is suspected that a client has, in
536
540
        fact, been compromised by parties who may now be running a
537
541
        fake Mandos client with the keys from the non-encrypted
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
 
542
        initial RAM image of the client host.  What should be done in
 
543
        that case (if restarting the server program really is
 
544
        necessary) is to stop the server program, edit the
541
545
        configuration file to omit any suspect clients, and restart
542
546
        the server program.
543
547
      </para>
544
548
      <para>
545
549
        For more details on client-side security, see
546
 
        <citerefentry><refentrytitle>mandos-client</refentrytitle>
 
550
        <citerefentry><refentrytitle>password-request</refentrytitle>
547
551
        <manvolnum>8mandos</manvolnum></citerefentry>.
548
552
      </para>
549
553
    </refsect2>
550
554
  </refsect1>
551
 
  
 
555
 
552
556
  <refsect1 id="see_also">
553
557
    <title>SEE ALSO</title>
554
558
    <para>
557
561
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
558
562
        <refentrytitle>mandos.conf</refentrytitle>
559
563
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
560
 
        <refentrytitle>mandos-client</refentrytitle>
 
564
        <refentrytitle>password-request</refentrytitle>
561
565
        <manvolnum>8mandos</manvolnum></citerefentry>, <citerefentry>
562
566
        <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
563
567
      </citerefentry>