/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 Hogeborn
  • Date: 2009-04-17 01:16:37 UTC
  • Revision ID: teddy@fukt.bsnet.se-20090417011637-bcqjpm7fskm4370v
Code cleanup and one bug fix.

* mandos (Client.enable): Bug fix: Do not enable if already enabled.
  (MandosServer.__init__): Create empty set of clients if none passed.
  (main): Do not create clients set; do not pass a clients set to
          MandosServer.  Use tcp_server.clients throughout.

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-31">
 
5
<!ENTITY TIMESTAMP "2009-02-15">
 
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>
70
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>
105
85
      <replaceable>DIRECTORY</replaceable></option></arg>
106
86
      <sbr/>
107
87
      <arg><option>--debug</option></arg>
 
88
      <sbr/>
 
89
      <arg><option>--no-dbus</option></arg>
 
90
      <sbr/>
 
91
      <arg><option>--no-ipv6</option></arg>
108
92
    </cmdsynopsis>
109
93
    <cmdsynopsis>
110
94
      <command>&COMMANDNAME;</command>
122
106
      <arg choice="plain"><option>--check</option></arg>
123
107
    </cmdsynopsis>
124
108
  </refsynopsisdiv>
125
 
 
 
109
  
126
110
  <refsect1 id="description">
127
111
    <title>DESCRIPTION</title>
128
112
    <para>
137
121
      Any authenticated client is then given the stored pre-encrypted
138
122
      password for that specific client.
139
123
    </para>
140
 
 
141
124
  </refsect1>
142
125
  
143
126
  <refsect1 id="purpose">
144
127
    <title>PURPOSE</title>
145
 
 
146
128
    <para>
147
129
      The purpose of this is to enable <emphasis>remote and unattended
148
130
      rebooting</emphasis> of client host computer with an
149
131
      <emphasis>encrypted root file system</emphasis>.  See <xref
150
132
      linkend="overview"/> for details.
151
133
    </para>
152
 
    
153
134
  </refsect1>
154
135
  
155
136
  <refsect1 id="options">
156
137
    <title>OPTIONS</title>
157
 
    
158
138
    <variablelist>
159
139
      <varlistentry>
160
140
        <term><option>--help</option></term>
212
192
          <xi:include href="mandos-options.xml" xpointer="debug"/>
213
193
        </listitem>
214
194
      </varlistentry>
215
 
 
 
195
      
216
196
      <varlistentry>
217
197
        <term><option>--priority <replaceable>
218
198
        PRIORITY</replaceable></option></term>
220
200
          <xi:include href="mandos-options.xml" xpointer="priority"/>
221
201
        </listitem>
222
202
      </varlistentry>
223
 
 
 
203
      
224
204
      <varlistentry>
225
205
        <term><option>--servicename
226
206
        <replaceable>NAME</replaceable></option></term>
229
209
                      xpointer="servicename"/>
230
210
        </listitem>
231
211
      </varlistentry>
232
 
 
 
212
      
233
213
      <varlistentry>
234
214
        <term><option>--configdir
235
215
        <replaceable>DIRECTORY</replaceable></option></term>
244
224
          </para>
245
225
        </listitem>
246
226
      </varlistentry>
247
 
 
 
227
      
248
228
      <varlistentry>
249
229
        <term><option>--version</option></term>
250
230
        <listitem>
253
233
          </para>
254
234
        </listitem>
255
235
      </varlistentry>
 
236
      
 
237
      <varlistentry>
 
238
        <term><option>--no-dbus</option></term>
 
239
        <listitem>
 
240
          <xi:include href="mandos-options.xml" xpointer="dbus"/>
 
241
          <para>
 
242
            See also <xref linkend="dbus_interface"/>.
 
243
          </para>
 
244
        </listitem>
 
245
      </varlistentry>
 
246
      
 
247
      <varlistentry>
 
248
        <term><option>--no-ipv6</option></term>
 
249
        <listitem>
 
250
          <xi:include href="mandos-options.xml" xpointer="ipv6"/>
 
251
        </listitem>
 
252
      </varlistentry>
256
253
    </variablelist>
257
254
  </refsect1>
258
 
 
 
255
  
259
256
  <refsect1 id="overview">
260
257
    <title>OVERVIEW</title>
261
258
    <xi:include href="overview.xml"/>
262
259
    <para>
263
260
      This program is the server part.  It is a normal server program
264
261
      and will run in a normal system environment, not in an initial
265
 
      RAM disk environment.
 
262
      <acronym>RAM</acronym> disk environment.
266
263
    </para>
267
264
  </refsect1>
268
 
 
 
265
  
269
266
  <refsect1 id="protocol">
270
267
    <title>NETWORK PROTOCOL</title>
271
268
    <para>
323
320
      </row>
324
321
    </tbody></tgroup></table>
325
322
  </refsect1>
326
 
 
 
323
  
327
324
  <refsect1 id="checking">
328
325
    <title>CHECKING</title>
329
326
    <para>
337
334
      <manvolnum>5</manvolnum></citerefentry>.
338
335
    </para>
339
336
  </refsect1>
340
 
 
 
337
  
341
338
  <refsect1 id="logging">
342
339
    <title>LOGGING</title>
343
340
    <para>
347
344
      and also show them on the console.
348
345
    </para>
349
346
  </refsect1>
350
 
 
 
347
  
 
348
  <refsect1 id="dbus_interface">
 
349
    <title>D-BUS INTERFACE</title>
 
350
    <para>
 
351
      The server will by default provide a D-Bus system bus interface.
 
352
      This interface will only be accessible by the root user or a
 
353
      Mandos-specific user, if such a user exists.
 
354
      <!-- XXX -->
 
355
    </para>
 
356
  </refsect1>
 
357
  
351
358
  <refsect1 id="exit_status">
352
359
    <title>EXIT STATUS</title>
353
360
    <para>
355
362
      critical error is encountered.
356
363
    </para>
357
364
  </refsect1>
358
 
 
 
365
  
359
366
  <refsect1 id="environment">
360
367
    <title>ENVIRONMENT</title>
361
368
    <variablelist>
375
382
      </varlistentry>
376
383
    </variablelist>
377
384
  </refsect1>
378
 
 
379
 
  <refsect1 id="file">
 
385
  
 
386
  <refsect1 id="files">
380
387
    <title>FILES</title>
381
388
    <para>
382
389
      Use the <option>--configdir</option> option to change where
405
412
        </listitem>
406
413
      </varlistentry>
407
414
      <varlistentry>
408
 
        <term><filename>/var/run/mandos/mandos.pid</filename></term>
 
415
        <term><filename>/var/run/mandos.pid</filename></term>
409
416
        <listitem>
410
417
          <para>
411
418
            The file containing the process id of
446
453
      Currently, if a client is declared <quote>invalid</quote> due to
447
454
      having timed out, the server does not record this fact onto
448
455
      permanent storage.  This has some security implications, see
449
 
      <xref linkend="CLIENTS"/>.
 
456
      <xref linkend="clients"/>.
450
457
    </para>
451
458
    <para>
452
459
      There is currently no way of querying the server of the current
460
467
      Debug mode is conflated with running in the foreground.
461
468
    </para>
462
469
    <para>
463
 
      The console log messages does not show a timestamp.
 
470
      The console log messages do not show a time stamp.
 
471
    </para>
 
472
    <para>
 
473
      This server does not check the expire time of clients’ OpenPGP
 
474
      keys.
464
475
    </para>
465
476
  </refsect1>
466
477
  
501
512
      </para>
502
513
    </informalexample>
503
514
  </refsect1>
504
 
 
 
515
  
505
516
  <refsect1 id="security">
506
517
    <title>SECURITY</title>
507
 
    <refsect2 id="SERVER">
 
518
    <refsect2 id="server">
508
519
      <title>SERVER</title>
509
520
      <para>
510
521
        Running this <command>&COMMANDNAME;</command> server program
511
522
        should not in itself present any security risk to the host
512
 
        computer running it.  The program does not need any special
513
 
        privileges to run, and is designed to run as a non-root user.
 
523
        computer running it.  The program switches to a non-root user
 
524
        soon after startup.
514
525
      </para>
515
526
    </refsect2>
516
 
    <refsect2 id="CLIENTS">
 
527
    <refsect2 id="clients">
517
528
      <title>CLIENTS</title>
518
529
      <para>
519
530
        The server only gives out its stored data to clients which
526
537
        <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
527
538
        <manvolnum>5</manvolnum></citerefentry>)
528
539
        <emphasis>must</emphasis> be made non-readable by anyone
529
 
        except the user running the server.
 
540
        except the user starting the server (usually root).
530
541
      </para>
531
542
      <para>
532
543
        As detailed in <xref linkend="checking"/>, the status of all
543
554
        restarting servers if it is suspected that a client has, in
544
555
        fact, been compromised by parties who may now be running a
545
556
        fake Mandos client with the keys from the non-encrypted
546
 
        initial RAM image of the client host.  What should be done in
547
 
        that case (if restarting the server program really is
548
 
        necessary) is to stop the server program, edit the
 
557
        initial <acronym>RAM</acronym> image of the client host.  What
 
558
        should be done in that case (if restarting the server program
 
559
        really is necessary) is to stop the server program, edit the
549
560
        configuration file to omit any suspect clients, and restart
550
561
        the server program.
551
562
      </para>
552
563
      <para>
553
564
        For more details on client-side security, see
554
 
        <citerefentry><refentrytitle>password-request</refentrytitle>
 
565
        <citerefentry><refentrytitle>mandos-client</refentrytitle>
555
566
        <manvolnum>8mandos</manvolnum></citerefentry>.
556
567
      </para>
557
568
    </refsect2>
558
569
  </refsect1>
559
 
 
 
570
  
560
571
  <refsect1 id="see_also">
561
572
    <title>SEE ALSO</title>
562
573
    <para>
565
576
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
566
577
        <refentrytitle>mandos.conf</refentrytitle>
567
578
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
568
 
        <refentrytitle>password-request</refentrytitle>
 
579
        <refentrytitle>mandos-client</refentrytitle>
569
580
        <manvolnum>8mandos</manvolnum></citerefentry>, <citerefentry>
570
581
        <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
571
582
      </citerefentry>