> On Jul 31, 2017, at 4:55 PM, robg...@nospammail.net wrote:
> 
> "why use "aNULL:-aNULL:" in Postfix default cipherlists?"

(Note that's "aNULL:-aNULL:..." not "aNULL:!aNULL:...").

This ensures that anon-DHE/anon-ECDHE ciphers are actually used when
mutually enabled and authentication is off at the client.

   https://tools.ietf.org/html/rfc7672#section-8.2

Sadly, this will no longer be possible once (a decade or two from now)
TLS 1.3 is the dominant protocol version, as TLS 1.3 drops support for
the anon ciphersuites.

> I get that.
> 
> If instead you use MANDATORY tls policy, == encrypt, do you need to redefine 
> the cipherlist to REMOVE that "aNull:-aNull"?

The "encrypt" security level is still unauthenticated.  Don't
confuse data confidentiality with channel integrity.  Postfix
will automatically suppress anon ciphers when configured to
authenticate the remote server.  The security levels where that
happens are:

        * dane
        * dane-only
        * fingerprint
        * secure
        * verify

The Postfix TLS interface is designed for people who have better things to do 
than having to tinker with obscure low-level crypto interfaces.  You're not 
expected to need to know about or tweak the cipherlists.

Just go with (default in current supported versions of Postfix):

        smtp_tls_ciphers = medium
        smtp_tls_mandatory_ciphers = high    (if supported by all destinations 
in question)

        smtp_tls_protocols = !SSLv2, !SSLv3
        smtp_tls_mandatory_protocols = !SSLv2, !SSLv3

Further fine-tuning is available for experts and generally not required.

It is somewhat unfortunate that to work around some quirks in Exchange 2003
(mostly gone now) I've had to post examples of pruned cipherlists that make
TLS work against these crippled servers:

        smtp_tls_exclude_ciphers = ...

Few users understand this subtle interface, and I see examples of nonsensical
variants from time to time.  The defaults are sufficiently secure and further
tuning belongs in OpenSSL not Postfix (OpenSSL 1.1.0 drops RC4 ciphers at
compile time for example, and IIRC re-classifies 3DES as "MEDIUM", it used
to be "HIGH").

-- 
        Viktor.

Reply via email to