/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: Björn Påhlsson
  • Date: 2011-06-23 22:27:15 UTC
  • mto: This revision was merged to the branch mainline in revision 485.
  • Revision ID: belorn@fukt.bsnet.se-20110623222715-q5wro9ma9iyjl367
* Makefile (CFLAGS): Added "-lrt" to include real time library.
* plugins.d/mandos-client.c: use scandir(3) instead of readdir(3)
                             Prefix all debug output with "Mandos plugin " + program_invocation_short_name
                             Retry servers that failed to provide password.
                             New option --retry SECONDS that sets the interval between rechecking.
                             --retry also controls how often it retries a server when using --connect.
* plugins.d/splashy.c:  Prefix all debug output with "Mandos plugin " + program_invocation_short_name
* plugins.d/usplash.c: --||--
* plugins.d/askpass-fifo.c: --||--
* plugins.d/password-prompt.c: --||--
* plugins.d/plymouth.c: --||--
* mandos: Lower logger level from warning to info on failed client requests because client was disabled or unknown fingerprint.
* plugins.d/plymouth.c (get_pid): bug fix. Was not calling free on direntries. 

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 "2009-02-15">
 
5
<!ENTITY TIMESTAMP "2011-02-27">
6
6
<!ENTITY % common SYSTEM "common.ent">
7
7
%common;
8
8
]>
33
33
    <copyright>
34
34
      <year>2008</year>
35
35
      <year>2009</year>
 
36
      <year>2010</year>
 
37
      <year>2011</year>
36
38
      <holder>Teddy Hogeborn</holder>
37
39
      <holder>Björn Påhlsson</holder>
38
40
    </copyright>
86
88
      <sbr/>
87
89
      <arg><option>--debug</option></arg>
88
90
      <sbr/>
 
91
      <arg><option>--debuglevel
 
92
      <replaceable>LEVEL</replaceable></option></arg>
 
93
      <sbr/>
89
94
      <arg><option>--no-dbus</option></arg>
90
95
      <sbr/>
91
96
      <arg><option>--no-ipv6</option></arg>
194
199
      </varlistentry>
195
200
      
196
201
      <varlistentry>
 
202
        <term><option>--debuglevel
 
203
        <replaceable>LEVEL</replaceable></option></term>
 
204
        <listitem>
 
205
          <para>
 
206
            Set the debugging log level.
 
207
            <replaceable>LEVEL</replaceable> is a string, one of
 
208
            <quote><literal>CRITICAL</literal></quote>,
 
209
            <quote><literal>ERROR</literal></quote>,
 
210
            <quote><literal>WARNING</literal></quote>,
 
211
            <quote><literal>INFO</literal></quote>, or
 
212
            <quote><literal>DEBUG</literal></quote>, in order of
 
213
            increasing verbosity.  The default level is
 
214
            <quote><literal>WARNING</literal></quote>.
 
215
          </para>
 
216
        </listitem>
 
217
      </varlistentry>
 
218
      
 
219
      <varlistentry>
197
220
        <term><option>--priority <replaceable>
198
221
        PRIORITY</replaceable></option></term>
199
222
        <listitem>
327
350
      The server will, by default, continually check that the clients
328
351
      are still up.  If a client has not been confirmed as being up
329
352
      for some time, the client is assumed to be compromised and is no
330
 
      longer eligible to receive the encrypted password.  The timeout,
 
353
      longer eligible to receive the encrypted password.  (Manual
 
354
      intervention is required to re-enable a client.)  The timeout,
331
355
      checker program, and interval between checks can be configured
332
356
      both globally and per client; see <citerefentry>
333
357
      <refentrytitle>mandos-clients.conf</refentrytitle>
334
 
      <manvolnum>5</manvolnum></citerefentry>.
335
 
    </para>
 
358
      <manvolnum>5</manvolnum></citerefentry>.  A client successfully
 
359
      receiving its password will also be treated as a successful
 
360
      checker run.
 
361
    </para>
 
362
  </refsect1>
 
363
  
 
364
  <refsect1 id="approval">
 
365
    <title>APPROVAL</title>
 
366
    <para>
 
367
      The server can be configured to require manual approval for a
 
368
      client before it is sent its secret.  The delay to wait for such
 
369
      approval and the default action (approve or deny) can be
 
370
      configured both globally and per client; see <citerefentry>
 
371
      <refentrytitle>mandos-clients.conf</refentrytitle>
 
372
      <manvolnum>5</manvolnum></citerefentry>.  By default all clients
 
373
      will be approved immediately without delay.
 
374
    </para>
 
375
    <para>
 
376
      This can be used to deny a client its secret if not manually
 
377
      approved within a specified time.  It can also be used to make
 
378
      the server delay before giving a client its secret, allowing
 
379
      optional manual denying of this specific client.
 
380
    </para>
 
381
    
336
382
  </refsect1>
337
383
  
338
384
  <refsect1 id="logging">
350
396
    <para>
351
397
      The server will by default provide a D-Bus system bus interface.
352
398
      This interface will only be accessible by the root user or a
353
 
      Mandos-specific user, if such a user exists.
354
 
      <!-- XXX -->
 
399
      Mandos-specific user, if such a user exists.  For documentation
 
400
      of the D-Bus API, see the file <filename>DBUS-API</filename>.
355
401
    </para>
356
402
  </refsect1>
357
403
  
415
461
        <term><filename>/var/run/mandos.pid</filename></term>
416
462
        <listitem>
417
463
          <para>
418
 
            The file containing the process id of
419
 
            <command>&COMMANDNAME;</command>.
 
464
            The file containing the process id of the
 
465
            <command>&COMMANDNAME;</command> process started last.
420
466
          </para>
421
467
        </listitem>
422
468
      </varlistentry>
450
496
      backtrace.  This could be considered a feature.
451
497
    </para>
452
498
    <para>
453
 
      Currently, if a client is declared <quote>invalid</quote> due to
454
 
      having timed out, the server does not record this fact onto
455
 
      permanent storage.  This has some security implications, see
456
 
      <xref linkend="clients"/>.
457
 
    </para>
458
 
    <para>
459
 
      There is currently no way of querying the server of the current
460
 
      status of clients, other than analyzing its <systemitem
461
 
      class="service">syslog</systemitem> output.
 
499
      Currently, if a client is disabled due to having timed out, the
 
500
      server does not record this fact onto permanent storage.  This
 
501
      has some security implications, see <xref linkend="clients"/>.
462
502
    </para>
463
503
    <para>
464
504
      There is no fine-grained control over logging and debug output.
546
586
      </para>
547
587
      <para>
548
588
        If a client is compromised, its downtime should be duly noted
549
 
        by the server which would therefore declare the client
550
 
        invalid.  But if the server was ever restarted, it would
551
 
        re-read its client list from its configuration file and again
552
 
        regard all clients therein as valid, and hence eligible to
553
 
        receive their passwords.  Therefore, be careful when
554
 
        restarting servers if it is suspected that a client has, in
555
 
        fact, been compromised by parties who may now be running a
556
 
        fake Mandos client with the keys from the non-encrypted
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
560
 
        configuration file to omit any suspect clients, and restart
561
 
        the server program.
 
589
        by the server which would therefore disable the client.  But
 
590
        if the server was ever restarted, it would re-read its client
 
591
        list from its configuration file and again regard all clients
 
592
        therein as enabled, and hence eligible to receive their
 
593
        passwords.  Therefore, be careful when restarting servers if
 
594
        it is suspected that a client has, in fact, been compromised
 
595
        by parties who may now be running a fake Mandos client with
 
596
        the keys from the non-encrypted initial <acronym>RAM</acronym>
 
597
        image of the client host.  What should be done in that case
 
598
        (if restarting the server program really is necessary) is to
 
599
        stop the server program, edit the configuration file to omit
 
600
        any suspect clients, and restart the server program.
562
601
      </para>
563
602
      <para>
564
603
        For more details on client-side security, see