On Sun, Feb 23, 2014 at 11:57:35PM +0100, Dirk St?cker wrote:

> >When both sides are Postfix, and the client is opportunistic, the
> >server and client typically agree to a cipher-suite without any
> >certificates.  Why bother, if the client does not check anyway.
> 
> Because it allows to at to least detect if connection has been
> broken. It is a big difference for later investigation even if not
> for the mail sending at that time.

This is sadly useless.  You either have too few CAs to make it
reliable or too many to make it trustworthy.  Secure name checks
are not generally possible in the face of arbitrary MX records,
and without name checks validity of the certificate chain is
meaningless.

> Seems Postfix still need to learn a lot about secure connections.

[ Find a newbie to lecture on some other forum. ]

> >If this is important to you, set:
> >
> >     smtp_tls_exclude_ciphers=aNULL
> >
> >for the transport that delivers mail between your internal systems.
> 
> Does not sound like what I want. I don't want to hard-code a specific
> handling for some servers, I want that the "trusted" state is logged
> properly in any possible case.

In that case, make the setting global.  That'll will provide the
desired false sense of security.

> smtp_tls_verify_certs=whenpossible

SMTP is not HTTP.  Due to MX indirection, peer authentication is
not possible without explicit per-destination configuration.  Once
you've gone to all that trouble, you may as well configure a "secure"
channel.

If you want scalable security for SMTP, become an early adopter of
DANE TLS, available in Postfix 2.11.  Today, you'll be able to
opportunistically authenticate the handful of DNSSEC signed domains
that publish TLSA records for SMTP.  Over time, I hope that handful
will grow to a decent fraction of SMTP sites.

    https://tools.ietf.org/html/draft-ietf-dane-smtp-with-dane
    http://www.postfix.org/TLS_README.html#client_tls_dane

> smtp_tls_remember_certs=yes

This is too brittle.  If the TLS TACK draft becomes is adopted as
a standards track RFC, we could look into implementing that.  It
requires a robust cache that persists across Postfix restarts, we
probably also need to let the Postfix LMDB support prove its
stability before venturing in that direction.

> and a notice when Cert changed. I.e. with a note like
> (Un)trusted (first seen at 12.01.2014, last change 23.02.2014).

Busy MTAs send mail to a lot of hosts and domains, and their
certificates change from time to time.  Naive client-initiated
pinning is too unreliable.

> Also a replacement for "may" which allows to enforce TLS for any
> connection, where TLS worked at least once would improve security.
> That way a system would get more secure the longer it is running.

Ditto.

-- 
        Viktor.

Reply via email to