/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-clients.conf.xml

  • Committer: Teddy Hogeborn
  • Date: 2015-03-10 18:03:38 UTC
  • Revision ID: teddy@recompile.se-20150310180338-pcxw6r2qmw9k6br9
Add ":!RSA" to GnuTLS priority string, to disallow non-DHE kx.

If Mandos was somehow made to use a non-ephemeral Diffie-Hellman key
exchange algorithm in the TLS handshake, any saved network traffic
could then be decrypted later if the Mandos client key was obtained.
By default, Mandos uses ephemeral DH key exchanges which does not have
this problem, but a non-ephemeral key exchange algorithm was still
enabled by default.  The simplest solution is to simply turn that off,
which ensures that Mandos will always use ephemeral DH key exchanges.

There is a "PFS" priority string specifier, but we can't use it because:

1. Security-wise, it is a mix between "NORMAL" and "SECURE128" - it
   enables a lot more algorithms than "SECURE256".

2. It is only available since GnuTLS 3.2.4.

Thanks to Andreas Fischer <af@bantuX.org> for reporting this issue.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
4
<!ENTITY CONFNAME "mandos-clients.conf">
5
5
<!ENTITY CONFPATH "<filename>/etc/mandos/clients.conf</filename>">
6
 
<!ENTITY TIMESTAMP "2012-05-12">
 
6
<!ENTITY TIMESTAMP "2014-06-22">
7
7
<!ENTITY % common SYSTEM "common.ent">
8
8
%common;
9
9
]>
117
117
          <para>
118
118
            How long to wait for external approval before resorting to
119
119
            use the <option>approved_by_default</option> value.  The
120
 
            default is <quote>0s</quote>, i.e. not to wait.
 
120
            default is <quote>PT0S</quote>, i.e. not to wait.
121
121
          </para>
122
122
          <para>
123
123
            The format of <replaceable>TIME</replaceable> is the same
167
167
            This option is <emphasis>optional</emphasis>.
168
168
          </para>
169
169
          <para>
170
 
            This option allows you to override the default shell
171
 
            command that the server will use to check if the client is
172
 
            still up.  Any output of the command will be ignored, only
173
 
            the exit code is checked:  If the exit code of the command
174
 
            is zero, the client is considered up.  The command will be
175
 
            run using <quote><command><filename>/bin/sh</filename>
 
170
            This option overrides the default shell command that the
 
171
            server will use to check if the client is still up.  Any
 
172
            output of the command will be ignored, only the exit code
 
173
            is checked:  If the exit code of the command is zero, the
 
174
            client is considered up.  The command will be run using
 
175
            <quote><command><filename>/bin/sh</filename>
176
176
            <option>-c</option></command></quote>, so
177
177
            <varname>PATH</varname> will be searched.  The default
178
178
            value for the checker command is <quote><literal
179
179
            ><command>fping</command> <option>-q</option> <option
180
 
            >--</option> %%(host)s</literal></quote>.
 
180
            >--</option> %%(host)s</literal></quote>.  Note that
 
181
            <command>mandos-keygen</command>, when generating output
 
182
            to be inserted into this file, normally looks for an SSH
 
183
            server on the Mandos client, and, if it find one, outputs
 
184
            a <option>checker</option> option to check for the
 
185
            client’s key fingerprint – this is more secure against
 
186
            spoofing.
181
187
          </para>
182
188
          <para>
183
189
            In addition to normal start time expansion, this option
335
341
            <option>extended_timeout</option> option.
336
342
          </para>
337
343
          <para>
338
 
            The <replaceable>TIME</replaceable> is specified as a
339
 
            space-separated number of values, each of which is a
340
 
            number and a one-character suffix.  The suffix must be one
341
 
            of <quote>d</quote>, <quote>s</quote>, <quote>m</quote>,
342
 
            <quote>h</quote>, and <quote>w</quote> for days, seconds,
343
 
            minutes, hours, and weeks, respectively.  The values are
344
 
            added together to give the total time value, so all of
345
 
            <quote><literal>330s</literal></quote>,
346
 
            <quote><literal>110s 110s 110s</literal></quote>, and
347
 
            <quote><literal>5m 30s</literal></quote> will give a value
348
 
            of five minutes and thirty seconds.
 
344
            The <replaceable>TIME</replaceable> is specified as an RFC
 
345
            3339 duration; for example
 
346
            <quote><literal>P1Y2M3DT4H5M6S</literal></quote> meaning
 
347
            one year, two months, three days, four hours, five
 
348
            minutes, and six seconds.  Some values can be omitted, see
 
349
            RFC 3339 Appendix A for details.
349
350
          </para>
350
351
        </listitem>
351
352
      </varlistentry>
465
466
    <informalexample>
466
467
      <programlisting>
467
468
[DEFAULT]
468
 
timeout = 5m
469
 
interval = 2m
 
469
timeout = PT5M
 
470
interval = PT2M
470
471
checker = fping -q -- %%(host)s
471
472
 
472
473
# Client "foo"
489
490
        4T2zw4dxS5NswXWU0sVEXxjs6PYxuIiCTL7vdpx8QjBkrPWDrAbcMyBr2O
490
491
        QlnHIvPzEArRQLo=
491
492
host = foo.example.org
492
 
interval = 1m
 
493
interval = PT1M
493
494
 
494
495
# Client "bar"
495
496
[bar]
496
497
fingerprint = 3e393aeaefb84c7e89e2f547b3a107558fca3a27
497
498
secfile = /etc/mandos/bar-secret
498
 
timeout = 15m
 
499
timeout = PT15M
499
500
approved_by_default = False
500
 
approval_delay = 30s
 
501
approval_delay = PT30S
501
502
      </programlisting>
502
503
    </informalexample>
503
504
  </refsect1>
512
513
      <citerefentry><refentrytitle>mandos.conf</refentrytitle>
513
514
      <manvolnum>5</manvolnum></citerefentry>,
514
515
      <citerefentry><refentrytitle>mandos</refentrytitle>
 
516
      <manvolnum>8</manvolnum></citerefentry>,
 
517
      <citerefentry><refentrytitle>fping</refentrytitle>
515
518
      <manvolnum>8</manvolnum></citerefentry>
516
519
    </para>
 
520
    <variablelist>
 
521
      <varlistentry>
 
522
        <term>
 
523
          RFC 3339: <citetitle>Date and Time on the Internet:
 
524
          Timestamps</citetitle>
 
525
        </term>
 
526
      <listitem>
 
527
        <para>
 
528
          The time intervals are in the "duration" format, as
 
529
          specified in ABNF in Appendix A of RFC 3339.
 
530
        </para>
 
531
      </listitem>
 
532
      </varlistentry>
 
533
    </variablelist>
517
534
  </refsect1>
518
535
</refentry>
519
536
<!-- Local Variables: -->