On Fri, Apr 12, 2019 at 12:34:16PM -0400, micah anderson wrote:

> > Any reasonably recent version of OpenSSL will by default favour stronger
> > ciphers, including listing ciphers that do forward-secrecy above the rest.
> > For example, with OpenSSL 1.0.2 I get:
> 
> Indeed, you are right, if I simply set `tls_preempt_cipher_list=yes`,
> then this will work that way.

Yes, I think this is by now unlikely to cause any issues.

> > That said, I would recommend reducing the attack surface by dropping some
> > ciphers nobody is using that would not be a good idea to use:
> >
> >     smtpd_tls_exclude_ciphers = aDSS, kDH, kECDH, SEED, IDEA
> 
> what about aNULL, MD5 and DES? They seem relatively safe to disable as well

* You don't need to explicitly disable (single) DES, it is already
  taken care of by setting the cipher grade to medium (or high).
  Perhaps you meant 3DES, yes, you can add that to the list.

  I have (ditt for the client settings):

    smtpd_tls_exclude_ciphers =
            #
            # Disable MD5, DSA, SRP and PSK, and the "exotic" fixed DH cipher 
suites.
            #
            MD5, SRP, PSK, aDSS, kECDH, kDH,
            #
            # Also disable the largely unused SEED, IDEA, RC2, RC5, ...
            # leaving just AES, CAMELLIA, RC4 and 3DES.
            #
            SEED, IDEA, RC2, RC5

  I don't actually end up with 3DES or RC4, (along with RC2 or RC5)
  they're by default disabled at compile time in OpenSSL 1.1.1:

    $ openssl ciphers -ciphersuites "" -v 3DES:RC4:IDEA:SEED:RC2:RC5
    IDEA-CBC-SHA            SSLv3 Kx=RSA      Au=RSA  Enc=IDEA(128) Mac=SHA1
    DHE-RSA-SEED-SHA        SSLv3 Kx=DH       Au=RSA  Enc=SEED(128) Mac=SHA1
    DHE-DSS-SEED-SHA        SSLv3 Kx=DH       Au=DSS  Enc=SEED(128) Mac=SHA1
    ADH-SEED-SHA            SSLv3 Kx=DH       Au=None Enc=SEED(128) Mac=SHA1
    SEED-SHA                SSLv3 Kx=RSA      Au=RSA  Enc=SEED(128) Mac=SHA1

* If your cipher grade is medium, you should probably disable MD5, which
  eliminates at most two ciphers:

    $ OpenSSL_1_0_2/bin/openssl ciphers -v 'MEDIUM+MD5'
    ADH-RC4-MD5             SSLv3 Kx=DH       Au=None Enc=RC4(128)  Mac=MD5
    RC4-MD5                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5

* As for aNULL, it is no longer available when TLS 1.3 is negotiated. :-(
  Recent IETF consensus is to drop ballast and batten down the
  hatches.  If your use-case is not mainstream enough, out it goes.

  That said, see https://tools.ietf.org/html/rfc7672#section-8.2

-- 
        Viktor.

Reply via email to