On April 4, 2016 at 2:42:15 , Daniel Margolis ([email protected]) wrote:
Thanks for the clarification. 

Sounds like a feature to me. Having MUAs do insecure DNS lookups (which is what 
they’d probably do) and make misleading assertions about relay security (which 
couldn’t be made even if DNSSEC/HTTPS was employed to trust the STS 
information, given that forwarding is in the infrastructure and all that). If 
you want to have MUAs make assertions, you’re moving in the direction of the 
SMTP extension draft, and as Victor pointed out, the infrastructure is going to 
ignore even those assertions under some circumstances if that were to deploy.
I am (perhaps parochially) thinking mostly about webmail systems where the MUA 
and the sending MTA are mostly the same piece of infrastructure. So my real 
goal is for the MTA to be able to tell the MUA at compose time that it has a 
policy for the recipient domain and can guarantee certain behavior. 
Do you really think an end-user can understand what it means if the MTA will 
transport encrypt the next hop of mail relay but can say nothing about relay 
hops after that or how the mail is handled by either service provider? Perhaps 
I’m missing the motivation for doing this, can you explain why this is useful?

In this context, I think having policies be per-domain is important, but as you 
note, you could have a policy semantic which allows a single MX to communicate 
a domain-wide policy even with an in-band channel. 

> Your suggestion, in that light, should be interpreted to say that
> the STS URI should be used to only secure the routing information
> (security for MX records via HTTPS rather than DNSSEC), and that
> once the routing information is secured, security policy for the
> given relay be in-band via SMTP and modeled on DEEP.

Mostly yes. I’d also want to consider an optimization to skip the HTTPS step 
for self-hosted domains just to reduce overall new traffic.

To clarify a bit the individual steps needed, then, it seems like you're 
proposing that given the following stages:

1. Routing information: What MX hostnames are expected
2. Authenticating the MX: Determining that the server TLS cert matches
3. Policy: Ensuring the minimum level of transport-layer encryption

You propose to put #1 in either DNSSEC or HTTPS (with an optimization to use 
in-channel in place of HTTPS if the MX domain matches the email domain) and #2 
and #3 in the SMTP exchange? 
Basically right.

But this doesn't necessarily eliminate the extra DNS or HTTPS lookup (at least 
in the case where the MX domain does not match the email domain), right? You 
still need to get the routing information somehow, and we're still trying to 
make this viable for domains that can't yet deploy DNSSEC. So in that light, 
you're proposing that all domains would need at least the SMTP in-band exchange 
and that some domains would also need step #1 to be done over HTTPS--meaning 
that sending domains would have to still support both options, right? 
Presuming there is WG rough consensus that use of HTTPS meets the cost/benefit 
cutoff when compared to DNSSEC, then yes that is correct.

I can see the appeal of doing much of this in-band given that it's consistent 
with what DEEP proposes, but I'm still concerned that if we need also support 
out-of-band, we're just increasing complexity. What do you think?
As long as the only out-of-band is verification of routing information and not 
policy, then I don’t see it as increasing complexity. Indeed it’s a somewhat 
more conservative approach to architectural cost (trying to minimize use of 
extra packets and protocols when performing the core SMTP relay operation).

But I’ll admit I have some experiential bias in that I’ve seen few DNS 
additions deploy effectively, and I’ve seen a bunch of SMTP extensions deploy 
effectively.

                - Chris

On Mon, Apr 4, 2016 at 6:27 AM, Chris Newman <[email protected]> wrote:
On April 1, 2016 at 19:18:31 , Viktor Dukhovni ([email protected]) wrote:
On Fri, Apr 01, 2016 at 06:48:00PM -0300, Chris Newman wrote: 

> I feel very strongly that policy for SMTP relay should be advertised by 
> SMTP and protected by SMTP TLS. Doing anything else creates a much larger 
> attack surface on the policy information and is both more complex and less 
> secure. The preferred mechanism to sign SMTP relay routing (DNS MX) is 
> DNSSEC. I'm open to proposals for alternate mechanisms to sign MX record 
> information due to the difficulty of deploying DNSSEC, but such mechanisms 
> should not be confused with security policy. 

Unfortunately, in MTA-to-MTA SMTP, the receiving SMTP server has 
no idea what domain the sending SMTP client wants to deliver mail 
to at the time that it advertises its ESMTP extensions in the EHLO 
response. 
This correctly identifies a key difference between SMTP relay and SMTP 
submission. I had missed this, thank you for raising it!

For SMTP submission, there’s an early-indication of domain ownership from the 
mandatory user authentication (multi-domain hosting services tend to use email 
address as user name to get this benefit). For SMTP relay we have no mechanism 
to indicate the intended domain so to handle the case of a multi-domain hosting 
service that offers different policies for different domains we’d need to add a 
way to communicate intended domain early. This can be done with an SMTP verb 
(adding a round trip) or by using TLS ALPN or something similar (no new round 
trip).

For this (and other related) reasons, in-band SMTP security policy 
can only be communicated for the given SMTP server, and not the 
recipient domain. 
I’m not convinced this is true. I’d like to hear those other reasons.

A relay MTA MUST NOT make any conclusions about recipient domain 
security based on security policy advertised by a particular MX 
host. An individual MX host cannot advertise security policy 
(implicitly) for every single domain it happens to receive mail 
for, except for future relaying via that *same* MX host.
If the MX-from-DNS isn’t trusted, then no policy can be trusted. But 
STS-from-DNS has the same issue.

To secure SMTP relay traffic to a recipient domain, the routing 
needs to be secured by some means. STS (with sensible modifications) 
proposes doing so via an HTTPS well-known URI associated with the 
recipient domain. This is achieved via DNS-based signalling of 
the existence of the STS well-known URI, and likely DNS-based 
signalling that a cached policy is stale and should be refreshed. 

Your suggestion, in that light, should be interpreted to say that 
the STS URI should be used to only secure the routing information 
(security for MX records via HTTPS rather than DNSSEC), and that 
once the routing information is secured, security policy for the 
given relay be in-band via SMTP and modeled on DEEP. 
Mostly yes. I’d also want to consider an optimization to skip the HTTPS step 
for self-hosted domains just to reduce overall new traffic.

Note that consequently, a domain would be able to downgrade to a 
non-TLS provider, by serving a routing-only policy that references 
new MX hosts that don't support a new relay-MTA flavour of DEEP. 
We decide in the specification whether the policy attaches to the domain or the 
SMTP hostname. This is a design choice.

Also, when a sending relay sees new MX RRs incompatible with a 
cached routing policy, it would be able to refresh that policy, 
(provided the well-known STS URI is still up and running) and 
deliver via the subset of MX hosts that match the refreshed policy. 
This all follows from a conclusion I don’t agree with.

[ MX hosts that don't match the policy MUST NOT be ignored when 
doing relay loop elimination. They would have to be treated 
as though connections to them are failing, not as though they 
weren't part of the MX RRset. ] 
Once policy is latched for a domain, any SMTP relay not complying with the 
policy is a failure. We’ll want to make sure we get the 4xx vs. 5xx rules right 
in the spec for this.

_______________________________________________ 
Uta mailing list 
[email protected] 
https://www.ietf.org/mailman/listinfo/uta 




_______________________________________________
Uta mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/uta

Reply via email to