Network Working Group C. Daboo Internet-Draft Apple Inc. Intended status: Standards Track August 19, 2009 Expires: February 20, 2010 Use of SRV records for locating email services draft-daboo-srv-email-02 Status of This Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on February 20, 2010. Copyright Notice Copyright (c) 2009 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 in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Abstract This specification describes how SRV records can be used to locate email services. Daboo Expires February 20, 2010 [Page 1] Internet-Draft SRV for Email August 2009 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions Used in This Document . . . . . . . . . . . . . . . 3 3. SRV service types . . . . . . . . . . . . . . . . . . . . . . . 3 3.1. Email Submission . . . . . . . . . . . . . . . . . . . . . 3 3.2. IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.3. POP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Guidance for mail access clients . . . . . . . . . . . . . . . 4 5. Guidance for Service Providers . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6 9. Normative References . . . . . . . . . . . . . . . . . . . . . 6 Appendix A. Change History (to be removed prior to publication as an RFC) . . . . . . . . . . . . . . . . 7 Daboo Expires February 20, 2010 [Page 2] Internet-Draft SRV for Email August 2009 1. Introduction [RFC2782] defines a DNS-based service discovery protocol that has been widely adopted as a means of locating particular services within a local area network and beyond, using SRV RR records. Internet Email protocols include SMTP [RFC5321], IMAP [RFC3501] and POP3 [RFC1939]. [RFC5321] defines the MX RR record type to locate SMTP services for a domain. However, [RFC4409] defines a "profile" of the SMTP service that is specifically used for message submission - which is of direct relevance to email clients which typically don't use MX records. Both IMAP and POP3 are mail access protocols used by email clients to manipulate email messages after delivery. Typically email clients have required users to enter host name and port information for the services they need. This is not ideal as the way in which server information is specified can differ from client to client, and can be confusing to users, leading to errors when inputting the details. A better approach would be to require miniml information to be entered by a user which would result in automatic configuration of appropriate services for that user. The minimal information entered would be the user's email address. This specification defines new SRV service types for the message submission, IMAP and POP3 services to enable simple auto configuration of email clients. 2. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 3. SRV service types 3.1. Email Submission This specification adds one SRV service type for message submission [RFC4409]: submission: Identifies a message submission server as defined by [RFC4409]. Note that this covers connections both with and without transport layer security [RFC3207]. Daboo Expires February 20, 2010 [Page 3] Internet-Draft SRV for Email August 2009 Example: service record _submission._tcp SRV 0 1 587 mail.example.com. 3.2. IMAP This specification adds two SRV service types for IMAP [RFC3501]: imap: Identifies an IMAP server that MAY advertise the "LOGINDISABLED" capability and MAY require the client to use the "STARTTLS" command prior to authentication. Although these two extensions are mandatory-to-implement for both clients and servers, they are not mandatory-to-use by service providers. imaps: Identifies an IMAP server where transport layer security is initiated directly upon connection to the server. Example: service record _imap._tcp SRV 0 1 143 imap.example.com. Example: service record _imaps._tcp SRV 0 1 993 imap.example.com. 3.3. POP3 This specification adds two SRV service types for POP3 [RFC1939]: pop3: Identifies a POP3 server that MAY require the client to use the "STLS" extension command [RFC2595] prior to authentication. pop3s: Identifies a POP3 server where transport layer security is initiated directly upon connection to the server. Example: service record _pop3._tcp SRV 0 1 110 pop3.example.com. Example: service record _pop3s._tcp SRV 0 1 995 pop3.example.com. 4. Guidance for mail access clients By using SRV records as above, clients need initially only prompt the user for their email address [RFC5322]. "local-part" and "domain" portions are then extracted from the email address by the client. Daboo Expires February 20, 2010 [Page 4] Internet-Draft SRV for Email August 2009 The client uses the "domain" portion as the service domain to perform SRV lookups for the services it wants to configure. If the SRV lookup is successful the host name and port for the service can be determined and used to complete client configuration. If an SRV record is not found, the client will need to prompt the user to enter host name and port information directly. Clients that support both POP3 and IMAP SHOULD check for both services using SRV lookups, and for both SSL and non-SSL variants. If both POP3 and IMAP services are returned the choice of which to configure is up to the client - it could prompt the user to make a choice, or pick one based on local policy. Subsequent to configuration, the client will connect to the service. When using "imaps" or "pop3s" services, a transport layer security negotiation is done immediately upon connection. With "imap" and "pop3" services, the "STARTTLS" or "STLS" commands respectively are used to initiate a protected connection. When using transport layer security in this way, clients SHOULD use the TLS Server Name Indication [RFC4366] and include the service domain name used in the SRV record lookup as the name. Once a suitable connection has been made, and any required protection setup, the client will typically need to authenticate with the server. The details of that are governed by the specific protocols themselves, though often times a "user identifier" is required for some form of user/password authentication (such as the SASL "PLAIN" mechanism). When a user identifier is required, clients MUST first use the full email address provided by the user, and if that results in an authentication failure, SHOULD fall back to using the "local- part" extracted from the email address. This is in line with the guidance outlined in Section 5. 5. Guidance for Service Providers Service providers wanting to offer a POP3 or IMAP service that can be configured by clients using SRV records need to follow certain guidelines to ensure proper operation. a. Servers SHOULD be configured to allow authentication with email addresses or email local-parts. In the former case, the email addresses must not conflict with other forms of permitted user login name. In the latter case, the email local-parts need to be unique across the server and not conflict with any login name on the server. b. If the service provider uses transport layer security, the service provider MUST ensure a certificate is installed that Daboo Expires February 20, 2010 [Page 5] Internet-Draft SRV for Email August 2009 matches the email domain name used to configure clients. If the service provider hosts multiple domains on the same IP address, then the service provider MUST enable support for the TLS Server Name Indication [RFC4366]. c. Install the appropriate SRV records for the offered services. 6. Security Considerations If a user has explicitly requested a connection with transport layer security (user interfaces sometimes present this choice as a "use SSL" or "secure connection" checkbox), the client MUST successfully negotiate transport layer security prior to sending an authentication command. The client MAY do this with "imaps", "pop3s", "imap" with "STARTTLS", or "pop3" with "STLS". Service providers MAY offer any subset of these four options for the mail service. A malicious attacker with access to the DNS server data can potentially cause clients to connect to any server chosen by the attacker. In the absence of a secure DNS option, clients SHOULD check that the host name returned in the SRV record matches the original service domain that was queried. If the host is not in the queried domain, clients SHOULD verify with the user that the SRV host name is suitable for use before executing any connections to the host. Alternatively, if transport layer security is being used, clients MUST use the service domain used in the SRV record lookup as the server name for certificate verification pruposes. 7. IANA Considerations This document does not require any actions on the part of IANA. 8. Acknowledgments Thanks to Alexey Melnikov, and Chris Newman for feedback and suggestions. 9. Normative References [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3", STD 53, RFC 1939, May 1996. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP", RFC 2595, June 1999. Daboo Expires February 20, 2010 [Page 6] Internet-Draft SRV for Email August 2009 [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for specifying the location of services (DNS SRV)", RFC 2782, February 2000. [RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over Transport Layer Security", RFC 3207, February 2002. [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, March 2003. [RFC4366] Blake-Wilson, S., Nystrom, M., Hopwood, D., Mikkelsen, J., and T. Wright, "Transport Layer Security (TLS) Extensions", RFC 4366, April 2006. [RFC4409] Gellens, R. and J. Klensin, "Message Submission for Mail", RFC 4409, April 2006. [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, October 2008. [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, October 2008. Appendix A. Change History (to be removed prior to publication as an RFC) Changes in -02: 1. Tweaked text for imap to better describe mandatory-to-implement behavior from base spec. 2. Tweaked text for pop3 along similar lines as imap. 3. Teaked security considerations to account for use of STARTTLS and STLS. 4. Added examples for imaps and pop3s. 5. Re-worked client guidelines. 6. Added service provider guidelines. Changes in -01: 1. Tweaked text for pop3 to make it clearer that STLS is an extension. Daboo Expires February 20, 2010 [Page 7] Internet-Draft SRV for Email August 2009 2. Added text to explain that the email address, as well as the local-part, may be used as the user identifier. 3. Teaked security considerations to account for use of STARTTLS and STLS. Author's Address Cyrus Daboo Apple Inc. 1 Infinite Loop Cupertino, CA 95014 USA EMail: cyrus@daboo.name URI: http://www.apple.com/ Daboo Expires February 20, 2010 [Page 8]