On 6/23/22 11:02 AM, Viktor Dukhovni wrote:
On Sat, Jun 18, 2022 at 11:56:30AM -0600, Peter Saint-Andre wrote:
On 5/27/22 7:51 AM, Stephen Farrell wrote:
- section 3.2: I wondered why no mention of MTA-STS or
DANE? Could/should we say that MTA implementations
SHOULD include support for such strictness?
Hi Stephen,
Although these technologies (RFC 8461 and RFC 7672) seem sensible, I
don't think we authors have a good handle on whether they are widely
deployed enough to justify a SHOULD in a BCP. We will reach out to folks
in the email community for guidance.
Both DANE and MTA-STS have now been around for some years and there is a
body of operational experience with these protocols.
The story is roughly that:
- Both require no changes in the receiving MTA, it just needs to
support STARTTLS and be configured with a "suitable" certificate
chain that meets the promised constraints (be they DANE, MTA-STS
or both).
- Inbound DANE is supported on ~3.34 million domains.
* Many are small domains MX hosted by the likes of:
1,229,567 one.com
278,987 hostpoint.ch
170,237 infomaniak.ch
161,743 transip.nl
158,849 argewebhosting.nl
112,901 hostnet.nl
107,719 domeneshop.no
100,270 jouwweb.nl
96,866 loopia.se
95,410 webhostingserver.nl
...
* Some are email service providers hosting many users and
perhaps also customer domains, for example:
web.de
gmx.de
protonmail.ch
mailbox.org
posteo.de
...
- Inbound MTA-STS is supported by a much smaller number (a few
thousand not millions) of domains, but notably these include many
of the largest email service providers:
$ for d in gmail.com hotmail.com outlook.com yahoo.com aol.com; do
printf "%-20s " "$d"
curl -sLo - https://mta-sts.$d/.well-known/mta-sts.txt | grep
'^mode:' || echo
done
gmail.com mode: enforce
hotmail.com mode: enforce
outlook.com mode: enforce
yahoo.com mode: testing
aol.com
- Outbound deployment is considerably harder to measure, but
IIRC outbound DANE is supported by:
* outlook.com and Azure hosted Exchange customer domains
* one.com
* transip.nl
* protonmail.ch
* mailbox.org
* posteo.de
* ...
- The sending MTA does all the heavy lifting of implementing peer
validation per DANE or MTA-STS as applicable.
- Software support for outbound DANE is included in Postfix, Exim, Halon
MTA,
Power MTA, Cisco ESA, Microsoft hosted Exchange, ... with partial
support last I looked also in Sendmail and perhaps some Qmail
forks...
- Software support for MTA-STS is NOT included in either Postfix or
Exim due to its rather unwieldy architectural footprint, with a
mixture of HTTPS and SMTP and complex per destination caches.
At least in the case Postfix and Exim support for MTA-STS is
unlikely in the near term. The developers have expressed explicit
distaste for the protocol.
Returning to the question asked: SHOULD MTAS support DANE and/or
MTA-STS?
- If the question is about the software stack, then:
* Any MTA that supports STARTTLS already supports both inbound.
* Outbound support for MTA-STS is unlikely the leading open source
MTAs
* Outbound support for DANE is starting to be available even in
some of the cloud provider stacks, but is not yet prevalent.
- If the question is about operator diligence then:
* Inbound DANE requires DNSSEC support from both the recipient
domain and its MX host domain. The primary operational burden
is on the MX host operator, and DANE scales very well when a
single skilled operator MX hosts many domains. Adoption by the
domain hosting operator is growing, especially in northern
Europe, where DNSSEC-signing is presently also more prevalent.
* Inbound MTA-STS requires an HTTPS server for policy publication,
with support for the ".well-known/mta-sts.txt" URL.
* Both DANE and MTA-STS require careful management of associated
DNS records, in particular correct timing of DNS updates
relative to changes in certificate chains or the MTA-STS policy
respectively.
* Outbound DANE requires a local validating resolver on the MTA,
which is comparatively easy to set up, but is an extra step
that holds back some smaller less-skilled operators.
It also requires an X.509 layer in the TLS library that supports
DANE-style certificate chain validation. This is currently
available in OpenSSL, but last I looked not in e.g. BoringSSL or
LibreSSL.
* Outbound MTA-STS requires a complex long-term persistent policy
cache, and support for HTTPS probes in the MTA stack.
In light of the above, "SHOULD" is perhaps still a reach, though I do
think that support for DANE is at this point a best practice. As for
MTA-STS, I am not convinced given its narrow scope of essentially
just the largest operators that it was ever needed, policy for this
set of operators could be implemented statically by those sufficiently
inclined. That is MTA-STS is IMHO too complex for too little gain,
but I'm not exactly a neutral observer... :-)
Hi Viktor (and John too),
Thanks as always for the detailed information. I'll note that we already
have the following text about HSTS in the section on "Strict TLS"
(combining bullet points here for readability)...
* HTTP client and server implementations MUST support the HTTP
Strict Transport Security (HSTS) header [RFC6797], in order to
allow Web servers to advertise that they are willing to accept
TLS-only clients. Web servers SHOULD use HSTS to indicate that
they are willing to accept TLS-only clients, unless they are
deployed in such a way that using HSTS would in fact weaken
overall security (e.g., it can be problematic to use HSTS with
self-signed certificates, as described in Section 11.3 of
[RFC6797]).
Given the state of play for mail (and the ambiguity for non-mail
application protocols), I might suggest that we add the following
informational sentence at the end:
Similar technologies exist for non-HTTP application protocols,
such as MTA-STS for mail transfer agents [RFC8461] and methods
founded in DNS-Based Authentication of Named Entities (DANE)
[RFC6698] for SMTP [RFC7672] and XMPP [RFC7712].
We could also add something to the effect of "these technologies are
experiencing increased adoption so, even though they are not best
current practices at the time of writing, pay attention to future
developments" but that's fairly wishy-washy. If we have a clear
direction in the WG for normative language about DANE (for instance) at
this time, then I'd be open to that as well.
Peter
_______________________________________________
Uta mailing list
Uta@ietf.org
https://www.ietf.org/mailman/listinfo/uta