< draft-ietf-dnsop-negative-trust-anchors-02.txt   draft-ietf-dnsop-negative-trust-anchors-03.txt >
Domain Name System Operations P. Ebersman Domain Name System Operations P. Ebersman
Internet-Draft Comcast Internet-Draft Comcast
Intended status: Informational C. Griffiths Intended status: Informational C. Griffiths
Expires: September 5, 2015 Dyn Expires: October 24, 2015 Dyn
W. Kumari W. Kumari
Google Google
J. Livingood J. Livingood
Comcast Comcast
R. Weber R. Weber
Nominum Nominum
March 04, 2015 April 22, 2015
Definition and Use of DNSSEC Negative Trust Anchors Definition and Use of DNSSEC Negative Trust Anchors
draft-ietf-dnsop-negative-trust-anchors-02 draft-ietf-dnsop-negative-trust-anchors-03
Abstract Abstract
DNS Security Extensions (DNSSEC) is now entering widespread DNS Security Extensions (DNSSEC) is now entering widespread
deployment. However, domain signing tools and processes are not yet deployment. However, domain signing tools and processes are not yet
as mature and reliable as those for non-DNSSEC-related domain as mature and reliable as those for non-DNSSEC-related domain
administration tools and processes. Negative Trust Anchors administration tools and processes. Negative Trust Anchors
(described in this document) can be used to mitigate DNSSEC (described in this document) can be used to mitigate DNSSEC
validation failures. validation failures.
skipping to change at page 1, line 48 skipping to change at page 1, line 48
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 5, 2015. This Internet-Draft will expire on October 24, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction and motivation . . . . . . . . . . . . . . . . . 2
2. Definition of a Negative Trust Anchor . . . . . . . . . . . . 4 1.1. Definition of a Negative Trust Anchor . . . . . . . . . . 3
3. Domain Validation Failures . . . . . . . . . . . . . . . . . 4 1.2. Domain Validation Failures . . . . . . . . . . . . . . . 4
4. End User Reaction . . . . . . . . . . . . . . . . . . . . . . 4 1.3. End User Reaction . . . . . . . . . . . . . . . . . . . . 4
5. Switching to a Non-Validating Resolver is Not Recommended . . 5 1.4. Switching to a Non-Validating Resolver is Not Recommended 5
6. Responsibility for Failures . . . . . . . . . . . . . . . . . 5 2. Use of a Negative Trust Anchor . . . . . . . . . . . . . . . 5
7. Use of a Negative Trust Anchor . . . . . . . . . . . . . . . 6 3. Managing Negative Trust Anchors . . . . . . . . . . . . . . . 6
8. Managing Negative Trust Anchors . . . . . . . . . . . . . . . 7 4. Removal of a Negative Trust Anchor . . . . . . . . . . . . . 7
9. Removal of a Negative Trust Anchor . . . . . . . . . . . . . 8 5. Comparison to Other DNS Misconfigurations . . . . . . . . . . 7
10. Comparison to Other DNS Misconfigurations . . . . . . . . . . 8 6. Intentionally Broken Domains . . . . . . . . . . . . . . . . 8
11. Intentionally Broken Domains . . . . . . . . . . . . . . . . 9 7. Other Considerations . . . . . . . . . . . . . . . . . . . . 8
12. Other Considerations . . . . . . . . . . . . . . . . . . . . 9 7.1. Security Considerations . . . . . . . . . . . . . . . . . 8
12.1. Security Considerations . . . . . . . . . . . . . . . . 9 7.2. Privacy Considerations . . . . . . . . . . . . . . . . . 9
12.2. Privacy Considerations . . . . . . . . . . . . . . . . . 10 7.3. IANA Considerations . . . . . . . . . . . . . . . . . . . 9
12.3. IANA Considerations . . . . . . . . . . . . . . . . . . 10 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 9.1. Normative References . . . . . . . . . . . . . . . . . . 10
14.1. Normative References . . . . . . . . . . . . . . . . . . 11 9.2. Informative References . . . . . . . . . . . . . . . . . 10
14.2. Informative References . . . . . . . . . . . . . . . . . 12 Appendix A. Configuration Examples . . . . . . . . . . . . . . . 11
Appendix A. Configuration Examples . . . . . . . . . . . . . . . 12 A.1. NLNet Labs Unbound . . . . . . . . . . . . . . . . . . . 11
A.1. NLNet Labs Unbound . . . . . . . . . . . . . . . . . . . 13 A.2. ISC BIND . . . . . . . . . . . . . . . . . . . . . . . . 11
A.2. ISC BIND . . . . . . . . . . . . . . . . . . . . . . . . 13 A.3. Nominum Vantio . . . . . . . . . . . . . . . . . . . . . 12
A.3. Nominum Vantio . . . . . . . . . . . . . . . . . . . . . 13 Appendix B. Discovering broken domains . . . . . . . . . . . . . 12
Appendix B. Document Change Log . . . . . . . . . . . . . . . . 14 Appendix C. Document Change Log . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction
The Domain Name System (DNS), DNS Security Extensions (DNSSEC), and
related operational practices are defined extensively [RFC1034]
[RFC1035] [RFC4033] [RFC4034] [RFC4035] [RFC4398] [RFC4509] [RFC6781] 1. Introduction and motivation
[RFC5155].
This document defines a Negative Trust Anchor, which can be used This document defines a Negative Trust Anchor, which can be used
during the transition to ubiquitous DNSSEC deployment. Negative during the transition to ubiquitous DNSSEC deployment. Negative
Trust Anchors (NTAs) are configured locally on a validating DNS Trust Anchors (NTAs) are configured locally on a validating DNS
recursive resolver to shield end users from DNSSEC-related recursive resolver to shield end users from DNSSEC-related
authoritative name server operational errors. Negative Trust Anchors authoritative name server operational errors. Negative Trust Anchors
are intended to be temporary, and should not be distributed by IANA are intended to be temporary, and should not be distributed by IANA
or any other organization outside of the administrative boundary of or any other organization outside of the administrative boundary of
the organization locally implementing a Negative Trust Anchor. the organization locally implementing a Negative Trust Anchor.
Finally, Negative Trust Anchors pertain only to DNSSEC and not to Finally, Negative Trust Anchors pertain only to DNSSEC and not to
skipping to change at page 3, line 44 skipping to change at page 3, line 37
end users. This allows the domain's administrators to fix their end users. This allows the domain's administrators to fix their
misconfiguration, while also allowing the organization using the misconfiguration, while also allowing the organization using the
Negative Trust Anchor to keep DNSSEC validation enabled and still Negative Trust Anchor to keep DNSSEC validation enabled and still
reach the misconfigured domain. reach the misconfigured domain.
It is worth noting the following text from RFC4033 [RFC4033] - "In It is worth noting the following text from RFC4033 [RFC4033] - "In
the final analysis, however, authenticating both DNS keys and data is the final analysis, however, authenticating both DNS keys and data is
a matter of local policy, which may extend or even override the a matter of local policy, which may extend or even override the
protocol extensions defined in this document set." A responsibility protocol extensions defined in this document set." A responsibility
(one of many) of a caching server operator is to "protect the (one of many) of a caching server operator is to "protect the
integrity of the cache." DNSSEC is just a tool to help accomplish integrity of the cache."
that. It carries ancillary data that a local cache administrator may
use to filter out undesired responses. DNSSEC is not an enforcement
mechanism, it's a resource. When I see folks voice opinions that
DNSSEC's recommended operation has to strictly followed, my gut
reaction is that these folks have forgotten the purpose of all of our
efforts. We don't secure protocols to make things work better. We
don't operate the DNS because we like to run a well run machine. We
don't run the Internet for the fun of it. (Some might enjoy running
it, that's job satisfaction to some extent.) At the end of the day
all that matters is that what is being done benefits society. We run
the Internet to enrich society. We prefer a well run DNS because it
saps less resources than a poorly run DNS. We prefer secure
protocols so that people don't become victims (in some sense of the
word). Make it work. Do what it takes to make it work. "Local
policy" rules.
2. Definition of a Negative Trust Anchor 1.1. Definition of a Negative Trust Anchor
Trust Anchors are defined in [RFC5914]. A trust anchor should be Trust Anchors are defined in [RFC5914]. A trust anchor should be
used by a validating caching resolver as a starting point for used by a validating caching resolver as a starting point for
building the authentication chain for a signed DNS response. The building the authentication chain for a signed DNS response. By way
inverse of this is a Negative Trust Anchor, which creates a stopping of analogy, negative trust anchors stop validation of the
point for a caching resolver to end validation of the authentication authentication chain. Instead, the resolver sends the response as if
chain. Instead, the resolver sends the response as if the zone is the zone is unsigned and does not set the AD bit. Note that this is
unsigned and does not set the AD bit. Note that this is a behavior, a behavior, and not a separate resource record. This Negative Trust
and not a separate resource record. This Negative Trust Anchor can Anchor can potentially be implemented at any level within the chain
potentially be implemented at any level within the chain of trust and of trust and would stop validation from that point in the chain down.
would stop validation from that point in the chain down.
3. Domain Validation Failures 1.2. Domain Validation Failures
A domain name can fail validation for two general reasons: a A domain name can fail validation for two general reasons: a
legitimate security failure such as due to an attack or compromise of legitimate security failure such as due to an attack or compromise of
some sort, or as a result of misconfiguration on the part of an some sort, or as a result of misconfiguration on the part of an
domain administrator. As domains transition to DNSSEC, the most domain administrator. As domains transition to DNSSEC, the most
likely reason for a validation failure will be misconfiguration. likely reason for a validation failure will be misconfiguration.
Thus, domain administrators should be sure to read [RFC6781] in full. Thus, domain administrators should be sure to read [RFC6781] in full.
They should also pay special attention to Section 4.2, pertaining to They should also pay special attention to Section 4.2, pertaining to
key rollovers, which appear to be the cause of many recent validation key rollovers, which appear to be the cause of many recent validation
failures. failures.
It is also possible that some DNSSEC validation failures could arise It is also possible that some DNSSEC validation failures could arise
due to differences in how different software developers interpret due to differences in how different software developers interpret
DNSSEC standards and/or how those developers choose to implement DNSSEC standards and/or how those developers choose to implement
support for DNSSEC. For example, it is conceivable that a domain may support for DNSSEC. For example, it is conceivable that a domain may
be DNSSEC signed properly, and one vendor's DNS recursive resolvers be DNSSEC signed properly, and one vendor's DNS recursive resolvers
will validate the domain but other vendors' software may fail to will validate the domain but other vendors' software may fail to
validate the domain. validate the domain.
4. End User Reaction 1.3. End User Reaction
End users generally do not know what DNSSEC is, nor should they be End users generally do not know of, understand, or care about the
expected to at the current time (especially absent widespread resolution process that causes connections to happen. This is by
integration of DNSSEC indicators in end user software such as web design: the point of the DNS is to insulate users from having to
browsers). As a result, end users may misinterpret the failure to remember IP addresses through a friendlier way of naming systems. It
reach a domain due to DNSSEC-related misconfiguration . They may follows from this that end users do not, and should not, be expected
(incorrectly) assume that their ISP is purposely blocking access to to know about DNSSEC, validation, or anything of the sort. As a
the domain or that it is a performance failure on the part of their result, end users may misinterpret the failure to reach a domain due
ISP (especially of the ISP's DNS servers). They may contact their to DNSSEC-related misconfiguration . They may (incorrectly) assume
ISP to complain, which will incur cost for their ISP. In addition, that their ISP is purposely blocking access to the domain or that it
they may use online tools and sites to complain of this problem, such is a performance failure on the part of their ISP (especially of the
as via a blog, web forum, or social media site, which may lead to ISP's DNS servers). They may contact their ISP to complain, which
dissatisfaction on the part of other end users or general criticism will incur cost for their ISP. In addition, they may use online
of an ISP or operator of a DNS recursive resolver. tools and sites to complain of this problem, such as via a blog, web
forum, or social media site, which may lead to dissatisfaction on the
part of other end users or general criticism of an ISP or operator of
a DNS recursive resolver.
As end users publicize these failures, others may recommend they As end users publicize these failures, others may recommend they
switch from security-aware DNS resolvers to resolvers not performing switch from security-aware DNS resolvers to resolvers not performing
DNSSEC validation. This is a shame since the ISP or other DNS DNSSEC validation. This is a shame since the ISP or other DNS
recursive resolver operator is actually doing exactly what they are recursive resolver operator is actually doing exactly what they are
supposed to do in failing to resolve a domain name, as this is the supposed to do in failing to resolve a domain name, as this is the
expected result when a domain can no longer be validated, protecting expected result when a domain can no longer be validated, protecting
end users from a potential security threat. Use of a Negative Trust end users from a potential security threat. Use of a Negative Trust
Anchor would allow the ISP to specifically remedy the failure to Anchor would allow the ISP to specifically remedy the failure to
reach that domain, without compromising security for other sites. reach that domain, without compromising security for other sites.
skipping to change at page 5, line 22 skipping to change at page 5, line 4
As end users publicize these failures, others may recommend they As end users publicize these failures, others may recommend they
switch from security-aware DNS resolvers to resolvers not performing switch from security-aware DNS resolvers to resolvers not performing
DNSSEC validation. This is a shame since the ISP or other DNS DNSSEC validation. This is a shame since the ISP or other DNS
recursive resolver operator is actually doing exactly what they are recursive resolver operator is actually doing exactly what they are
supposed to do in failing to resolve a domain name, as this is the supposed to do in failing to resolve a domain name, as this is the
expected result when a domain can no longer be validated, protecting expected result when a domain can no longer be validated, protecting
end users from a potential security threat. Use of a Negative Trust end users from a potential security threat. Use of a Negative Trust
Anchor would allow the ISP to specifically remedy the failure to Anchor would allow the ISP to specifically remedy the failure to
reach that domain, without compromising security for other sites. reach that domain, without compromising security for other sites.
This would result in a satisfied end user, with minimal impact to the This would result in a satisfied end user, with minimal impact to the
ISP, while maintaining the security of DNSSEC for correctly ISP, while maintaining the security of DNSSEC for correctly
maintained domains. maintained domains.
5. Switching to a Non-Validating Resolver is Not Recommended 1.4. Switching to a Non-Validating Resolver is Not Recommended
As noted in Section 4, some people may consider switching to an As noted in Section 1.3, some people may consider switching to an
alternative, non-validating resolver themselves, or may recommend alternative, non-validating resolver themselves, or may recommend
that others do so. But if a domain fails DNSSEC validation and is that others do so. But if a domain fails DNSSEC validation and is
inaccessible, this could very well be due to a security-related inaccessible, this could very well be due to a security-related
issue. In order to be as safe and secure as possible, end users issue. In order to be as safe and secure as possible, end users
should not change to DNS servers that do not perform DNSSEC should not change to DNS servers that do not perform DNSSEC
validation as a workaround, and people should not recommend that validation as a workaround, and people should not recommend that
others do so either. Domains that fail DNSSEC for legitimate reasons others do so either. Domains that fail DNSSEC for legitimate reasons
(versus misconfiguration) may be in control of hackers or there could (versus misconfiguration) may be in control of hackers or there could
be other significant security issues with the domain. be other significant security issues with the domain.
Thus, switching to a non-validating resolver to restore access to a Thus, switching to a non-validating resolver to restore access to a
domain that fails DNSSEC validation is not a recommended practice, is domain that fails DNSSEC validation is not a recommended practice, is
bad advice to others, is potentially harmful to end user security, bad advice to others, is potentially harmful to end user security.
and is potentially harmful to DNSSEC adoption.
6. Responsibility for Failures
A domain administrator is solely and completely responsible for
managing their domain name(s) and DNS resource records. This
includes complete responsibility for the correctness of those
resource records, the proper functioning of their DNS authoritative
servers, and the correctness of DNS records linking their domain to a
top-level domain (TLD) or other higher level domain. Even in cases
where some error may be introduced by a third party, whether that is
due to an authoritative server software vendor, software tools
vendor, domain name registrar, or other organization, these are all
parties that the domain administrator has selected or approved, and
therefore is responsible for managing successfully.
There are some cases in which the domain administrator is not the
same as the domain owner. In those cases, a domain owner has
delegated operational responsibility to the domain administrator. So
no matter whether a domain owner is also the domain administrator or
not, the domain administrator is operationally responsible for the
proper configuration operation of the domain.
So in the case of a domain name failing to successfully validate,
when this is due to a misconfiguration of the domain, that is the
sole responsibility of the domain administrator.
Any assistance or mitigation responses undertaken by other parties to
mitigate the misconfiguration of a domain name by a domain
administrator, especially operators of DNS recursive resolvers, are
optional and at the pleasure of those parties.
7. Use of a Negative Trust Anchor 2. Use of a Negative Trust Anchor
Technical personnel trained in the operation of DNS servers MUST Technical personnel trained in the operation of DNS servers MUST
confirm that a failure is due to misconfiguration, as a similar confirm that a failure is due to misconfiguration, as a similar
breakage could have occurred if an attacker gained access to a breakage could have occurred if an attacker gained access to a
domain's authoritative servers and modified those records or had the domain's authoritative servers and modified those records or had the
domain pointed to their own rogue authoritative servers. They should domain pointed to their own rogue authoritative servers. They should
also confirm that the domain is not intentionally broken, such as for also confirm that the domain is not intentionally broken, such as for
testing purposes as noted in Section 11. Finally, they should make a testing purposes as noted in Section 6. Finally, they should make a
reasonable attempt to contact the domain owner of the misconfigured reasonable attempt to contact the domain owner of the misconfigured
zone, preferably prior to implementing the Negative Trust Anchor. zone, preferably prior to implementing the Negative Trust Anchor.
In the case of a validation failure due to misconfiguration of a TLD In the case of a validation failure due to misconfiguration of a TLD
or popular domain name (such as a top 100 website), this could make or popular domain name (such as a top 100 website), this could make
content or services in the affected TLD or domain inaccessible for a content or services in the affected TLD or domain inaccessible for a
large number of users. In such cases, it may be appropriate to use a large number of users. In such cases, it may be appropriate to use a
Negative Trust Anchor as soon as the misconfiguration is confirmed. Negative Trust Anchor as soon as the misconfiguration is confirmed.
Once a domain has been confirmed to fail DNSSEC validation due to a Once a domain has been confirmed to fail DNSSEC validation due to a
skipping to change at page 7, line 4 skipping to change at page 5, line 51
large number of users. In such cases, it may be appropriate to use a large number of users. In such cases, it may be appropriate to use a
Negative Trust Anchor as soon as the misconfiguration is confirmed. Negative Trust Anchor as soon as the misconfiguration is confirmed.
Once a domain has been confirmed to fail DNSSEC validation due to a Once a domain has been confirmed to fail DNSSEC validation due to a
DNSSEC-related misconfiguration, an ISP or other DNS recursive DNSSEC-related misconfiguration, an ISP or other DNS recursive
resolver operator may elect to use a Negative Trust Anchor for that resolver operator may elect to use a Negative Trust Anchor for that
domain or sub-domain. This instructs their DNS recursive resolver to domain or sub-domain. This instructs their DNS recursive resolver to
temporarily NOT perform DNSSEC validation at or in the misconfigured temporarily NOT perform DNSSEC validation at or in the misconfigured
domain. This immediately restores access to the domain for end users domain. This immediately restores access to the domain for end users
while the domain's administrator corrects the misconfiguration(s). while the domain's administrator corrects the misconfiguration(s).
It does not and should not involve turning off validation more It does not and should not involve turning off validation more
broadly. broadly.
A Negative Trust Anchor MUST only be used for a limited duration. A Negative Trust Anchor MUST only be used for a limited duration.
Implementors SHOULD allow the operator using the Negative Trust Implementors SHOULD allow the operator using the Negative Trust
Anchor to set an end time and date associated with any Negative Trust Anchor to set an end time and date associated with any Negative Trust
Anchor. Optimally this time and date is set in a DNS recursive Anchor. Optimally this time and date is set in a DNS recursive
resolver's configuration, though in the short-term this may also be resolver's configuration, though in the short-term this may also be
achieved via other systems or supporting processes. Use of a achieved via other systems or supporting processes. Use of a
Negative Trust Anchor MUST NOT be automatic. Negative Trust Anchor MUST NOT be automatic.
Finally, a Negative Trust Anchor SHOULD be used only in a specific Finally, a Negative Trust Anchor SHOULD be used only in a specific
domain or sub-domain and MUST NOT affect validation of other names up domain or sub-domain and MUST NOT affect validation of other names up
the authentication chain. For example, a Negative Trust Anchor for the authentication chain. For example, a Negative Trust Anchor for
zone1.example.com would affect only names at or below zone1.example.com would affect only names at or below
zone1.example.com, and validation would still be performed on zone1.example.com, and validation would still be performed on
example.com, .com, and the root ("."). In another example, a example.com, .com, and the root ("."). This Negative Trust Anchor
Negative Trust Anchor for example.com would affect only names within also SHOULD NOT affect names in another branch of the tree (such as
example.com, and validation would still be performed on .com, and the example.net). In another example, a Negative Trust Anchor for
root (".") example.com would affect only names within example.com, and
validation would still be performed on .com, and the root (".").
Root (.) <====== Root (.) <======
| || | ||
| ||<======>+----+----+ DNSSEC | ||<======>+----+----+ DNSSEC
| || |Recursive| Validation | || |Recursive| Validation
TLD (com) <=====|| |Resolver |<============> TLD (com) <=====|| |Resolver |<============>
| +<------>+---------+ | +<------>+---------+
| | DNS NTA | | DNS NTA
| | (example.com) | | (example.com)
SUB TLD (example.com) <------| <--------------> SUB TLD (example.com) <------| <-------------->
| | | |
| | | |
| | | |
(zone1.example.com <-----| (zone1.example.com <-----|
Figure 1: Negative Trust Anchor Diagram Figure 1: Negative Trust Anchor Diagram
8. Managing Negative Trust Anchors 3. Managing Negative Trust Anchors
While Negative Trust Anchors have proven useful during the early While Negative Trust Anchors have proven useful during the early
stages of DNSSEC adoption, domain owners are ultimately responsible stages of DNSSEC adoption, domain owners are ultimately responsible
for managing and ensuring their DNS records are configured correctly for managing and ensuring their DNS records are configured correctly.
Section 6.
Most current implementations of DNS validating resolvers currently Most current implementations of DNS validating resolvers currently
follow [RFC4033] on defining the implementation of Trust Anchor as follow [RFC4033] on defining the implementation of Trust Anchor as
either using Delegation Signer (DS), Key Signing Key (KSK), or Zone either using Delegation Signer (DS), Key Signing Key (KSK), or Zone
Signing Key (ZSK). A Negative Trust Anchor should use domain name Signing Key (ZSK). A Negative Trust Anchor should use domain name
formatting that signifies where in a delegation a validation process formatting that signifies where in a delegation a validation process
should be stopped. should be stopped.
Different DNS recursive resolvers may have different configuration Different DNS recursive resolvers may have different configuration
names for a Negative Trust Anchor. For example, Unbound calls their names for a Negative Trust Anchor. For example, Unbound calls their
configuration "domain-insecure." configuration "domain-insecure."
[Unbound-Configuration] [Unbound-Configuration]
9. Removal of a Negative Trust Anchor 4. Removal of a Negative Trust Anchor
As explored in Section 12.1, using an NTA once the zone correctly As explored in Section 7.1, using an NTA once the zone correctly
validates can have security considerations. It is therefore validates can have security considerations. It is therefore
recommended that NTA implementors should periodically attempt to recommended that NTA implementors should periodically attempt to
validate the domain in question, for the period of time that the validate the domain in question, for the period of time that the
Negative Trust Anchor is in place, until such validation is again Negative Trust Anchor is in place, until such validation is again
successful. NTAs MUST expire automatically when their configured successful. NTAs MUST expire automatically when their configured
lifetime ends. The lifetime MUST NOT exceed a week. Before removing lifetime ends. The lifetime MUST NOT exceed a week. Before removing
the Negative Trust Anchor, all authoritative resolvers listed in the the Negative Trust Anchor, all authoritative resolvers listed in the
zone should be checked (due to anycast and load balancers it may not zone should be checked (due to anycast and load balancers it may not
be possible to check all instances). be possible to check all instances).
skipping to change at page 8, line 42 skipping to change at page 7, line 40
presumed no longer to be necessary and is removed. Implementations presumed no longer to be necessary and is removed. Implementations
SHOULD, by default, perform this operation. Note that under some SHOULD, by default, perform this operation. Note that under some
circumstances this is undesirable behavior (for example, if circumstances this is undesirable behavior (for example, if
www.example.com has a bad signature, but example.com/SOA is fine) and www.example.com has a bad signature, but example.com/SOA is fine) and
so implementations may wish to allow the operator to override this so implementations may wish to allow the operator to override this
spot-check / behavior. spot-check / behavior.
When removing the NTA, the implementation should remove all cached When removing the NTA, the implementation should remove all cached
entries below the NTA node. entries below the NTA node.
10. Comparison to Other DNS Misconfigurations 5. Comparison to Other DNS Misconfigurations
As noted in Section 6, domain administrators are ultimately Domain administrators are ultimately responsible for managing and
responsible for managing and ensuring their DNS records are ensuring their DNS records are configured correctly. ISPs or other
configured correctly. ISPs or other DNS recursive resolver operators DNS recursive resolver operators cannot and should not correct
cannot and should not correct misconfigured A, CNAME, MX, or other misconfigured A, CNAME, MX, or other resource records of domains for
resource records of domains for which they are not authoritative. which they are not authoritative. Expecting non-authoritative
Expecting non-authoritative entities to protect domain administrators entities to protect domain administrators from any misconfiguration
from any misconfiguration of resource records is therefore of resource records is therefore unrealistic and unreasonable, and in
unrealistic and unreasonable, and in the long-term is harmful to the the long-term is harmful to the delegated design of the DNS and could
delegated design of the DNS and could lead to extensive operational lead to extensive operational instability and/or variation.
instability and/or variation.
11. Intentionally Broken Domains 6. Intentionally Broken Domains
Some domains, such as dnssec-failed.org, have been intentionally Some domains, such as dnssec-failed.org, have been intentionally
broken for testing purposes broken for testing purposes
[Measuring-DNSSEC-Validation-of-Website-Visitors] [Netalyzr]. For [Measuring-DNSSEC-Validation-of-Website-Visitors] [Netalyzr]. For
example, dnssec-failed.org is a DNSSEC-signed domain that is broken. example, dnssec-failed.org is a DNSSEC-signed domain that is broken.
If an end user is querying a validating DNS recursive resolver, then If an end user is querying a validating DNS recursive resolver, then
this or other similarly intentionally broken domains should fail to this or other similarly intentionally broken domains should fail to
resolve and should result in a SERVFAIL error. If such a domain resolve and should result in a SERVFAIL error. If such a domain
resolved successfully, then it is a sign that the DNS recursive resolved successfully, then it is a sign that the DNS recursive
resolver is not fully validating. resolver is not fully validating.
Organizations that utilize Negative Trust Anchors should not add a Organizations that utilize Negative Trust Anchors should not add a
Negative Trust Anchor for any intentionally broken domain. Negative Trust Anchor for any intentionally broken domain.
Organizations operating an intentionally broken domain may wish to Organizations operating an intentionally broken domain may wish to
consider adding a TXT record for the domain to the effect of "This consider adding a TXT record for the domain to the effect of "This
domain is purposely DNSSEC broken for testing purposes". domain is purposely DNSSEC broken for testing purposes".
12. Other Considerations 7. Other Considerations
12.1. Security Considerations 7.1. Security Considerations
End to end DNSSEC validation will be disabled during the time that a End to end DNSSEC validation will be disabled during the time that a
Negative Trust Anchor is used. In addition, the Negative Trust Negative Trust Anchor is used. In addition, the Negative Trust
Anchor may be in place after the point in time when the DNS Anchor may be in place after the point in time when the DNS
misconfiguration that caused validation to break has been fixed. misconfiguration that caused validation to break has been fixed.
Thus, there may be a gap between when a domain has have been re- Thus, there may be a gap between when a domain has have been re-
secured and when a Negative Trust Anchor is removed. In addition, a secured and when a Negative Trust Anchor is removed. In addition, a
Negative Trust Anchor may be put in place by DNS recursive resolver Negative Trust Anchor may be put in place by DNS recursive resolver
operators without the knowledge of the authoritative domain operators without the knowledge of the authoritative domain
administrator for a given domain name. However, attempts SHOULD be administrator for a given domain name. However, attempts SHOULD be
skipping to change at page 10, line 5 skipping to change at page 9, line 5
a domain that fails DNSSEC validation resolves with a supposedly a domain that fails DNSSEC validation resolves with a supposedly
validating resolver. As a result, implementors should consider validating resolver. As a result, implementors should consider
transparently disclosing those Negative Trust Anchors which are transparently disclosing those Negative Trust Anchors which are
currently in place or were in place in the past, such as on a website currently in place or were in place in the past, such as on a website
[Disclosure-Example]. This is particularly important since there is [Disclosure-Example]. This is particularly important since there is
currently no special DNS query response code that could indicate to currently no special DNS query response code that could indicate to
end users or applications that a Negative Trust Anchor is in place. end users or applications that a Negative Trust Anchor is in place.
Such disclosures should optimally include both the data and time that Such disclosures should optimally include both the data and time that
the Negative Trust Anchor was put in place and when it was removed. the Negative Trust Anchor was put in place and when it was removed.
12.2. Privacy Considerations 7.2. Privacy Considerations
There are no privacy considerations in this document. There are no privacy considerations in this document.
12.3. IANA Considerations 7.3. IANA Considerations
There are no IANA considerations in this document. There are no IANA considerations in this document.
13. Acknowledgements 8. Acknowledgements
Several people made contributions of text to this document and/or Several people made contributions of text to this document and/or
played an important role in the development and evolution of this played an important role in the development and evolution of this
document. This in some cases included performing a detailed review document. This in some cases included performing a detailed review
of this document and then providing feedback and constructive of this document and then providing feedback and constructive
criticism for future revisions, or engaging in a healthy debate over criticism for future revisions, or engaging in a healthy debate over
the subject of the document. All of this was helpful and therefore the subject of the document. All of this was helpful and therefore
the following individuals merit acknowledgement: the following individuals merit acknowledgement:
- Joe Abley - Joe Abley
skipping to change at page 11, line 22 skipping to change at page 10, line 22
- Antoin Verschuren - Antoin Verschuren
- Paul Vixie - Paul Vixie
- Patrik Wallstrom - Patrik Wallstrom
- Nick Weaver - Nick Weaver
- Ralf Weber - Ralf Weber
Edward Lewis and Evan Hunt provided especially large amounts of text. Edward Lewis, Evan Hunt and Andew Sullivan provided especially large
amounts of text and / or detailed review.
14. References
14.1. Normative References
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", 9. References
STD 13, RFC 1034, November 1987.
[RFC1035] Mockapetris, P., "Domain names - implementation and 9.1. Normative References
specification", STD 13, RFC 1035, November 1987.
[RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "DNS Security Introduction and Requirements", RFC Rose, "DNS Security Introduction and Requirements", RFC
4033, March 2005. 4033, March 2005.
[RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "Resource Records for the DNS Security Extensions",
RFC 4034, March 2005.
[RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "Protocol Modifications for the DNS Security
Extensions", RFC 4035, March 2005.
[RFC4398] Josefsson, S., "Storing Certificates in the Domain Name
System (DNS)", RFC 4398, March 2006.
[RFC4509] Hardaker, W., "Use of SHA-256 in DNSSEC Delegation Signer
(DS) Resource Records (RRs)", RFC 4509, May 2006.
[RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS
Security (DNSSEC) Hashed Authenticated Denial of
Existence", RFC 5155, March 2008.
[RFC5914] Housley, R., Ashmore, S., and C. Wallace, "Trust Anchor [RFC5914] Housley, R., Ashmore, S., and C. Wallace, "Trust Anchor
Format", RFC 5914, June 2010. Format", RFC 5914, June 2010.
[RFC6781] Kolkman, O., Mekking, W., and R. Gieben, "DNSSEC [RFC6781] Kolkman, O., Mekking, W., and R. Gieben, "DNSSEC
Operational Practices, Version 2", RFC 6781, December Operational Practices, Version 2", RFC 6781, December
2012. 2012.
14.2. Informative References 9.2. Informative References
[DNSSEC-Validation-Failure-Analysis]
Barnitz, J., Creighton, T., Ganster, C., Griffiths, C.,
and J. Livingood, "Analysis of DNSSEC Validation Failure -
NASA.GOV", Comcast , January 2012,
<http://www.dnssec.comcast.net/
DNSSEC_Validation_Failure_NASAGOV_20120118_FINAL.pdf>.
[Disclosure-Example] [Disclosure-Example]
Comcast, "faa.gov Failing DNSSEC Validation (Fixed)", Comcast, "faa.gov Failing DNSSEC Validation (Fixed)",
Comcast , February 2013, <http://dns.comcast.net/index Comcast , February 2013, <http://dns.comcast.net/index
.php/entry/faa-gov-failing-dnssec-validation-fixed>. .php/entry/faa-gov-failing-dnssec-validation-fixed>.
[Measuring-DNSSEC-Validation-of-Website-Visitors] [Measuring-DNSSEC-Validation-of-Website-Visitors]
Mens, J., "Is my Web site being used via a DNSSEC- Mens, J., "Is my Web site being used via a DNSSEC-
validator?", July 2012, <http://jpmens.net/2012/07/30/ validator?", July 2012, <http://jpmens.net/2012/07/30/
is-my-web-site-being-used-via-dnssec-validator/>. is-my-web-site-being-used-via-dnssec-validator/>.
skipping to change at page 14, line 5 skipping to change at page 12, line 22
_Command Channel_: view.update name=world negative-trust- _Command Channel_: view.update name=world negative-trust-
anchors=(foo.example.com) anchors=(foo.example.com)
_Command Channel_: resolver.update name=res1 negative-trust- _Command Channel_: resolver.update name=res1 negative-trust-
anchors=(foo.example.com) anchors=(foo.example.com)
*Description*: Disables DNSSEC validation for a domain, even if the *Description*: Disables DNSSEC validation for a domain, even if the
domain is under an existing security root. domain is under an existing security root.
Appendix B. Document Change Log Appendix B. Discovering broken domains
Discovering that a domain is DNSSEC broken as result of an operator
error instead of an attack is not trivial and the examples here
should be vetted by an experienced professional before taking the
decision on implementing an negative trust anchor.
One of the key thing to look for when looking at a DNSSEC broken
domain is consistency and history. It therefore is good if you have
the ability to look at the servers DNS traffic over a long period of
time or have a database that stores DNS names associated answers
(this is often referred to as a "passive DNS database"). Another
invaluable tool is dnsviz (http://www.dnsivz.net) which also stores
DNSSEC related data historically. The drawback here is that you need
to have it test the domain before the incident occurs which might not
always be the case.
The first and easiest thing to check is if the failure of the domain
is consistent across different software implementations. If not you
want to inform the vendor where it fails to look deeper in the issue.
The next thing is to figure out what the actual failure mode is.
There are several tools do this, an incomplete list includes:
o DNSViz (http://dnsviz.net)
o Verisign DNSSEC debugger (http://dnssec-debugger.verisignlabs.com)
o iis.se DNS check (http://dnscheck.iis.se)
most of these tools are open source so you can them install locally
if you want.
Using the tools over the Internet has the advantage though that as
these are not located in the same part of the network you already
will have more than local view by using different tools.
Once you figure out what the error is you need to check if it shows
consistently around the world and from all authoritative server.s Use
DNS Tools (dig) or DNS looking glasses to verify this. An error that
is consistently the same is more likely to be operator caused than an
attack, although that is not an guarantee. Also if the output from
the authoritative server is consistently different from the resolvers
output this hints to an attack rather then an error, unless there is
EDNS0 client subnet (draft-vandergaast-edns-client-subnet) applied to
the domain.
A last check is to look at the actual DNS data. Is the result of the
query still the same or has it changed? While a lot of DNSSEC errors
occur on events that changes DNSSEC data the actual record someone
wants to go often stays the same. Again if the data is the same this
is an indication that the error is operator caused not an guarantee.
Keep in mind that with DNS being used to globally balance traffic the
data associated to a name might be different in different parts of
the Internet.
Here are some examples of common DNSSEC failures that have been seen
as operator signing errors on the Internet:
o RRSIG timing issue. Each signature has an inception and expiry
time in which between it is valid. Letting this time expire
without creating a new signature is one of the most common DNSSEC
errors. To a lesser extent it also happened that signatures where
made active before the inception time. For all of these errors
your primary check is to check on the data. Signature expiration
is also about the only error we see on actual data (like
www.example.com). All other errors are more or less related to
dealing with the chain of trust established by DS records in the
parent zone and DNSKEYs in the child zones. These mostly occur
during key rollovers, but are not limited to that.
o DNSKEYs in child zone don't match parents zone DS record. There
is a big variation of this that can happen at any point in the key
lifecycle. DNSViz is the best tools to show problems in the
chain. If you debug yourself use dig +multiline so that you can
see the key id of a DNSKEY. Common Variations of this can be:
o DS pointing to a non existent key in the child zone. Questions
for considerations here are: Has the existed before and was used?
Was there a change in the DNSKEY RRSet recently (indicating a key
rollover) and of course has the actual data in the zone changes.
Is the zone DNSSEC signed at all and has it been in the past?
o DS pointing to an existent key, but no signatures are made with
the key. Again the checks above should be done with addition of
checking if another key in the DNSKEY RRSet is now used to sign
the records.
o Data in DS or DNSKEY doesn't match the other. This is more common
in initial setup when there was a copy and paste error. Again
checking history on data is the best you can do there. It's not
possible to give a checklist just to run through to decide if a
domain is broken because of an attack or an operator error.
All of the above is just a starting point for consideration when
having to decide to deploy or not deploy a trust anchor.
Appendix C. Document Change Log
[RFC Editor: This section is to be removed before publication] [RFC Editor: This section is to be removed before publication]
Ind-07 - WG-00: -02 to -03:
o Simply updated name to reflect WG doc. o Included text from Ralph into Appendix B
WG-00 to WG-01: o A bunch of comments from Andrew Sullivan ('[DNSOP] negative-trust-
anchors-02" - Mar 18th)
o Updated keywords
-01 to -02:
o Gah! I forgot to run spell check. And I type like a chimpanzee
with bad hand-eye coordination...
-00 to -01:
o Stole chunks of text from Ed Lewis' mailing list "tirade" :-) o Stole chunks of text from Ed Lewis' mailing list "tirade" :-)
o New rndc usage text from Evan. o New rndc usage text from Evan.
o Deleted the (already resolved) open issues from Appendix C, moved o Deleted the (already resolved) open issues from Appendix C, moved
the unresolved issues into github, resolved them! the unresolved issues into github, resolved them!
o Clarification that automated removal is best removal method, and o Clarification that automated removal is best removal method, and
how to implement (Evan Hunt) how to implement (Evan Hunt)
o Clarify that an NTA is not a RR (Rick Lamb) o Clarify that an NTA is not a RR (Rick Lamb)
o Grammar fixes. o Grammar fixes.
-01 to -02 Ind-07 - WG-00:
o Gah! I forgot to run spell check. And I type like a chimpanzee o Simply updated name to reflect WG doc.
with bad hand-eye coordination...
Individual-00: First version published as an individual draft. Individual-00: First version published as an individual draft.
Individual-01: Fixed minor typos and grammatical nits. Closed all Individual-01: Fixed minor typos and grammatical nits. Closed all
open editorial items. open editorial items.
Individual-02: Simple date change to keep doc from expiring. Individual-02: Simple date change to keep doc from expiring.
Substantive updates planned. Substantive updates planned.
Individual-03: Changes to address feedback from Paul Vixie, by adding Individual-03: Changes to address feedback from Paul Vixie, by adding
 End of changes. 43 change blocks. 
181 lines changed or deleted 205 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/