-
Notifications
You must be signed in to change notification settings - Fork 3
/
draft-reddy-add-enterprise-policy-01.txt
608 lines (413 loc) · 24.3 KB
/
draft-reddy-add-enterprise-policy-01.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
ADD T. Reddy
Internet-Draft Akamai
Intended status: Standards Track D. Wing
Expires: September 2, 2022 Citrix
K. Smith
Vodafone
March 1, 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 September 2, 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 Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Reddy, et al. Expires September 2, 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 . . . . . . . . . . . . . . . . . . . . . . . . . 8
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), and routing
to internal (private) enterprise domains. It is out of the scope
of this memo to characterize such policies nor assess whether
they achieve the claimed intent.
Reddy, et al. Expires September 2, 2022 [Page 2]
Internet-Draft Network policy to use Resolvers March 2022
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 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]:
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
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].
Reddy, et al. Expires September 2, 2022 [Page 3]
Internet-Draft Network policy to use Resolvers March 2022
'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.
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 defined in [RFC8914] for the NetworkDNSOnly block. This key
is only present if NetworkDNSOnly is True. Note that the extended
error code "Blocked" defined in Section 4.16 of [RFC8914]
indicates that access to domains is blocked due to a 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.
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;
and that any requests to resolve private domains internal to the network
will fail if an alternative DNS server is used.
If NetworkDNSOnly is True, the ErrorNetworkDNSOnly key MUST contain
the extended DNS error code defined in [RFC8914] for this block. The
ErrorNetworkDNSOnly key is useful when the client does not use DNS
Reddy, et al. Expires September 2, 2022 [Page 4]
Internet-Draft Network policy to use Resolvers March 2022
resolution by the network-designated DNS server to acquire the IP address
of an alternate DNS servers. For example, the client can be
pre-configured with both the domain name and IP addresses of a non-network
DNS server (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]). In this case, the extended error code
"Blocked" defined in [RFC8914] cannot be returned to the client to provide
additional information about the cause for the block. Further, the
ErrorNetworkDNSOnly key is useful when the network security service fails
to block access to the 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
Reddy, et al. Expires September 2, 2022 [Page 5]
Internet-Draft Network policy to use Resolvers March 2022
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-
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,
Reddy, et al. Expires September 2, 2022 [Page 6]
Internet-Draft Network policy to use Resolvers March 2022
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.
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.
Reddy, et al. Expires September 2, 2022 [Page 7]
Internet-Draft Network policy to use Resolvers March 2022
9. References
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, E., 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 September 2, 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", draft-ietf-
add-ddr-05 (work in progress), January 2022.
[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)", draft-
ietf-add-dnr-05 (work in progress), December 2021.
[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>.
[RFC7556] Anipko, D., Ed., "Multiple Provisioning Domain
Architecture", RFC 7556, DOI 10.17487/RFC7556, June 2015,
<https://www.rfc-editor.org/info/rfc7556>.
Reddy, et al. Expires September 2, 2022 [Page 9]
Internet-Draft Network policy to use Resolvers March 2022
[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., "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, Karnataka 560071
India
Email: [email protected]
Dan Wing
Citrix Systems, Inc.
4988 Great America Pkwy
Santa Clara, CA 95054
USA
Email: [email protected]
Reddy, et al. Expires September 2, 2022 [Page 10]
Internet-Draft Network policy to use Resolvers March 2022
Kevin Smith
Vodafone Group
One Kingdom Street
London
UK
Email: [email protected]
Reddy, et al. Expires September 2, 2022 [Page 11]