Internet DRAFT - draft-reddy-add-enterprise-policy
draft-reddy-add-enterprise-policy
ADD T. Reddy
Internet-Draft Akamai
Intended status: Standards Track D. Wing
Expires: 3 September 2022 Citrix
K. Smith
Vodafone
2 March 2022
Network policy to use Network-designated DNS Resolvers
draft-reddy-add-enterprise-policy-01
Abstract
This document specifies a mechanism to inform endpoints about any
network policy mandating the use of network-designated DNS resolvers.
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 3 September 2022.
Copyright Notice
Copyright (c) 2022 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.
Reddy, et al. Expires 3 September 2022 [Page 1]
Internet-Draft Network policy to use Resolvers March 2022
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. PvD NetworkDNSOnly and ErrorNetworkDNSOnly Keys . . . . . . . 4
4. Scope of NetworkDNSOnly Key . . . . . . . . . . . . . . . . . 5
5. An Example . . . . . . . . . . . . . . . . . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 7
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
9.1. Normative References . . . . . . . . . . . . . . . . . . 8
9.2. Informative References . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction
Historically, an endpoint would utilize network-designated 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). 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). With the advent of DoT and
DoH, such network blocking is more difficult. The network is unable
to express its policy to use network-designated resolvers to the
endpoints and the endpoint is unable to identify the reason why the
public DNS server is not reachable.
DNS resolvers not signaled by the network (e.g., DNS-over-TLS (DoT)
[RFC7858] or DNS-over-HTTPS (DoH) [RFC8484]) will bypass enterprise-
specific policies, including security policies for endpoints (e.g.,
laptops, printers, IoT devices). It is out of the scope of this memo
to characterize such policies nor assess whether they achieve the
claimed intent.
With the advent of DoT and DoH, the network is unable to express any
policy to the endpoints to explain why the network is blocking
alternative resolvers, and endpoints are unable to identify the
reason why their choice of public DNS resolver is not reachable.
Although network security services can be configured to block DoT
traffic by dropping outgoing packets to destination port number 853,
identifying DoH traffic is more challenging: network security
services may try to identify the well-known DoH resolvers by their
Reddy, et al. Expires 3 September 2022 [Page 2]
Internet-Draft Network policy to use Resolvers March 2022
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, with potenitally many
undesired consequences.
This results in incompatibilities with the privacy profiles discussed
in [RFC8310]:
* If an endpoint has enabled strict privacy profile (Section 5 of
[RFC8310]), the endpoint cannot resolve DNS names.
* 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
signaled 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.
This document describes a mechanism for informing endpoints of
network policy related to network-designated DNS servers, such as
those DNS servers signaled using [I-D.ietf-add-dnr] and
[I-D.ietf-add-ddr].
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, Corporation, Education facility. The
clients that connect to an enterprise network can securely
authenticate that network and the client is sure that it has
connected to the network it was expecting to.
Reddy, et al. Expires 3 September 2022 [Page 3]
Internet-Draft Network policy to use Resolvers March 2022
3. PvD NetworkDNSOnly and ErrorNetworkDNSOnly Keys
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 two PvD Key:
The NetworkDNSOnly PvD Key: which determines if network will block,
or attempt to block, DNS queries sent to DNS servers that were not
signaled by the network. This key has the value True or False
(case insensitive).
The ErrorNetworkDNSOnly PvD Key: which contains a extended DNS error
code as defined by [RFC8914]. This key is only present if
NetworkDNSOnly is True.
Where enterprise networks require clients to query the network-
designated DNS servers, it sets the PvD NetworkDNSOnly key to True,
otherwise sets NetworkDNSOnly to False. If NetworkDNSOnly is set to
True, it implies the network will block, or attempt to block, DNS
queries sent to DNS servers that were not signaled by the network.
If NetworkDNSOnly is True, the ErrorNetworkDNSOnly key MUST contain
either 15, 16 or 17 Extended DNS error codes as defined by [RFC8914].
Note that the extended error code "Blocked" defined in Section 4.16
of [RFC8914] identifies indicates that access to domains is blocked
due to an policy by the operator of the DNS server, extended error
code "Censored" defined in Section 4.17 of [RFC8914] identifies
access to domains is blocked based on a requirement from an external
entity and the extended error code "Filtered" defined in Section 4.18
of [RFC8914] identifies access to domains is blocked based on the
request from the client to blacklist domains.
Reddy, et al. Expires 3 September 2022 [Page 4]
Internet-Draft Network policy to use Resolvers March 2022
The ErrorNetworkDNSOnly key is useful when the client does not use
DNS resolution by the network-designated DNS server to acquire the IP
addresses of alternate DNS servers. For example, the client can be
pre-configured with both the domain name and IP addresses of the DNS
server not signaled by the network (Section 7.1 in [RFC8310]) or the
client can be pre-configured with the IP address of the resolver, and
it uses IP address in the certificate as identifier (see [RFC8738]).
Further, the ErrorNetworkDNSOnly key is useful when the network
security service fails to block access to non-network DNS server but
successfully filters traffic from the endpoint to IP addresses not
conveyed to the endpoint as part of DNS resolution by the network-
designated DNS server.
NetworkDNSOnly set to True is an internal security policy expression
by the operator of the network but is not a policy prescription to
the endpoints to disable its use of its other configured DNS servers;
that is, the endpoint can ignore NetworkDNSOnly set to True. If
joining an un-trusted network (e.g., coffeeshop, hotel, airport
network), a True value of NetworkDNSOnly MUST be ignored. The
mechanism the client uses to determine 'trusted network' to assist
the user MUST involve authenticated identity of the network (not
merely matching SSID in the case of WiFi), such as 802.1X or
confirming the network-designated encrypted resolver name is pre-
configured in the Operating System and TLS handshake with it
succeeds. For example, the client can determine "Open" (unencrypted)
wireless networks are untrusted networks, notify the user that using
a shared and public Pre-Shared Key (PSK) for wireless authentication
is a untrusted network. If the pre-shared-key is the same for all
clients that connect to the same WLAN, the shared key will be
available to all nodes, including attackers, so it is possible to
mount an active on-path attack (e.g., [Evil-Twin], [Krack],
[Dragonblood]). For example, coffee shops and air ports use PSK and
are unwilling to perform complex configuration on their networks. In
addition, customers are generally unwilling to do complicated
provisioning on their devices just to obtain free Wi-Fi. This type
of networks can be tagged as "untrusted networks" with minimal human
intervention. In such cases the endpoint MAY choose to use an
alternate network (e.g., cellular) to resolve the global domain
names.
4. Scope of NetworkDNSOnly Key
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
Reddy, et al. Expires 3 September 2022 [Page 5]
Internet-Draft Network policy to use Resolvers March 2022
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-
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 network-designated DNS server 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-designated 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-designated DNS
server to access both private domains and global domains.
The scope of NetworkDNSOnly key is restricted to unmanaged BYOD
devices without a configuration profile on explicitly trusted
networks. In this use case, the user has authorized the client to
override local DNS settings for a specific network. It is similar to
the way users explicitly disable VPN connection in specific networks
and VPN connection is enabled by default in other networks for
privacy. The unmanaged BYOD devices use mutual authentication of the
client and the enterprise network. The client is typically
authenticated with their user credentials (e.g., username and
password). The network is typically authenticated with a certificate
(e.g., PEAP-MSCHAPv2 [PEAP]) or a mutually-authenticated key exchange
which is well-defended from offline attacks (e.g., EAP-pwd [RFC8146],
EAP-PSK [RFC4764]). Importantly, WPA-PSK and WPA2-PSK are not well-
defended from offline attacks and MUST NOT be used in conjunction
with NetworkDNSOnly set to True.
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,
Reddy, et al. Expires 3 September 2022 [Page 6]
Internet-Draft Network policy to use Resolvers March 2022
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.
5. An Example
The following example shows how the JSON keys defined in this
document can be used:
{
"identifier": "cafe.example.com.",
"expires": "2020-05-23T06:00:00Z",
"prefixes": ["2001:db8:1::/48", "2001:db8:4::/48"],
"NetworkDNSOnly": True,
"ErrorNetworkDNSOnly": 15
}
The JSON keys "identifier", "expires", and "prefixes" are defined in
[RFC8801].
6. Security Considerations
The content of NetworkDNSOnly and ErrorSplitDNSBlocked may be passed
to another (DNS) program for processing. As with any network input,
the content SHOULD be considered untrusted and handled accordingly.
The security considerations discussed in Section 3 and Section 4 need
to be considered to restrict the scope of NetworkDNSOnly and
ErrorSplitDNSBlocked PvD Keys to explicitly trusted networks. The
NetworkDNSOnly and ErrorSplitDNSBlocked PvD Keys assigned by an
anonymous or unknown network (e.g., coffee shops) MUST be ignored by
the client.
7. IANA Considerations
IANA is requested to add NetworkDNSOnly and ErrorSplitDNSBlocked PvD
Keys to the Additional Information PvD Keys registry
(https://www.iana.org/assignments/pvds/pvds.xhtml).
8. Acknowledgements
Thanks to Mohamed Boucadair, Jim Reid, Ben Schwartz, Tommy Pauly,
Paul Vixie, Ben Schwartz, and Vinny Parla for the discussion and
comments.
9. References
Reddy, et al. Expires 3 September 2022 [Page 7]
Internet-Draft Network policy to use Resolvers March 2022
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[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, <https://www.rfc-editor.org/info/rfc7858>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS
(DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018,
<https://www.rfc-editor.org/info/rfc8484>.
[RFC8801] Pfister, P., Vyncke, É., Pauly, T., Schinazi, D., and W.
Shao, "Discovering Provisioning Domain Names and Data",
RFC 8801, DOI 10.17487/RFC8801, July 2020,
<https://www.rfc-editor.org/info/rfc8801>.
9.2. Informative References
[Chrome-DoH]
The Unicode Consortium, "Chrome DNS over HTTPS (aka DoH)",
<https://www.chromium.org/developers/dns-over-https>.
[Chrome-Policy]
The Unicode Consortium, "Chrome policies for users or
browsers", <https://support.google.com/chrome/a/
answer/2657289?hl=en>.
[Chromebook]
Microsoft, "Chromebook security",
<https://support.google.com/chromebook/
answer/3438631?hl=en>.
[Dragonblood]
The Unicode Consortium, "Dragonblood: Analyzing the
Dragonfly Handshake of WPA3 and EAP-pwd",
<https://papers.mathyvanhoef.com/dragonblood.pdf>.
Reddy, et al. Expires 3 September 2022 [Page 8]
Internet-Draft Network policy to use Resolvers March 2022
[Evil-Twin]
The Unicode Consortium, "Evil twin (wireless networks)",
<https://en.wikipedia.org/wiki/
Evil_twin_(wireless_networks)>.
[Firefox-Policy]
"Policy templates for Firefox",
<https://github.com/mozilla/policy-templates/blob/master/
README.md#dnsoverhttps>.
[I-D.ietf-add-ddr]
Pauly, T., Kinnear, E., Wood, C. A., McManus, P., and T.
Jensen, "Discovery of Designated Resolvers", Work in
Progress, Internet-Draft, draft-ietf-add-ddr-05, 31
January 2022, <https://www.ietf.org/archive/id/draft-ietf-
add-ddr-05.txt>.
[I-D.ietf-add-dnr]
Boucadair, M., Reddy, T., Wing, D., Cook, N., and T.
Jensen, "DHCP and Router Advertisement Options for the
Discovery of Network-designated Resolvers (DNR)", Work in
Progress, Internet-Draft, draft-ietf-add-dnr-05, 13
December 2021, <https://www.ietf.org/archive/id/draft-
ietf-add-dnr-05.txt>.
[Krack] The Unicode Consortium, "Key Reinstallation Attacks",
2017, <https://www.krackattacks.com/>.
[MDM-Apple]
Apple, "Mobile Device Management",
<https://developer.apple.com/documentation/
devicemanagement>.
[OTA] Apple, "Over-the-Air Profile Delivery Concepts", <https://
developer.apple.com/library/archive/documentation/Networki
ngInternet/Conceptual/iPhoneOTAConfiguration/OTASecurity/
OTASecurity.html>.
[PEAP] Microsoft, "[MS-PEAP]: Protected Extensible Authentication
Protocol (PEAP)", <https://docs.microsoft.com/en-
us/openspecs/windows_protocols/ms-peap/5308642b-90c9-4cc4-
beec-fb367325c0f9>.
[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,
<https://www.rfc-editor.org/info/rfc4764>.
Reddy, et al. Expires 3 September 2022 [Page 9]
Internet-Draft Network policy to use Resolvers March 2022
[RFC7556] Anipko, D., Ed., "Multiple Provisioning Domain
Architecture", RFC 7556, DOI 10.17487/RFC7556, June 2015,
<https://www.rfc-editor.org/info/rfc7556>.
[RFC7626] Bortzmeyer, S., "DNS Privacy Considerations", RFC 7626,
DOI 10.17487/RFC7626, August 2015,
<https://www.rfc-editor.org/info/rfc7626>.
[RFC8146] Harkins, D., "Adding Support for Salted Password Databases
to EAP-pwd", RFC 8146, DOI 10.17487/RFC8146, April 2017,
<https://www.rfc-editor.org/info/rfc8146>.
[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,
<https://www.rfc-editor.org/info/rfc8310>.
[RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS
Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499,
January 2019, <https://www.rfc-editor.org/info/rfc8499>.
[RFC8738] Shoemaker, R.B., "Automated Certificate Management
Environment (ACME) IP Identifier Validation Extension",
RFC 8738, DOI 10.17487/RFC8738, February 2020,
<https://www.rfc-editor.org/info/rfc8738>.
[RFC8914] Kumari, W., Hunt, E., Arends, R., Hardaker, W., and D.
Lawrence, "Extended DNS Errors", RFC 8914,
DOI 10.17487/RFC8914, October 2020,
<https://www.rfc-editor.org/info/rfc8914>.
[win10s] Microsoft, "Windows 10 in S mode",
<https://www.microsoft.com/en-us/windows/s-mode>.
Authors' Addresses
Tirumaleswar Reddy
Akamai
Embassy Golf Link Business Park
Bangalore 560071
Karnataka
India
Email: kondtir@gmail.com
Reddy, et al. Expires 3 September 2022 [Page 10]
Internet-Draft Network policy to use Resolvers March 2022
Dan Wing
Citrix Systems, Inc.
4988 Great America Pkwy
Santa Clara, CA 95054
United States of America
Email: danwing@gmail.com
Kevin Smith
Vodafone Group
One Kingdom Street
London
United Kingdom
Email: kevin.smith@vodafone.com
Reddy, et al. Expires 3 September 2022 [Page 11]