ietf-smtp
[Top] [All Lists]

[ietf-smtp] MTS-STS validation when MX host points to a CNAME, violating RFC 2181 § 10.3

2021-03-31 16:46:40
Hello,

I'm having an affair with one of the vendors as a sending MTA, honoring MTA-STS (RFC 8461). Their response:

* Our TDS validation shows MX lookup for n0.lt returns n0.lt instead of mx.n0.lt. It is consistent with what we are seeing with production.

_remote server(451 4.4.8 MX hosts of 'n0.lt' failed MTA-STS validation.)' 3/24/2021 3:36:19 PM - Server at n0.lt (0.0.0.0) returned '450 4.4.317 Cannot connect to remote server [Message=451 4.4.8 MX hosts of 'n0.lt' failed MTA-STS validation.] [LastAttemptedServerName=n0.lt]_ * We can confirm that customer is not RFC compliant with MX pointing to a CNAME and we don't think it is worth to change the logic to accommodate that. * Customer does have an easy fix on their side, just to modify their STS Policy to include n0.lt as one of the supported MX record.

My objections:

I'm familiar with a general prohibition, pursuant to RFC 2181 § 10.3 [1], for MX records to point to CNAMEs. Despite that, I do not believe that it should affect MX host validation in accordance with RFC 8 [2]461 §4.1 [2] when selecting a target MX host, for the reasons of:

*

RFC 2181 is an RFC on Clarifications to the DNS Specification, not SMTP.
*

Selecting an MX target host is regulated in a different RFC, namely and specifically in RFC 5321 §5.1 [3]:

If MX records are present, but none of them are usable, this situation MUST be reported as an error.<...> When a domain name associated with an MX RR is looked up and the associated data field obtained, the data field of that response MUST contain a domain name. That domain name, when queried, MUST return at least one address record (e.g., A or AAAA RR) that gives the IP address of the SMTP server to which the message should be directed. Any other response, specifically including a value that will return a CNAME record when queried, lies outside the scope of this Standard. The prohibition on labels in the data that resolve to CNAMEs is discussed in more detail in RFC 2181, Section 10.3 [38]

*

Thus, the prohibition of CNAMEs is NOT an SMTP or MTA-STS issue. As per the RFC 5321 §5.1, which is used to select an MX target host, pursuant to RFC 8461 §4.1 (MX Host validation), vendors are NOT allowed to choose a different host name (in my scenario, n0.lt instead of mx.n0.lt which is found in MX record). The situation MUST be reported as an error, if none of the found records are usuable. That MUST happened even if the target domain has not deployed MTA-STS. And this doesn't seem to be the case. When MTA-STS is not deployed, Microsoft, as a sending MTA doesn't return any errors.
*

No major providers (including, but not limited to Gmail) nor publicly available MTA-STS tests (including, but not limited to My Email Communications Security Assessment (MECSA) by European Commission's Joint Research Center) doesn't select n0.lt instead of mx.n0.lt which is found in MX record nor does it show any errors, suggesting my interpretation of different RFCs is most likely correct.

As advised by one of the authors of RFC 8461, I'm reaching out to the IETF SMTP list for your opinions, namely if MTA-STS, in theory, should fail to validate if an MX points to a CNAME.

Any insights would be much appreciated and thanked in advance. :)

--
Regards,
Kristijonas

Links:
------
[1] https://tools.ietf.org/html/rfc2181#section-10.3
[2] https://tools.ietf.org/html/rfc8461#section-4.1
[3] https://tools.ietf.org/html/rfc5321#section-5.1
_______________________________________________
ietf-smtp mailing list
ietf-smtp(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/ietf-smtp