/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-02-12 18:56:52 UTC
  • Revision ID: teddy@fukt.bsnet.se-20090212185652-ast00yprt2pe2l4p
Overflows are not detected by sscanf(), so stop using it:

* plugin-runner.c (main/parse_opt): Change from using "sscanf()" to
                                    "strtoimax()".
* plugins.d/mandos-client.c (main/parse_opt, main): Change from using
                                                    "sscanf()" to
                                                    "strtoimax()" and
                                                    "strtof()".
* splashy.c (main): Change from using "sscanf()" to "strtoimax()".
* usplash.c (main): - '' -

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-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>
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
39
    <xi:include href="legalnotice.xml"/>
38
40
  </refentryinfo>
39
 
 
 
41
  
40
42
  <refmeta>
41
43
    <refentrytitle>&COMMANDNAME;</refentrytitle>
42
44
    <manvolnum>8</manvolnum>
48
50
      Gives encrypted passwords to authenticated Mandos clients
49
51
    </refpurpose>
50
52
  </refnamediv>
51
 
 
 
53
  
52
54
  <refsynopsisdiv>
53
55
    <cmdsynopsis>
54
56
      <command>&COMMANDNAME;</command>
83
85
      <replaceable>DIRECTORY</replaceable></option></arg>
84
86
      <sbr/>
85
87
      <arg><option>--debug</option></arg>
 
88
      <sbr/>
 
89
      <arg><option>--no-dbus</option></arg>
86
90
    </cmdsynopsis>
87
91
    <cmdsynopsis>
88
92
      <command>&COMMANDNAME;</command>
100
104
      <arg choice="plain"><option>--check</option></arg>
101
105
    </cmdsynopsis>
102
106
  </refsynopsisdiv>
103
 
 
 
107
  
104
108
  <refsect1 id="description">
105
109
    <title>DESCRIPTION</title>
106
110
    <para>
115
119
      Any authenticated client is then given the stored pre-encrypted
116
120
      password for that specific client.
117
121
    </para>
118
 
 
119
122
  </refsect1>
120
123
  
121
124
  <refsect1 id="purpose">
122
125
    <title>PURPOSE</title>
123
 
 
124
126
    <para>
125
127
      The purpose of this is to enable <emphasis>remote and unattended
126
128
      rebooting</emphasis> of client host computer with an
127
129
      <emphasis>encrypted root file system</emphasis>.  See <xref
128
130
      linkend="overview"/> for details.
129
131
    </para>
130
 
    
131
132
  </refsect1>
132
133
  
133
134
  <refsect1 id="options">
134
135
    <title>OPTIONS</title>
135
 
    
136
136
    <variablelist>
137
137
      <varlistentry>
138
138
        <term><option>--help</option></term>
190
190
          <xi:include href="mandos-options.xml" xpointer="debug"/>
191
191
        </listitem>
192
192
      </varlistentry>
193
 
 
 
193
      
194
194
      <varlistentry>
195
195
        <term><option>--priority <replaceable>
196
196
        PRIORITY</replaceable></option></term>
198
198
          <xi:include href="mandos-options.xml" xpointer="priority"/>
199
199
        </listitem>
200
200
      </varlistentry>
201
 
 
 
201
      
202
202
      <varlistentry>
203
203
        <term><option>--servicename
204
204
        <replaceable>NAME</replaceable></option></term>
207
207
                      xpointer="servicename"/>
208
208
        </listitem>
209
209
      </varlistentry>
210
 
 
 
210
      
211
211
      <varlistentry>
212
212
        <term><option>--configdir
213
213
        <replaceable>DIRECTORY</replaceable></option></term>
222
222
          </para>
223
223
        </listitem>
224
224
      </varlistentry>
225
 
 
 
225
      
226
226
      <varlistentry>
227
227
        <term><option>--version</option></term>
228
228
        <listitem>
231
231
          </para>
232
232
        </listitem>
233
233
      </varlistentry>
 
234
      
 
235
      <varlistentry>
 
236
        <term><option>--no-dbus</option></term>
 
237
        <listitem>
 
238
          <xi:include href="mandos-options.xml" xpointer="dbus"/>
 
239
          <para>
 
240
            See also <xref linkend="dbus_interface"/>.
 
241
          </para>
 
242
        </listitem>
 
243
      </varlistentry>
234
244
    </variablelist>
235
245
  </refsect1>
236
 
 
 
246
  
237
247
  <refsect1 id="overview">
238
248
    <title>OVERVIEW</title>
239
249
    <xi:include href="overview.xml"/>
240
250
    <para>
241
251
      This program is the server part.  It is a normal server program
242
252
      and will run in a normal system environment, not in an initial
243
 
      RAM disk environment.
 
253
      <acronym>RAM</acronym> disk environment.
244
254
    </para>
245
255
  </refsect1>
246
 
 
 
256
  
247
257
  <refsect1 id="protocol">
248
258
    <title>NETWORK PROTOCOL</title>
249
259
    <para>
301
311
      </row>
302
312
    </tbody></tgroup></table>
303
313
  </refsect1>
304
 
 
 
314
  
305
315
  <refsect1 id="checking">
306
316
    <title>CHECKING</title>
307
317
    <para>
315
325
      <manvolnum>5</manvolnum></citerefentry>.
316
326
    </para>
317
327
  </refsect1>
318
 
 
 
328
  
319
329
  <refsect1 id="logging">
320
330
    <title>LOGGING</title>
321
331
    <para>
325
335
      and also show them on the console.
326
336
    </para>
327
337
  </refsect1>
 
338
  
 
339
  <refsect1 id="dbus_interface">
 
340
    <title>D-BUS INTERFACE</title>
 
341
    <para>
 
342
      The server will by default provide a D-Bus system bus interface.
 
343
      This interface will only be accessible by the root user or a
 
344
      Mandos-specific user, if such a user exists.
 
345
      <!-- XXX -->
 
346
    </para>
 
347
  </refsect1>
328
348
 
329
349
  <refsect1 id="exit_status">
330
350
    <title>EXIT STATUS</title>
333
353
      critical error is encountered.
334
354
    </para>
335
355
  </refsect1>
336
 
 
 
356
  
337
357
  <refsect1 id="environment">
338
358
    <title>ENVIRONMENT</title>
339
359
    <variablelist>
353
373
      </varlistentry>
354
374
    </variablelist>
355
375
  </refsect1>
356
 
 
357
 
  <refsect1 id="file">
 
376
  
 
377
  <refsect1 id="files">
358
378
    <title>FILES</title>
359
379
    <para>
360
380
      Use the <option>--configdir</option> option to change where
383
403
        </listitem>
384
404
      </varlistentry>
385
405
      <varlistentry>
386
 
        <term><filename>/var/run/mandos/mandos.pid</filename></term>
 
406
        <term><filename>/var/run/mandos.pid</filename></term>
387
407
        <listitem>
388
408
          <para>
389
409
            The file containing the process id of
424
444
      Currently, if a client is declared <quote>invalid</quote> due to
425
445
      having timed out, the server does not record this fact onto
426
446
      permanent storage.  This has some security implications, see
427
 
      <xref linkend="CLIENTS"/>.
 
447
      <xref linkend="clients"/>.
428
448
    </para>
429
449
    <para>
430
450
      There is currently no way of querying the server of the current
438
458
      Debug mode is conflated with running in the foreground.
439
459
    </para>
440
460
    <para>
441
 
      The console log messages does not show a timestamp.
 
461
      The console log messages does not show a time stamp.
 
462
    </para>
 
463
    <para>
 
464
      This server does not check the expire time of clients’ OpenPGP
 
465
      keys.
442
466
    </para>
443
467
  </refsect1>
444
468
  
479
503
      </para>
480
504
    </informalexample>
481
505
  </refsect1>
482
 
 
 
506
  
483
507
  <refsect1 id="security">
484
508
    <title>SECURITY</title>
485
 
    <refsect2 id="SERVER">
 
509
    <refsect2 id="server">
486
510
      <title>SERVER</title>
487
511
      <para>
488
512
        Running this <command>&COMMANDNAME;</command> server program
489
513
        should not in itself present any security risk to the host
490
 
        computer running it.  The program does not need any special
491
 
        privileges to run, and is designed to run as a non-root user.
 
514
        computer running it.  The program switches to a non-root user
 
515
        soon after startup.
492
516
      </para>
493
517
    </refsect2>
494
 
    <refsect2 id="CLIENTS">
 
518
    <refsect2 id="clients">
495
519
      <title>CLIENTS</title>
496
520
      <para>
497
521
        The server only gives out its stored data to clients which
504
528
        <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
505
529
        <manvolnum>5</manvolnum></citerefentry>)
506
530
        <emphasis>must</emphasis> be made non-readable by anyone
507
 
        except the user running the server.
 
531
        except the user starting the server (usually root).
508
532
      </para>
509
533
      <para>
510
534
        As detailed in <xref linkend="checking"/>, the status of all
521
545
        restarting servers if it is suspected that a client has, in
522
546
        fact, been compromised by parties who may now be running a
523
547
        fake Mandos client with the keys from the non-encrypted
524
 
        initial RAM image of the client host.  What should be done in
525
 
        that case (if restarting the server program really is
526
 
        necessary) is to stop the server program, edit the
 
548
        initial <acronym>RAM</acronym> image of the client host.  What
 
549
        should be done in that case (if restarting the server program
 
550
        really is necessary) is to stop the server program, edit the
527
551
        configuration file to omit any suspect clients, and restart
528
552
        the server program.
529
553
      </para>
530
554
      <para>
531
555
        For more details on client-side security, see
532
 
        <citerefentry><refentrytitle>password-request</refentrytitle>
 
556
        <citerefentry><refentrytitle>mandos-client</refentrytitle>
533
557
        <manvolnum>8mandos</manvolnum></citerefentry>.
534
558
      </para>
535
559
    </refsect2>
536
560
  </refsect1>
537
 
 
 
561
  
538
562
  <refsect1 id="see_also">
539
563
    <title>SEE ALSO</title>
540
564
    <para>
543
567
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
544
568
        <refentrytitle>mandos.conf</refentrytitle>
545
569
        <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
546
 
        <refentrytitle>password-request</refentrytitle>
 
570
        <refentrytitle>mandos-client</refentrytitle>
547
571
        <manvolnum>8mandos</manvolnum></citerefentry>, <citerefentry>
548
572
        <refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum>
549
573
      </citerefentry>