On Sun, Nov 10, 2013 at 01:37:34AM +0100, Kurt Roeckx wrote:
> > http://www.ietf.org/mail-archive/web/tls/current/msg10471.html
> 
> Can I suggest that we just change the default cipher list the
> postfix sends to the server?
> 
> I currently see this in postfix's config:
> tls_export_cipherlist = aNULL:-aNULL:ALL:+RC4:@STRENGTH
> tls_high_cipherlist = aNULL:-aNULL:ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH
> tls_low_cipherlist = aNULL:-aNULL:ALL:!EXPORT:+RC4:@STRENGTH
> tls_medium_cipherlist = aNULL:-aNULL:ALL:!EXPORT:!LOW:+RC4:@STRENGTH
> tls_null_cipherlist = eNULL:!aNULL
> 
> smtpd_tls_ciphers = export
> smtp_tls_mandatory_ciphers = medium

I guess it's important to also show:
smtp_tls_exclude_ciphers =
smtp_tls_mandatory_exclude_ciphers =

And from the manpage:
       The underlying cipherlists for grades other than "null"
       include anonymous ciphers, but these are automatically
       filtered out if the Postfix SMTP client is configured to
       verify server certificates.  You are very unlikely to need
       to take any steps to exclude anonymous ciphers, they are
       excluded automatically as necessary.  If you must exclude
       anonymous ciphers at the "may" or "encrypt" security
       levels, when the Postfix SMTP client does not need or use
       peer certificates, set "smtp_tls_exclude_ciphers = aNULL".
       To exclude anonymous ciphers only when TLS is enforced, set
       "smtp_tls_mandatory_exclude_ciphers = aNULL".

I'm a little confused by this.  I can understand that for
smtp_tls_security_level=may that you might want to allow
anonymous ciphers, since you're happy to send it to anybody or not
encrypted at all.  But I'm not sure what the encrypt level really
means.  It uses the mandatory values, but does that just accept any
certificate it sees?  Does it check the CA-path?  The hostname?  I
have a feeling it only does some of those things at the verify
level.  So I have to wonder what that level gets you more than the
may level other than a different list of acceptable ciphers.

I'm going to assume that if you set the level to fingerprint,
verify or secure that it excludes aNULL itself, even if that's
nowhere in the config file.

> The first thing I have to wonder about is why it says:
> "aNULL:-aNULL:ALL".  That doesn't seem to make sense to
> me.  You start with the anonymous ciphers, you remove
> them, but non permanent, and then you add ALL, which
> which add them again, and you just end up with "ALL".
> (But the order seems to be different, I don't really
> understand.)

The manpage actually says this about it:

    With OpenSSL 1.0.0 and later the cipherlist may start with an
    "aNULL:" prefix, which restores the 0.9.8-compatible ordering
    of the aNULL ciphers to the top of the list when they are
    enabled. This prefix is not needed with previous OpenSSL
    releases.

> You might also want to consider changing the order, for
> instance placing DES near the end, but the worst still
> at the end:
> ALL:!aNULL:!eNULL:!SRP:!PSK:@STRENGTH:+3DES:+LOW:+EXPORT

So that might need to become:
aNULL:-aNULL:ALL:+RC4:!SRP:!PSK:!SEED:!MD5:!CAMELLIA:@STRENGTH:+3DES:+LOW:+EXPORT

I had to exclude CAMELLIA to get a reasanable list again with all
those anonymous ciphers.

I also wonder why so many people have complained about this.  I
assume that they run at the may level in which case it should just
retry without encryption, and they shouldn't see any problems?


Kurt


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to