Update and clarify ssl_ciphers default
- Write HIGH:MEDIUM instead of DEFAULT:!LOW:!EXP for clarity. - Order 3DES last to work around inappropriate OpenSSL default. - Remove !MD5 and @STRENGTH, because they are irrelevant. - Add clarifying documentation. Effectively, the new default is almost the same as the old one, but it is arguably easier to understand and modify. Author: Marko Kreen <markokr@gmail.com>
This commit is contained in:
parent
848ae330a4
commit
32001ab0b7
@ -889,12 +889,71 @@ include 'filename'
|
|||||||
</indexterm>
|
</indexterm>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies a list of <acronym>SSL</> ciphers that are allowed to be
|
Specifies a list of <acronym>SSL</> cipher suites that are allowed to be
|
||||||
used on secure connections. See
|
used on secure connections. See
|
||||||
the <citerefentry><refentrytitle>ciphers</></citerefentry> manual page
|
the <citerefentry><refentrytitle>ciphers</></citerefentry> manual page
|
||||||
in the <application>OpenSSL</> package for the syntax of this setting
|
in the <application>OpenSSL</> package for the syntax of this setting
|
||||||
and a list of supported values. The default value is usually
|
and a list of supported values. The default value is
|
||||||
reasonable, unless you have specific security requirements.
|
<literal>HIGH:MEDIUM:+3DES:!aNULL</>. It is usually reasonable,
|
||||||
|
unless you have specific security requirements.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Explanation of the default value:
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><literal>HIGH</literal></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Cipher suites that use ciphers from <literal>HIGH</> group (e.g.,
|
||||||
|
AES, Camellia, 3DES)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><literal>MEDIUM</literal></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Cipher suites that use ciphers from <literal>MEDIUM</> group
|
||||||
|
(e.g., RC4, SEED)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><literal>+3DES</literal></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The OpenSSL default order for <literal>HIGH</> is problematic
|
||||||
|
because it orders 3DES higher than AES128. This is wrong because
|
||||||
|
3DES offers less security than AES128, and it is also much
|
||||||
|
slower. <literal>+3DES</> reorders it after all other
|
||||||
|
<literal>HIGH</> and <literal>MEDIUM</> ciphers.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><literal>!aNULL</literal></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Disables anonymous cipher suites that do no authentication. Such
|
||||||
|
cipher suites are vulnerable to man-in-the-middle attacks and
|
||||||
|
therefore should not be used.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Available cipher suite details will vary across OpenSSL versions. Use
|
||||||
|
the command
|
||||||
|
<literal>openssl ciphers -v 'HIGH:MEDIUM:+3DES:!aNULL'</literal> to
|
||||||
|
see actual details for the currently installed <application>OpenSSL</>
|
||||||
|
version. Note that this list is filtered at run time based on the
|
||||||
|
server key type.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -3237,7 +3237,7 @@ static struct config_string ConfigureNamesString[] =
|
|||||||
},
|
},
|
||||||
&SSLCipherSuites,
|
&SSLCipherSuites,
|
||||||
#ifdef USE_SSL
|
#ifdef USE_SSL
|
||||||
"DEFAULT:!LOW:!EXP:!MD5:@STRENGTH",
|
"HIGH:MEDIUM:+3DES:!aNULL",
|
||||||
#else
|
#else
|
||||||
"none",
|
"none",
|
||||||
#endif
|
#endif
|
||||||
|
@ -79,7 +79,7 @@
|
|||||||
|
|
||||||
#authentication_timeout = 1min # 1s-600s
|
#authentication_timeout = 1min # 1s-600s
|
||||||
#ssl = off # (change requires restart)
|
#ssl = off # (change requires restart)
|
||||||
#ssl_ciphers = 'DEFAULT:!LOW:!EXP:!MD5:@STRENGTH' # allowed SSL ciphers
|
#ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
|
||||||
# (change requires restart)
|
# (change requires restart)
|
||||||
#ssl_prefer_server_ciphers = on # (change requires restart)
|
#ssl_prefer_server_ciphers = on # (change requires restart)
|
||||||
#ssl_ecdh_curve = 'prime256v1' # (change requires restart)
|
#ssl_ecdh_curve = 'prime256v1' # (change requires restart)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user