ADD T. Reddy Internet-Draft McAfee Intended status: Standards Track D. Wing Expires: August 24, 2021 Citrix February 20, 2021 Split-Horizon DNS Configuration in Enterprise Networks draft-reddy-add-enterprise-split-dns-00 Abstract When split-horizon DNS is deployed by an enterprise, certain enterprise domains are only resolvable by querying the network- provided DNS server. DNS clients which use DNS servers not provided by the network need to route those DNS domain queries to the network- provided DNS server. This document informs DNS clients of split- horizon DNS, their DNS domains, and is compatible with encrypted DNS. 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 August 24, 2021. Copyright Notice Copyright (c) 2021 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 Simplified BSD License text as described in Section 4.e of Reddy & Wing Expires August 24, 2021 [Page 1] Internet-Draft Split-Horizon DNS Configuration February 2021 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Scope of the Document . . . . . . . . . . . . . . . . . . . . 4 4. Split DNS . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5. PvD dnsZones . . . . . . . . . . . . . . . . . . . . . . . . 6 6. PvD SplitDNSAllowed Key . . . . . . . . . . . . . . . . . . . 7 7. An Example . . . . . . . . . . . . . . . . . . . . . . . . . 7 8. Roaming Enterprise Users . . . . . . . . . . . . . . . . . . 8 9. Upstream Encryption . . . . . . . . . . . . . . . . . . . . . 8 10. Security Considerations . . . . . . . . . . . . . . . . . . . 9 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 13.1. Normative References . . . . . . . . . . . . . . . . . . 9 13.2. Informative References . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 1. Introduction Historically, an endpoint would utilize network-provided DNS servers upon joining a network (e.g., DHCP OFFER, IPv6 Router Advertisement). While it has long been possible to configure endpoints to ignore the network's suggestions and use a (public) DNS server on the Internet, this was seldom used because some networks block UDP/53 (in order to enforce their own DNS policies). With the advent of DoT and DoH, such network blocking is more difficult, but the endpoint is unable to (properly) resolve split-horizon DNS domains which must query the network-provided DNS server. [RFC7626] discusses DNS privacy considerations in both "on the wire" (Section 2.4 of [RFC7626]) and "in the server" (Section 2.5 of [RFC7626]) contexts. Also, there has been an increase in the availability of "public resolvers" [RFC8499] which DNS clients may be pre-configured to use instead of the default network resolver for a variety of reasons (e.g., offer a good reachability, support an encrypted transport, provide a claimed privacy policy, (lack of) filtering). If public encrypted DNS servers (e.g., DNS-over-TLS (DoT) [RFC7858] or DNS-over-HTTPS (DoH) [RFC8484]) are used instead of using local DNS servers, it can adversely impact Enterprise network-based security features. Indeed, various network security services are provided by Enterprise networks to protect endpoints (e.g., laptops, Reddy & Wing Expires August 24, 2021 [Page 2] Internet-Draft Split-Horizon DNS Configuration February 2021 printers, IoT devices) and to enforce enterprise-specific policies. These policies may be necessary to protect employees, customers, or enterprise network. It is out of the scope of this memo to characterize such policies nor assess that they achieve the claimed intent. Nevertheless, network-provided DNS servers in place for these purposes act on DNS messages involving endpoints connected to the Enterprise network to enforce these policies. Therefore, if an endpoint uses a public encrypted DNS server, the desired enterprise protection level and enforcement will be bypassed and thus nullified. In order to act on DNS messages involving endpoints connected to an Enterprise network, network security services can be configured to block DoT traffic by dropping outgoing packets to destination port number 853. Identifying DoH traffic is far more challenging than identifying DoT traffic. Network security services may try to identify the well-known DoH resolvers by their domain name and DoH traffic can be blocked by dropping outgoing packets to these domains. However, DoH traffic can not be fully identified without acting as a TLS proxy. If a network security service blocks access to a public encrypted DNS server, there are incompatibilities with the privacy profiles discussed in [RFC8310]: o If an endpoint has enabled strict privacy profile (Section 5 of [RFC8310]), the endpoint cannot resolve DNS names. o If an endpoint has enabled opportunistic privacy profile (Section 5 of [RFC8310]), the endpoint will either fallback to an encrypted connection without authenticating the DNS server provided by the local network or fallback to clear text DNS, and cannot exchange encrypted DNS messages. The fallback adversely impacts security and privacy as internal attacks are possible within Enterprise networks. For example, an internal attacker can modify the DNS responses to re-direct a client to malicious servers or pervasively monitor the DNS traffic. The reader may refer to Section 3.2.1 of [I-D.arkko-farrell-arch-model-t] for a discussion on the need for more awareness about attacks from within closed domains. This document specifies a mechanism to indicate which DNS zones are used for split-horizon DNS. DNS clients can discover and authenticate encrypted DNS servers provided by the Enterprise network, for example using the techniques proposed in [I-D.btw-add-home] and [I-D.ietf-add-ddr]. Discovery of encrypted DNS server for roaming enterprise endpoints is discussed in [I-D.btw-add-ipsecme-ike] (see Section 8). Reddy & Wing Expires August 24, 2021 [Page 3] Internet-Draft Split-Horizon DNS Configuration February 2021 Provisioning Domains (PvDs) are defined in [RFC7556] as sets of network configuration information that clients can use to access networks, including rules for DNS resolution and proxy configuration. [RFC8801] defines a mechanism for discovering multiple Explicit PvDs on a single network and their Additional Information by means of an HTTP-over-TLS query using a URI derived from the PvD ID. This set of additional configuration information is referred to as a Web Provisioning Domain (Web PvD). This document defines one PvD Key: The SplitDNSAllowed PvD Key: which determines if the Enterprise network allows split-horizon DNS. 2. Terminology 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. This document makes use of the terms defined in [RFC8499]. The terms "Private DNS", "Global DNS" and "Split DNS" are defined in [RFC8499]. 'Encrypted DNS' refers to a DNS protocol that provides an encrypted channel between a DNS client and server (e.g., DoT, DoH, or DoQ). The term "enterprise network" in this document extends to a wide variety of deployment scenarios. For example, an "enterprise" can be a Small Office, Home Office or Corporation. The clients that connect to a enterprise network can securely authenticate that network and the client is sure that it has connected to the network it was expecting. 3. Scope of the Document If a device is managed by an enterprise's IT department, the device can be configured to use a specific encrypted DNS server. This configuration may be manual or rely upon whatever deployed device management tool in an Enterprise network. For example, customizing Firefox using Group Policy to use the Enterprise DoH server is discussed in [Firefox-Policy] for Windows and MacOS, and setting Chrome policies is discussed in [Chrome-Policy] and [Chrome-DoH]. If mobile device management (MDM) (e.g., [MDM-Apple]) secures a device, MDM can configure OS/browser with a specific encrypted DNS server. If an endpoint is on-boarded, for example, using Over-The- Reddy & Wing Expires August 24, 2021 [Page 4] Internet-Draft Split-Horizon DNS Configuration February 2021 Air (OTA) enrollment [OTA] to provision the device with a certificate and configuration profile, the configuration profile can include the authentication domain name (ADN) of the encrypted DNS server. The OS/Browser can use the configuration profile to use a specific encrypted DNS server. In this case, MDM is not installed on the device. Provisioning IT-managed devices, BYOD devices with MDM or configuration profile with the Split DNS configuration is outside the scope of this document. Typically, Enterprise networks do not assume that all devices in their network are managed by the IT team or MDM, especially in the quite common BYOD scenario. The endpoint can use the discovered network-provided DNS server to only access DNS names for which the Enterprise network claims authority and use another public DNS server for global domains or use the discovered network-provided DNS server to access both private domains and global domains. The scope of this document is restricted to unmanaged BYOD devices without a configuration profile. The unmanaged BYOD devices use the credentials (user name and password) provided by the IT admin to mutually authenticate to the Enterprise WLAN Access Point (e.g., PEAP-MSCHAPv2 [PEAP], EAP-pwd [RFC8146], EAP-PSK [RFC4764]). Note: Many users have privacy and personal data sovereignty concerns with employers installing MDM on their personal devices; they are concerned that admin can glean personal information and could control how they use their devices. When users do not install MDM on their devices, IT admins do not get visibility into the security posture of those devices. To overcome this problem, a host agent can cryptographically attest the security status associated with device, such as minimum pass code length, biometric login enabled, OS version etc. This approach is fast gaining traction especially with the advent of closed OS like Windows 10 in S mode [win10s] or Chromebook [Chromebook], where applications are sandboxed (e.g., ransomware attack is not possible) and applications can only be installed via the OS store. 4. Split DNS [RFC2826] "does not preclude private networks from operating their own private name spaces" but notes that if private networks "wish to make use of names uniquely defined for the global Internet, they have to fetch that information from the global DNS naming hierarchy". There are various DNS deployments outside of the global DNS, including "split horizon" deployments and DNS usages on private (or Reddy & Wing Expires August 24, 2021 [Page 5] Internet-Draft Split-Horizon DNS Configuration February 2021 virtual private) networks. In a split horizon, an authoritative server gives different responses to queries from the Internet than they do to network-provided DNS servers; while some deployments differentiate internal queries from public queries by the source IP address, the concerns in Section 3.1.1 of [RFC6950] relating to trusting source IP addresses apply to such deployments. When the internal address space range is private [RFC1918], this makes it both easier for the server to discriminate public from private and harder for public entities to impersonate nodes in the private network. The use cases that motivate split-horizon DNS typically involve restricting access to some network services -- intranet resources such as internal web sites, development servers, or directories, for example -- while preserving the ease of use offered by domain names for internal users. An Enterprise can require one or more DNS domains to be resolved via network-provided DNS servers. This can be a special domain, such as "corp.example.com" for an enterprise that is publicly known to use "example.com". In this case, the endpoint needs to be informed what the private domain names are and what the IP addresses of the network-provided DNS servers are. An Enterprise can also run a different version of its global domain on its internal network. In that case, the client is instructed to send DNS queries for the enterprise public domain (e.g., "example.com") to the network- provided DNS servers. A configuration for this deployment scenario is referred to as a Split DNS configuration. The PvD RA option defined in [RFC8801] SHOULD set the H-flag to indicate that Additional Information is available. This Additional Information JSON object SHOULD include both the "dnsZones" and "SplitDNSAllowed" keys to define the DNS domains for which the Enterprise network claims authority and to indicate if the Enterprise network allows split-horizon DNS. 5. PvD dnsZones As discussed in Section 4, the Enterprise internal resources tend to have private DNS names, an enterprise can also run a different version of its global domain on its internal network, and require the use of network-provided DNS servers to get resolved. The PvD Key dnsZones is defined in [RFC8801]. The PvD Key dnsZones adds support for DNS domains for which the Enterprise network claims authority. These domains are intended to be resolved using network- provided DNS servers that are only reachable to the devices attached to the Enterprise network. DNS resolution for other domains remains unchanged. Reddy & Wing Expires August 24, 2021 [Page 6] Internet-Draft Split-Horizon DNS Configuration February 2021 The dnsZones PvD Key conveys the specified DNS domains must be resolved using an network-provided DNS server. The DNS root zone (".") MUST be ignored if it appears in dnsZones. Other generic or global domains, such as Top-Level Domains (TLDs), similarly MUST be ignored if they appear in dnsZones. For each dnsZones entry, the client MUST use the network-provided DNS servers as the only resolvers for the listed domains and its subdomains and it MUST NOT attempt to resolve the provided DNS domains using public resolvers. Other domain names may be resolved using some other public resolvers that are configured independently. 6. PvD SplitDNSAllowed Key If an Enterprise network restricts all the DNS queries to be sent to the network-provided DNS server, SplitDNSAllowed will be set to false. Split DNS configurations may be preferable to sending all DNS queries to an network-provided DNS server in some deployments. This allows an endpoint to only send DNS queries for the enterprise to the network-provided DNS servers. The Enterprise remains unaware of all non-enterprise (DNS) activity of the user. It also allows the network-provided DNS servers to only be configured for the enterprise DNS domains, which removes the legal and technical responsibility of the enterprise to resolve every DNS domain potentially asked for by the endpoints. For example, if the SplitDNSAllowed key specifies "example.test" and SplitDNSAllowed is set to true, then "example.test", "www.example.test", and "mail.eng.example.test" must be resolved using the network-provided DNS resolver(s), but "otherexample.test" and "ple.test" can be resolved using the system's public resolver(s). If SplitDNSAllowed is set to false, the client should not trust the SplitDNSAllowed key in case of connecting to unknown or untrusted networks (e.g., coffee shops or hotel networks). For example, if SplitDNSAllowed is set to false, client can choose to use a alternate network to resolve the global domain names. 7. An Example The following example shows how the JSON keys defined in this document can be used: Reddy & Wing Expires August 24, 2021 [Page 7] Internet-Draft Split-Horizon DNS Configuration February 2021 { "identifier": "cafe.example.com.", "expires": "2020-05-23T06:00:00Z", "prefixes": ["2001:db8:1::/48", "2001:db8:4::/48"], "SplitDNSAllowed": True, "dnsZones:": ["city.other.test", "example.com"] } The JSON keys "identifier", "expires", and "prefixes" are defined in [RFC8801]. 8. Roaming Enterprise Users In this Enterprise scenario (Section 1.1.3 of [RFC7296]), a roaming user connects to the Enterprise network through an VPN tunnel (e.g., IPsec, SSL, Wireguard). The split-tunnel Virtual Private Network (VPN) configuration allows the endpoint to access hosts that reside in the Enterprise network [RFC8598] using that tunnel; other traffic not destined to the Enterprise does not traverse the tunnel. In contrast, a non-split- tunnel VPN configuration causes all traffic to traverse the tunnel into the Enterprise. When the VPN tunnel is IPsec, the encrypted server hosted by the Enterprise network can be securely discovered by the endpoint using the ENCDNS_IP*_* IKEv2 Configuration Payload Attribute Types defined in [I-D.btw-add-ipsecme-ike]. For split-tunnel VPN configurations, the endpoint uses the discovered encrypted DNS server to resolve domain names for which the Enterprise network claims authority. For non-split-tunnel VPN configurations, the endpoint uses the discovered encrypted DNS server to resolve both global and private domain names. Other VPN tunnel types have similar configuration capabilities, not detailed here. 9. Upstream Encryption If an Enterprise network is using a local encrypted DNS server configured as a Forwarding DNS server [RFC8499] relying upon the upstream resolver (e.g., at an ISP) to perform recursive DNS lookups, DNS messages exchanged between the local encrypted DNS server and the recursive resolver MUST be encrypted. If the Enterprise network is using the local encrypted DNS server configured as a recursive DNS server, DNS messages exchanges between the recursive resolver and authoritative servers SHOULD be encrypted to conform to the requirements discussed in [I-D.ietf-dprive-phase2-requirements]. Reddy & Wing Expires August 24, 2021 [Page 8] Internet-Draft Split-Horizon DNS Configuration February 2021 10. Security Considerations Clients may want to preconfigure global domains for TLDs and Second- Level Domains (SLDs) to prevent malicious DNS redirections for well- known domains. This prevents users from unknowingly giving DNS queries to third parties. This is even more important if those well- known domains are not deploying DNSSEC, as the Enterprise network could then even modify the DNS answers without detection. The content of dnsZones and SplitDNSAllowed may be passed to another (DNS) program for processing. As with any network input, the content SHOULD be considered untrusted and handled accordingly. The split DNS configuration assigned by an anonymous or unknown network (e.g., coffee shops) MUST be ignored by the client. 11. IANA Considerations IANA is requested to add SplitDNSAllowed PvD Key to the Additional Information PvD Keys registry (https://www.iana.org/assignments/pvds/ pvds.xhtml). 12. Acknowledgements Thanks to Mohamed Boucadair, Jim Reid and Vinny Parla for the discussion and comments. 13. References 13.1. Normative References [RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G., and E. Lear, "Address Allocation for Private Internets", BCP 5, RFC 1918, DOI 10.17487/RFC1918, February 1996, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC2826] Internet Architecture Board, "IAB Technical Comment on the Unique DNS Root", RFC 2826, DOI 10.17487/RFC2826, May 2000, . [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, . Reddy & Wing Expires August 24, 2021 [Page 9] Internet-Draft Split-Horizon DNS Configuration February 2021 [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, . [RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS (DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018, . [RFC8801] Pfister, P., Vyncke, E., Pauly, T., Schinazi, D., and W. Shao, "Discovering Provisioning Domain Names and Data", RFC 8801, DOI 10.17487/RFC8801, July 2020, . 13.2. Informative References [Chrome-DoH] The Unicode Consortium, "Chrome DNS over HTTPS (aka DoH)", . [Chrome-Policy] The Unicode Consortium, "Chrome policies for users or browsers", . [Chromebook] Microsoft, "Chromebook security", . [Firefox-Policy] "Policy templates for Firefox", . [I-D.arkko-farrell-arch-model-t] Arkko, J. and S. Farrell, "Challenges and Changes in the Internet Threat Model", draft-arkko-farrell-arch-model- t-04 (work in progress), July 2020. Reddy & Wing Expires August 24, 2021 [Page 10] Internet-Draft Split-Horizon DNS Configuration February 2021 [I-D.btw-add-home] Boucadair, M., Reddy.K, T., Wing, D., Cook, N., and T. Jensen, "DHCP and Router Advertisement Options for Encrypted DNS Discovery", draft-btw-add-home-12 (work in progress), January 2021. [I-D.btw-add-ipsecme-ike] Boucadair, M., Reddy.K, T., Wing, D., and V. Smyslov, "Internet Key Exchange Protocol Version 2 (IKEv2) Configuration for Encrypted DNS", draft-btw-add-ipsecme- ike-01 (work in progress), September 2020. [I-D.ietf-dprive-phase2-requirements] Livingood, J., Mayrhofer, A., and B. Overeinder, "DNS Privacy Requirements for Exchanges between Recursive Resolvers and Authoritative Servers", draft-ietf-dprive- phase2-requirements-02 (work in progress), November 2020. [MDM-Apple] Apple, "Mobile Device Management", . [OTA] Apple, "Over-the-Air Profile Delivery Concepts", . [PEAP] Microsoft, "[MS-PEAP]: Protected Extensible Authentication Protocol (PEAP)", . [RFC4764] Bersani, F. and H. Tschofenig, "The EAP-PSK Protocol: A Pre-Shared Key Extensible Authentication Protocol (EAP) Method", RFC 4764, DOI 10.17487/RFC4764, January 2007, . [RFC6950] Peterson, J., Kolkman, O., Tschofenig, H., and B. Aboba, "Architectural Considerations on Application Features in the DNS", RFC 6950, DOI 10.17487/RFC6950, October 2013, . [RFC7296] Kaufman, C., Hoffman, P., Nir, Y., Eronen, P., and T. Kivinen, "Internet Key Exchange Protocol Version 2 (IKEv2)", STD 79, RFC 7296, DOI 10.17487/RFC7296, October 2014, . Reddy & Wing Expires August 24, 2021 [Page 11] Internet-Draft Split-Horizon DNS Configuration February 2021 [RFC7556] Anipko, D., Ed., "Multiple Provisioning Domain Architecture", RFC 7556, DOI 10.17487/RFC7556, June 2015, . [RFC7626] Bortzmeyer, S., "DNS Privacy Considerations", RFC 7626, DOI 10.17487/RFC7626, August 2015, . [RFC8146] Harkins, D., "Adding Support for Salted Password Databases to EAP-pwd", RFC 8146, DOI 10.17487/RFC8146, April 2017, . [RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499, January 2019, . [RFC8598] Pauly, T. and P. Wouters, "Split DNS Configuration for the Internet Key Exchange Protocol Version 2 (IKEv2)", RFC 8598, DOI 10.17487/RFC8598, May 2019, . [win10s] Microsoft, "Windows 10 in S mode", . Authors' Addresses Tirumaleswar Reddy McAfee, Inc. Embassy Golf Link Business Park Bangalore, Karnataka 560071 India Email: kondtir@gmail.com Dan Wing Citrix Systems, Inc. 4988 Great America Pkwy Santa Clara, CA 95054 USA Email: danwing@gmail.com Reddy & Wing Expires August 24, 2021 [Page 12]