Internet Engineering Task Force S. Nurpmeso, Ed. Internet-Draft 1 January 2025 Updates: 3207 5321 (if approved) Intended status: Informational Expires: 5 July 2025 Secure SMTP/TLS SRV Announcement draft-nurpmeso-smtp-tls-srv-03 Abstract This document specifies a DNS (RFC 1035) service name in order to enable SRV (RFC 2782) records announcing availability of TLS (RFC 8446) enabled Secure SMTP (RFC 3207, RFC 5321), including Implicit TLS. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 5 July 2025. Copyright Notice Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Nurpmeso Expires 5 July 2025 [Page 1] Internet-Draft Secure SMTP/TLS SRV Announcement January 2025 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 2. SMTP/TLS SRV Service Name . . . . . . . . . . . . . . . . . . 3 3. Example: service record . . . . . . . . . . . . . . . . . . . 3 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 3 5. Security Considerations . . . . . . . . . . . . . . . . . . . 4 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 6.1. Normative References . . . . . . . . . . . . . . . . . . 4 6.2. Informative References . . . . . . . . . . . . . . . . . 5 Appendix A. Rationale . . . . . . . . . . . . . . . . . . . . . 7 Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 8 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction [RFC2782] defines a widely adopted DNS-based service discovery protocol. [RFC6186] is a specification of SRV[RFC2782] records for the email protocols IMAP[RFC9051], POP3[RFC1939], and SUBMISSION[RFC6409]. This includes DNS service names for Implicit TLS protocol variants. SMTP[RFC5321] connections to MTAs ([RFC5598]) are yet excluded from their share on the widely supported SRV record, at least from the IETF point of view. (According usage however exists for many years, see for example the German De-Mail definition law; and in recent years notable Open Source MTA implementations gained support for SRV lookups.) Additionally no Implicit TLS protocol variant has ever been specified by the IETF, even though the achievable packet roundtrip savings for the SMTP protocol are immense, and despite the fact that many (most open source) SMTP software implementations already have, or can easily implement, built-in support for this modeA. This specification adds a SMTP/TLS service name for SRV[RFC2782] records. 1.1. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. The term "Implicit TLS" refers to the automatic negotiation of TLS whenever a TCP connection is made on a particular TCP por t that is used exclusively by that server for TLS connections. The term "Implicit TLS" is intended to contrast with the use of the STARTTLS command in SMTP that is used by the client and the server to explicitly negotiate TLS on an established cleartext TCP connection. Nurpmeso Expires 5 July 2025 [Page 2] Internet-Draft Secure SMTP/TLS SRV Announcement January 2025 2. SMTP/TLS SRV Service Name The service name for TLS[RFC8446] enabled Secure[RFC3207] SMTP[RFC5321] is smtps, the resulting DNS label _smtps. STARTTLS Whenever a domain publishes an according DNS SRV[RFC2782] resource record it asserts availability of Secure SMTP, that is, of the STARTTLS[RFC3207] SMTP service extension on the normal SMTP[RFC5321] port, specified by IANA as port 25. The port number MUST be given as 25. Implicit TLS If the port number of the published SRV resource record does not equal the IANA port 25, then the domain announces support for Implicit TLS on the given port in addition to STARTTLS[RFC3207] support on the IANA port. Servers SHOULD NOT announce STARTTLS in the EHLO command response of an Implicit TLS connection. If a client issues a STARTTLS[RFC3207] extension command during an Implicit TLS connection, the SMTP reply code 554 SHOULD be returned, if enhanced status codes[RFC3463] are used, 5.5.1 SHOULD be used. DNS SRV RRs MUST take priority over MX[RFC5321] ones: no MX lookup SHOULD be performed, and no otherwise available MX RR MUST be used in the presence of a SRV RR. After a successful _smtps DNS SRV lookup clients SHOULD NOT fallback to cleartext communication. 3. Example: service record Here are two examples, the first announcing to support the STARTTLS SMTP service extension, the second specifying the port number 26 to indicate an additional Implicit TLS port. _smtps._tcp SRV 0 1 0 mail1.example.com. _smtps._tcp SRV 0 1 26 mail2.example.com. 4. IANA Considerations The author does not expect IANA to add a dedicated port for "Implicit TLS SMTP", given that it has registered according ones for other email protocols, for example POP3S, no sooner but 1999, a quarter of a century ago. The author nonetheless asks for assigning a dedicated port for Implicit TLS SMTP, and suggests port 26 (which, at the time of this writing, was already successfully used for that purpose) in the privileged port range. The author wants to point out that the contra arguments given in section 7 of [RFC2595] that created Nurpmeso Expires 5 July 2025 [Page 3] Internet-Draft Secure SMTP/TLS SRV Announcement January 2025 according POP3S and IMAPS assignments in 1999 are contradicted by operational reality in the internet, and here that includes the IETF by means of [RFC8314]. A dedicated port enabled administrators to apply strict policies, for example in firewalls. 5. Security Considerations This specification avoids downgrade attacks on the opportunistic approach of STARTTLS, accomplished via the mechanism used for many other IETF standardized protocols, most notably [RFC2782] (IMAP, POP3, SUBMISSION). With its Implicit TLS capability it grants the SMTP protocol the same level of confidentiality through TLS[RFC8446] as is already standardized for the other email protocols; this is considered a value by itself, even for the possibly lesser sensitive MTA to MTA communication. Implicit TLS reduces the number of packet roundtrips, that at a protocol stage where the widely used "pipelining" (RFC 2920) performance improvement extension cannot be used; it must be said that today these roundtrips are anachronistic (also environmentally): for example the over four million known DANE for SMTP[RFC7672] enabled servers at the time of this writing alone, which MUST use TLS by standard definition, likely generate (several) billion(s) of useless sequential and blocking roundtrip packets each and every day. The security of DNS[RFC1035] is out of scope for this specification, but DNSSEC[RFC4033][RFC4034][RFC4035] and secure DNS transport[RFC7858][RFC8094][RFC8310][RFC9250] etc exists. Selection of the appropriate transport layer security protocol is out of scope for this specification, see for example TLS[RFC8446]. 6. References 6.1. Normative References [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for specifying the location of services (DNS SRV)", RFC 2782, DOI 10.17487/RFC2782, February 2000, . [RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over Transport Layer Security", RFC 3207, DOI 10.17487/RFC3207, February 2002, . [RFC3463] Vaudreuil, G., "Enhanced Mail System Status Codes", RFC 3463, DOI 10.17487/RFC3463, January 2003, . [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, DOI 10.17487/RFC5321, October 2008, . Nurpmeso Expires 5 July 2025 [Page 4] Internet-Draft Secure SMTP/TLS SRV Announcement January 2025 6.2. Informative References [RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, November 1987, . [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3", STD 53, RFC 1939, DOI 10.17487/RFC1939, May 1996, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP", RFC 2595, DOI 10.17487/RFC2595, June 1999, . [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, DOI 10.17487/RFC4033, March 2005, . [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Resource Records for the DNS Security Extensions", RFC 4034, DOI 10.17487/RFC4034, March 2005, . [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Protocol Modifications for the DNS Security Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005, . [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, DOI 10.17487/RFC5598, July 2009, . [RFC6186] Daboo, C., "Use of SRV Records for Locating Email Submission/Access Services", RFC 6186, DOI 10.17487/RFC6186, March 2011, . [RFC6409] Gellens, R. and J. Klensin, "Message Submission for Mail", STD 72, RFC 6409, DOI 10.17487/RFC6409, November 2011, . Nurpmeso Expires 5 July 2025 [Page 5] Internet-Draft Secure SMTP/TLS SRV Announcement January 2025 [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August 2012, . [RFC7250] Wouters, P., Ed., Tschofenig, H., Ed., Gilmore, J., Weiler, S., and T. Kivinen, "Using Raw Public Keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)", RFC 7250, DOI 10.17487/RFC7250, June 2014, . [RFC7672] Dukhovni, V. and W. Hardaker, "SMTP Security via Opportunistic DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS)", RFC 7672, DOI 10.17487/RFC7672, October 2015, . [RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., and P. Hoffman, "Specification for DNS over Transport Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May 2016, . [RFC8094] Reddy, T., Wing, D., and P. Patil, "DNS over Datagram Transport Layer Security (DTLS)", RFC 8094, DOI 10.17487/RFC8094, February 2017, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8310] Dickinson, S., Gillmor, D., and T. Reddy, "Usage Profiles for DNS over TLS and DNS over DTLS", RFC 8310, DOI 10.17487/RFC8310, March 2018, . [RFC8314] Moore, K. and C. Newman, "Cleartext Considered Obsolete: Use of Transport Layer Security (TLS) for Email Submission and Access", RFC 8314, DOI 10.17487/RFC8314, January 2018, . [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, . Nurpmeso Expires 5 July 2025 [Page 6] Internet-Draft Secure SMTP/TLS SRV Announcement January 2025 [RFC8461] Margolis, D., Risher, M., Ramakrishnan, B., Brotman, A., and J. Jones, "SMTP MTA Strict Transport Security (MTA- STS)", RFC 8461, DOI 10.17487/RFC8461, September 2018, . [RFC9051] Melnikov, A., Ed. and B. Leiba, Ed., "Internet Message Access Protocol (IMAP) - Version 4rev2", RFC 9051, DOI 10.17487/RFC9051, August 2021, . [RFC9250] Huitema, C., Dickinson, S., and A. Mankin, "DNS over Dedicated QUIC Connections", RFC 9250, DOI 10.17487/RFC9250, May 2022, . [RFC9460] Schwartz, B., Bishop, M., and E. Nygren, "Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)", RFC 9460, DOI 10.17487/RFC9460, November 2023, . [I-D.ietf-tls-svcb-ech] Schwartz, B. M., Bishop, M., and E. Nygren, "Bootstrapping TLS Encrypted ClientHello with DNS Service Bindings", Work in Progress, Internet-Draft, draft-ietf-tls-svcb-ech-06, 21 October 2024, . Appendix A. Rationale Plenty of methods have been standardized by the IETF to perform service TLS capability discovery for SMTP. They have in common that they represent SMTP specific solutions to a problem that other protocols address via means this ocument thus reiterates for SMTP. They represent further development effort and error surfaces. They also impose increased permanent administration effort, and, due to this, are inaccessible to a large number, if not the majority, of private email server operators: either through additional costs, the impossibility to set up a dedicated name server, if so required, and, also as a superset of the former, restrictive web interfaces that support only a minimal set of DNS[RFC1035] resource record types. Regardless the fact that several of these extensions switch the SMTP protocol to a MUST usage of TLS, they still require the additional STARTTLS plus HELO roundtrips that for example [RFC8314] disregards; and even though that RFC explicitly refers to DANE for SMTP[RFC7672], giving no reason for why SMTP "requires a different approach", except for the TLS certificate discovery that could and should be hoped for as a general solution, including for clients for any sort of network protocol, DANE falls in this category, too: what this specification Nurpmeso Expires 5 July 2025 [Page 7] Internet-Draft Secure SMTP/TLS SRV Announcement January 2025 tries to achieve is therefore not counteracting [RFC7672], but accompanying it; the author wants to state again that according mechanisms already exist in active use, and that many SMTP client/ server software implementations already support SRV RR lookups: activating this existing code base by standard means is only a consequence. The other extension that [RFC8314] mentions, MTA-STS[RFC8461], requires SMTP operators to install and maintain an additional HTTP protocol server, accessible on the usual HTTP/S ports and the same domain as the email service. Dependent on the software this may require non-trivial and error prone path access policy server rules. It is a complicated to implement approach that brings the complexity of another network protocol in the SMTP path; given that several different HTTP protocols exist, which in turn base upon several different transport protocols, the complexity and protocol is alien to SMTP. The SVCB[RFC9460] DNS approach would not bring additional value to the problem in question, but on the other hand requires additional implementation efforts as email protocols do not make any use of it as of today. Coming back to DANE for SMTP[RFC7672] it must be said that unfortunately DNSSEC[RFC4033][RFC4034][RFC4035] is still consciously unsupported by major players as of today. Furthermore provider web interfaces do often not allow users creation of the necessary DANE TLSA resource records; not always can the answer be "run your own name server", also letting aside the administrative effort of doing so. However, discovering an Implicit TLS enabled email service via the _smtps._tcp SRV record, thereafter checking for applicability of DNS-Based Authentication of Named Entities (DANE)[RFC6698], possibly even Using Raw Public Keys in Transport Layer Security (TLS)[RFC7250] would be a bright future that addresses possibly all of today's issues. Appendix B. Acknowledgements Thanks to Jan Ingvoldstad for remarks on the missing rationale. Thanks to Jeremy Harris for spending time and revealing the many problems of early draft variants, we well as comments on how to do it better; very special thanks to him for a kickstart implementation of this very draft in the widely used exim Open Source MTA. Jeremy Harris, Viktor Dukhovni and Wietse Venema commented on the initial odd usage of port 0 for the STARTTLS discovery case. Author's Address Steffen Nurpmeso (editor) Email: steffen@sdaoden.eu Nurpmeso Expires 5 July 2025 [Page 8]