/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 plugins.d/mandos-client.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:
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-client">
5
 
<!ENTITY TIMESTAMP "2018-02-08">
 
5
<!ENTITY TIMESTAMP "2014-06-22">
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>
38
36
      <year>2012</year>
39
37
      <year>2013</year>
40
38
      <year>2014</year>
41
 
      <year>2015</year>
42
 
      <year>2016</year>
43
 
      <year>2017</year>
44
 
      <year>2018</year>
45
39
      <holder>Teddy Hogeborn</holder>
46
40
      <holder>Björn Påhlsson</holder>
47
41
    </copyright>
104
98
      </arg>
105
99
      <sbr/>
106
100
      <arg>
107
 
        <option>--dh-params <replaceable>FILE</replaceable></option>
108
 
      </arg>
109
 
      <sbr/>
110
 
      <arg>
111
101
        <option>--delay <replaceable>SECONDS</replaceable></option>
112
102
      </arg>
113
103
      <sbr/>
321
311
        <listitem>
322
312
          <para>
323
313
            Sets the number of bits to use for the prime number in the
324
 
            TLS Diffie-Hellman key exchange.  The default value is
325
 
            selected automatically based on the OpenPGP key.  Note
326
 
            that if the <option>--dh-params</option> option is used,
327
 
            the values from that file will be used instead.
328
 
          </para>
329
 
        </listitem>
330
 
      </varlistentry>
331
 
      
332
 
      <varlistentry>
333
 
        <term><option>--dh-params=<replaceable
334
 
        >FILE</replaceable></option></term>
335
 
        <listitem>
336
 
          <para>
337
 
            Specifies a PEM-encoded PKCS#3 file to read the parameters
338
 
            needed by the TLS Diffie-Hellman key exchange from.  If
339
 
            this option is not given, or if the file for some reason
340
 
            could not be used, the parameters will be generated on
341
 
            startup, which will take some time and processing power.
342
 
            Those using servers running under time, power or processor
343
 
            constraints may want to generate such a file in advance
344
 
            and use this option.
 
314
            TLS Diffie-Hellman key exchange.  Default is 1024.
345
315
          </para>
346
316
        </listitem>
347
317
      </varlistentry>
474
444
  
475
445
  <refsect1 id="environment">
476
446
    <title>ENVIRONMENT</title>
477
 
    <variablelist>
478
 
      <varlistentry>
479
 
        <term><envar>MANDOSPLUGINHELPERDIR</envar></term>
480
 
        <listitem>
481
 
          <para>
482
 
            This environment variable will be assumed to contain the
483
 
            directory containing any helper executables.  The use and
484
 
            nature of these helper executables, if any, is
485
 
            purposefully not documented.
486
 
        </para>
487
 
        </listitem>
488
 
      </varlistentry>
489
 
    </variablelist>
490
447
    <para>
491
 
      This program does not use any other environment variables, not
492
 
      even the ones provided by <citerefentry><refentrytitle
 
448
      This program does not use any environment variables, not even
 
449
      the ones provided by <citerefentry><refentrytitle
493
450
      >cryptsetup</refentrytitle><manvolnum>8</manvolnum>
494
451
    </citerefentry>.
495
452
    </para>
695
652
    </variablelist>
696
653
  </refsect1>
697
654
  
698
 
  <refsect1 id="bugs">
699
 
    <title>BUGS</title>
700
 
    <xi:include href="../bugs.xml"/>
701
 
  </refsect1>
 
655
<!--   <refsect1 id="bugs"> -->
 
656
<!--     <title>BUGS</title> -->
 
657
<!--     <para> -->
 
658
<!--     </para> -->
 
659
<!--   </refsect1> -->
702
660
  
703
661
  <refsect1 id="example">
704
662
    <title>EXAMPLE</title>
844
802
      </varlistentry>
845
803
      <varlistentry>
846
804
        <term>
847
 
          <ulink url="https://www.gnutls.org/">GnuTLS</ulink>
 
805
          <ulink url="http://www.gnu.org/software/gnutls/"
 
806
          >GnuTLS</ulink>
848
807
        </term>
849
808
      <listitem>
850
809
        <para>
856
815
      </varlistentry>
857
816
      <varlistentry>
858
817
        <term>
859
 
          <ulink url="https://www.gnupg.org/related_software/gpgme/"
 
818
          <ulink url="http://www.gnupg.org/related_software/gpgme/"
860
819
                 >GPGME</ulink>
861
820
        </term>
862
821
        <listitem>
900
859
      </varlistentry>
901
860
      <varlistentry>
902
861
        <term>
903
 
          RFC 5246: <citetitle>The Transport Layer Security (TLS)
904
 
          Protocol Version 1.2</citetitle>
 
862
          RFC 4346: <citetitle>The Transport Layer Security (TLS)
 
863
          Protocol Version 1.1</citetitle>
905
864
        </term>
906
865
      <listitem>
907
866
        <para>
908
 
          TLS 1.2 is the protocol implemented by GnuTLS.
 
867
          TLS 1.1 is the protocol implemented by GnuTLS.
909
868
        </para>
910
869
      </listitem>
911
870
      </varlistentry>
922
881
      </varlistentry>
923
882
      <varlistentry>
924
883
        <term>
925
 
          RFC 6091: <citetitle>Using OpenPGP Keys for Transport Layer
 
884
          RFC 5081: <citetitle>Using OpenPGP Keys for Transport Layer
926
885
          Security</citetitle>
927
886
        </term>
928
887
      <listitem>