> On Nov 19, 2018, at 7:12 AM, J. Thomsen <l...@jth.net> wrote: > > 1) Postfix > Later I have found the posttls-finger program in the Postfix distribution, > but > the logging in this program should be present in the Postfix smtp itself > when using the > smtp_tls_loglevel parameter (and still improvements in the documentation > are needed)
Do you have a specific suggestion of what you'd like to see logged, and a specific log message format? Would this be additional log entries per connection, or more information in the summary TLS connection log entry? Is there something specific you'd like to see in the documentation? Are you in a position to contribute documentation? > 2) BIND > It has only a partial implementation of the RFC 4035 AD bit handling. > This, however, must be handled in another forum than this. > > We have been using BIND since 2001 (DNSSEC since 2013) as an authoritative > name server > for many domain names as well as a recursive resolver for all PCs on the > LAN. > It has been working flawlessly. > It is not an option to have to mess around with additional resolvers and > name servers just > to implement DANE. Does BIND return an accurate (AA, authoritative answer) bit? Would you like to see Postfix consider authoritative answers as implicitly validated? If not, what is it that you're asking for? If BIND can be coaxed into setting the (AD) bit in authoritative replies to queries that set the (RD) and (AD) bits, that would obviate any need to implicitly infer (AD) from (AA) in Postfix. > 3) TLS-SNI > Single point of failures occur, when there is only one certificate for all > virtual domains > on a server and not one for every virtual domain. If the single certificate > has expired or is > damaged, mail for all customers is locked out from using TLS connections. As already mentioned, SNI support is under development. Note that experience shows that using multiple separate MX hostnames for the same server makes DANE TLSA more fragile, because now you have more TLSA records to manage, with increased odds of neglecting to keep some of them up to date. My suggestion is to avoid *wildcard* certificates where a single certificate is used across the entire pool of MX hosts serving your domains, and is rotated at approximately the same time across all the hosts. These *have* been observed to cause outages when all the MX hosts end up with non-matching TLSA records at the same time. Otherwise, by staggering certificate rotation across a small handful (2 to 4) of MX hosts (each can have multiple IPs or be in turn a server farm behind a load-balancer), you get resilience against single points of failure without the complexity of separate certificates and TLSA records for each domain. Whatever you do, it won't be reliable if not monitored. MONITOR your systems for correctness of TLSA records and near-expiration of certificates. Finally, for each logical MX host always publish at least two TLSA records, bound to *separate* public keys, only one of which becomes outdated as you rotate your certificates. The most recommended model is: "3 1 1 + 3 1 1", where one of the published TLSA records matches the *current* public key of the SMTP server, and the other matches the *next* public key of the SMTP server, pre-generated at time of deployment of the current key, to become the next key when it is time to renew the certificate. Each renewal cycle: * Check that the pending "next" key already has a matching TLSA record published in the DNS (ideally that this has been the case for at least 2 DNS TTLs). If not, delay the key rollover. * Obtain a certificate chain for this next key, and generate a new next key. Deploy the obtained certificate chain and private key and either "reload" your servers, or wait a while for all servers to automatically cut over to the new key. * Update your DNS TLSA records to match the new current (previously next) key as well as the new next key: Before: 3 1 1 <digest-of-key(N+0)> ; current (live) 3 1 1 <digest-of-key(N+1)> ; future (dormant) After: 3 1 1 <digest-of-key(N+1)> ; current (live) 3 1 1 <digest-of-key(N+2)> ; future (dormant) * If updating DNS TLSA records requires manual intervention or is difficult to integrate as an automated part of the key rollover, generate a notification email or other trigger to activate the TLSA record update above. You have plenty of time to do it during the lifetime of the current key, but don't procrastinate do it early... -- Viktor.