Viktor Dukhovni via Postfix-users:
> On Sun, Dec 21, 2025 at 05:58:05PM -0500, Wietse Venema via Postfix-users 
> wrote:
> 
> > I'm about to finish the Postfix 3.11 stable release so things can
> > still be changed.
> > 
> > In addition to keeping the current behavior we can also
> > 
> > - Revert the default lmtp_tls_security_level change.
> > 
> > - Limit the scope of lmtp_tls_security_level to type "inet:" connections
> > and ignore the setting for type "unix".
> > 
> > - Something else.
> > 
> > I'd like to decide this soon.
> 
> A particularly sophisticated Postfix administrator could use TLS client
> and/or server certificates to implement TLS LMTP authentication in
> either or both the server to client or client to server directions even
> with unix-domain sockets.
> 
> For this to be effective, TLS needs to be mandatory, but *encryption* of
> data transfer is not needed.  With TLS 1.2 and earlier we had access to
> null ciphers:
> 
>     $ postconf -d tls_null_cipherlist
>     tls_null_cipherlist = eNULL:!kDH:!kECDH:!aDSS:!MD5:!aNULL
> 
> Which, combined with OpenSSL security level 0, gives:
> 
>     $ openssl ciphers -v -s -tls1_2 
> 'eNULL:!kDH:!kECDH:!aDSS:!MD5:!aNULL:@SECLEVEL=0'
>     ECDHE-ECDSA-NULL-SHA           TLSv1   Kx=ECDH     Au=ECDSA Enc=None      
>              Mac=SHA1
>     ECDHE-RSA-NULL-SHA             TLSv1   Kx=ECDH     Au=RSA   Enc=None      
>              Mac=SHA1
>     NULL-SHA256                    TLSv1.2 Kx=RSA      Au=RSA   Enc=None      
>              Mac=SHA256
>     NULL-SHA                       SSLv3   Kx=RSA      Au=RSA   Enc=None      
>              Mac=SHA1
> 
> These enable peer authentication via ECDSA or RSA certificates and
> (redundant over unix-domain sockets) traffic integrity via SHA256 or
> SHA1 MACs.
> 
> With TLS 1.3, the "null" ciphers are gone, and authentication is no
> longer possible without encryption, which, with AEAD, is
> performance-competitive with the "null" MAC-only ciphers.
> 
> Bottom line, the sensible security levels with LMTP over unix-domain
> sockets are basically anything other than "may" or "dane" and
> "dane-only".
> 
> - "encrypt" is only useful if the client is authenticating to the server
>   via a TLS client certificate (that the server requests and uses for
>   access control).
> 
> - "dane" and "dane-only" are not available because there's no DNS name
>   to find the server's TLSA records.
> 
> - "fingerprint", "verify" and "secure" are all available when the client
>   is configured to verify the server's certificate.
> 
> For a majority of Postfix users, "none" is a sensible default for
> unix-domain socket LMTP delivery.  Authentication in either direction
> is likely rare, and it may be easier to restrict access to create or
> write to the LMTP socket through file permissions.

I don't think that one default TLS security level can meaningfully
cover both UNIX-domain and TCP conenctions. Maybe we need two (one
parameter for each connection type, or one list-valued parameter
that is indexed by connection type).

We can still revert lmtp_tls_security_level back to its Postfix
3.10 default (empty), and then figure out in Postfix 3.12 what
the configurtation model shuld be.

        Wietse
_______________________________________________
Postfix-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to