/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

* mandos (transitional_dbus_metaclass): Renamed to
                                        "AlternateDBusNamesMetaclass".
                                        All users changed.  Also added
                                        comments, wrapped lines, and
                                        searching of all base classes
                                        for D-Bus attributes.  It now
                                        adds the *old* interface name,
                                        not the new one.
  (ClientDBus, MandosDBusService): Use the new interface names.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
4
<!ENTITY COMMANDNAME "mandos">
5
 
<!ENTITY TIMESTAMP "2015-07-20">
 
5
<!ENTITY TIMESTAMP "2011-08-08">
6
6
<!ENTITY % common SYSTEM "common.ent">
7
7
%common;
8
8
]>
19
19
        <firstname>Björn</firstname>
20
20
        <surname>Påhlsson</surname>
21
21
        <address>
22
 
          <email>belorn@recompile.se</email>
 
22
          <email>belorn@fukt.bsnet.se</email>
23
23
        </address>
24
24
      </author>
25
25
      <author>
26
26
        <firstname>Teddy</firstname>
27
27
        <surname>Hogeborn</surname>
28
28
        <address>
29
 
          <email>teddy@recompile.se</email>
 
29
          <email>teddy@fukt.bsnet.se</email>
30
30
        </address>
31
31
      </author>
32
32
    </authorgroup>
35
35
      <year>2009</year>
36
36
      <year>2010</year>
37
37
      <year>2011</year>
38
 
      <year>2012</year>
39
 
      <year>2013</year>
40
 
      <year>2014</year>
41
 
      <year>2015</year>
42
38
      <holder>Teddy Hogeborn</holder>
43
39
      <holder>Björn Påhlsson</holder>
44
40
    </copyright>
98
94
      <arg><option>--no-dbus</option></arg>
99
95
      <sbr/>
100
96
      <arg><option>--no-ipv6</option></arg>
101
 
      <sbr/>
102
 
      <arg><option>--no-restore</option></arg>
103
 
      <sbr/>
104
 
      <arg><option>--statedir
105
 
      <replaceable>DIRECTORY</replaceable></option></arg>
106
 
      <sbr/>
107
 
      <arg><option>--socket
108
 
      <replaceable>FD</replaceable></option></arg>
109
 
      <sbr/>
110
 
      <arg><option>--foreground</option></arg>
111
 
      <sbr/>
112
 
      <arg><option>--no-zeroconf</option></arg>
113
97
    </cmdsynopsis>
114
98
    <cmdsynopsis>
115
99
      <command>&COMMANDNAME;</command>
291
275
          <xi:include href="mandos-options.xml" xpointer="ipv6"/>
292
276
        </listitem>
293
277
      </varlistentry>
294
 
      
295
 
      <varlistentry>
296
 
        <term><option>--no-restore</option></term>
297
 
        <listitem>
298
 
          <xi:include href="mandos-options.xml" xpointer="restore"/>
299
 
          <para>
300
 
            See also <xref linkend="persistent_state"/>.
301
 
          </para>
302
 
        </listitem>
303
 
      </varlistentry>
304
 
      
305
 
      <varlistentry>
306
 
        <term><option>--statedir
307
 
        <replaceable>DIRECTORY</replaceable></option></term>
308
 
        <listitem>
309
 
          <xi:include href="mandos-options.xml" xpointer="statedir"/>
310
 
        </listitem>
311
 
      </varlistentry>
312
 
      
313
 
      <varlistentry>
314
 
        <term><option>--socket
315
 
        <replaceable>FD</replaceable></option></term>
316
 
        <listitem>
317
 
          <xi:include href="mandos-options.xml" xpointer="socket"/>
318
 
        </listitem>
319
 
      </varlistentry>
320
 
      
321
 
      <varlistentry>
322
 
        <term><option>--foreground</option></term>
323
 
        <listitem>
324
 
          <xi:include href="mandos-options.xml"
325
 
                      xpointer="foreground"/>
326
 
        </listitem>
327
 
      </varlistentry>
328
 
      
329
 
      <varlistentry>
330
 
        <term><option>--no-zeroconf</option></term>
331
 
        <listitem>
332
 
          <xi:include href="mandos-options.xml" xpointer="zeroconf"/>
333
 
        </listitem>
334
 
      </varlistentry>
335
 
      
336
278
    </variablelist>
337
279
  </refsect1>
338
280
  
415
357
      extended timeout, checker program, and interval between checks
416
358
      can be configured both globally and per client; see
417
359
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
418
 
      <manvolnum>5</manvolnum></citerefentry>.
 
360
      <manvolnum>5</manvolnum></citerefentry>.  A client successfully
 
361
      receiving its password will also be treated as a successful
 
362
      checker run.
419
363
    </para>
420
364
  </refsect1>
421
365
  
443
387
    <title>LOGGING</title>
444
388
    <para>
445
389
      The server will send log message with various severity levels to
446
 
      <filename class="devicefile">/dev/log</filename>.  With the
 
390
      <filename>/dev/log</filename>.  With the
447
391
      <option>--debug</option> option, it will log even more messages,
448
392
      and also show them on the console.
449
393
    </para>
450
394
  </refsect1>
451
395
  
452
 
  <refsect1 id="persistent_state">
453
 
    <title>PERSISTENT STATE</title>
454
 
    <para>
455
 
      Client settings, initially read from
456
 
      <filename>clients.conf</filename>, are persistent across
457
 
      restarts, and run-time changes will override settings in
458
 
      <filename>clients.conf</filename>.  However, if a setting is
459
 
      <emphasis>changed</emphasis> (or a client added, or removed) in
460
 
      <filename>clients.conf</filename>, this will take precedence.
461
 
    </para>
462
 
  </refsect1>
463
 
  
464
396
  <refsect1 id="dbus_interface">
465
397
    <title>D-BUS INTERFACE</title>
466
398
    <para>
528
460
        </listitem>
529
461
      </varlistentry>
530
462
      <varlistentry>
531
 
        <term><filename>/run/mandos.pid</filename></term>
 
463
        <term><filename>/var/run/mandos.pid</filename></term>
532
464
        <listitem>
533
465
          <para>
534
466
            The file containing the process id of the
535
467
            <command>&COMMANDNAME;</command> process started last.
536
 
            <emphasis >Note:</emphasis> If the <filename
537
 
            class="directory">/run</filename> directory does not
538
 
            exist, <filename>/var/run/mandos.pid</filename> will be
539
 
            used instead.
540
 
          </para>
541
 
        </listitem>
542
 
      </varlistentry>
543
 
      <varlistentry>
544
 
        <term><filename class="devicefile">/dev/log</filename></term>
545
 
      </varlistentry>
546
 
      <varlistentry>
547
 
        <term><filename
548
 
        class="directory">/var/lib/mandos</filename></term>
549
 
        <listitem>
550
 
          <para>
551
 
            Directory where persistent state will be saved.  Change
552
 
            this with the <option>--statedir</option> option.  See
553
 
            also the <option>--no-restore</option> option.
554
468
          </para>
555
469
        </listitem>
556
470
      </varlistentry>
584
498
      backtrace.  This could be considered a feature.
585
499
    </para>
586
500
    <para>
 
501
      Currently, if a client is disabled due to having timed out, the
 
502
      server does not record this fact onto permanent storage.  This
 
503
      has some security implications, see <xref linkend="clients"/>.
 
504
    </para>
 
505
    <para>
587
506
      There is no fine-grained control over logging and debug output.
588
507
    </para>
589
508
    <para>
 
509
      Debug mode is conflated with running in the foreground.
 
510
    </para>
 
511
    <para>
 
512
      The console log messages do not show a time stamp.
 
513
    </para>
 
514
    <para>
590
515
      This server does not check the expire time of clients’ OpenPGP
591
516
      keys.
592
517
    </para>
605
530
    <informalexample>
606
531
      <para>
607
532
        Run the server in debug mode, read configuration files from
608
 
        the <filename class="directory">~/mandos</filename> directory,
609
 
        and use the Zeroconf service name <quote>Test</quote> to not
610
 
        collide with any other official Mandos server on this host:
 
533
        the <filename>~/mandos</filename> directory, and use the
 
534
        Zeroconf service name <quote>Test</quote> to not collide with
 
535
        any other official Mandos server on this host:
611
536
      </para>
612
537
      <para>
613
538
 
662
587
        compromised if they are gone for too long.
663
588
      </para>
664
589
      <para>
 
590
        If a client is compromised, its downtime should be duly noted
 
591
        by the server which would therefore disable the client.  But
 
592
        if the server was ever restarted, it would re-read its client
 
593
        list from its configuration file and again regard all clients
 
594
        therein as enabled, and hence eligible to receive their
 
595
        passwords.  Therefore, be careful when restarting servers if
 
596
        it is suspected that a client has, in fact, been compromised
 
597
        by parties who may now be running a fake Mandos client with
 
598
        the keys from the non-encrypted initial <acronym>RAM</acronym>
 
599
        image of the client host.  What should be done in that case
 
600
        (if restarting the server program really is necessary) is to
 
601
        stop the server program, edit the configuration file to omit
 
602
        any suspect clients, and restart the server program.
 
603
      </para>
 
604
      <para>
665
605
        For more details on client-side security, see
666
606
        <citerefentry><refentrytitle>mandos-client</refentrytitle>
667
607
        <manvolnum>8mandos</manvolnum></citerefentry>.
708
648
      </varlistentry>
709
649
      <varlistentry>
710
650
        <term>
711
 
          <ulink url="http://gnutls.org/">GnuTLS</ulink>
 
651
          <ulink url="http://www.gnu.org/software/gnutls/"
 
652
          >GnuTLS</ulink>
712
653
        </term>
713
654
      <listitem>
714
655
        <para>
752
693
      </varlistentry>
753
694
      <varlistentry>
754
695
        <term>
755
 
          RFC 5246: <citetitle>The Transport Layer Security (TLS)
756
 
          Protocol Version 1.2</citetitle>
 
696
          RFC 4346: <citetitle>The Transport Layer Security (TLS)
 
697
          Protocol Version 1.1</citetitle>
757
698
        </term>
758
699
      <listitem>
759
700
        <para>
760
 
          TLS 1.2 is the protocol implemented by GnuTLS.
 
701
          TLS 1.1 is the protocol implemented by GnuTLS.
761
702
        </para>
762
703
      </listitem>
763
704
      </varlistentry>
773
714
      </varlistentry>
774
715
      <varlistentry>
775
716
        <term>
776
 
          RFC 6091: <citetitle>Using OpenPGP Keys for Transport Layer
777
 
          Security (TLS) Authentication</citetitle>
 
717
          RFC 5081: <citetitle>Using OpenPGP Keys for Transport Layer
 
718
          Security</citetitle>
778
719
        </term>
779
720
      <listitem>
780
721
        <para>