rfc9077.original | rfc9077.txt | |||
---|---|---|---|---|
dnsop P. van Dijk | Internet Engineering Task Force (IETF) P. van Dijk | |||
Internet-Draft PowerDNS | Request for Comments: 9077 PowerDNS | |||
Updates: 4034, 4035, 5155, 8198 (if approved) 20 May 2021 | Updates: 4034, 4035, 5155, 8198 July 2021 | |||
Intended status: Standards Track | Category: Standards Track | |||
Expires: 21 November 2021 | ISSN: 2070-1721 | |||
NSEC and NSEC3 TTLs and NSEC Aggressive Use | NSEC and NSEC3: TTLs and Aggressive Use | |||
draft-ietf-dnsop-nsec-ttl-05 | ||||
Abstract | Abstract | |||
Due to a combination of unfortunate wording in earlier documents, | Due to a combination of unfortunate wording in earlier documents, | |||
aggressive use of NSEC and NSEC3 records may deny the existence of | aggressive use of NSEC and NSEC3 records may deny the existence of | |||
names far beyond the intended lifetime of a denial. This document | names far beyond the intended lifetime of a denial. This document | |||
changes the definition of the NSEC and NSEC3 TTL (Time To Live) to | changes the definition of the NSEC and NSEC3 TTL to correct that | |||
correct that situation. This document updates RFC 4034, RFC 4035, | situation. This document updates RFCs 4034, 4035, 5155, and 8198. | |||
RFC 5155, and RFC 8198. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
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 | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 21 November 2021. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9077. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Simplified BSD License text | to this document. Code Components extracted from this document must | |||
as described in Section 4.e of the Trust Legal Provisions and are | include Simplified BSD License text as described in Section 4.e of | |||
provided without warranty as described in the Simplified BSD License. | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 4 | 2. Conventions and Definitions | |||
3. NSEC and NSEC3 TTL changes . . . . . . . . . . . . . . . . . 4 | 3. NSEC and NSEC3 TTL Changes | |||
3.1. Updates to RFC4034 . . . . . . . . . . . . . . . . . . . 4 | 3.1. Updates to RFC 4034 | |||
3.2. Updates to RFC4035 . . . . . . . . . . . . . . . . . . . 5 | 3.2. Updates to RFC 4035 | |||
3.3. Updates to RFC5155 . . . . . . . . . . . . . . . . . . . 5 | 3.3. Updates to RFC 5155 | |||
3.4. Updates to RFC8198 . . . . . . . . . . . . . . . . . . . 6 | 3.4. Updates to RFC 8198 | |||
4. Zone Operator Considerations . . . . . . . . . . . . . . . . 6 | 4. Zone Operator Considerations | |||
4.1. A Note On Wildcards . . . . . . . . . . . . . . . . . . . 7 | 4.1. A Note on Wildcards | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 5. Security Considerations | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 6. IANA Considerations | |||
7. Normative References . . . . . . . . . . . . . . . . . . . . 7 | 7. Normative References | |||
Appendix A. Implementation Status . . . . . . . . . . . . . . . 8 | Acknowledgements | |||
Appendix B. Document history . . . . . . . . . . . . . . . . . . 8 | Author's Address | |||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 10 | ||||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 10 | ||||
1. Introduction | 1. Introduction | |||
[RFC editor: please remove this block before publication. | [RFC2308] defines the TTL of the Start of Authority (SOA) record that | |||
Earlier notes on this: | ||||
* https://indico.dns-oarc.net/event/29/sessions/98/#20181013 | ||||
(https://indico.dns-oarc.net/event/29/sessions/98/#20181013) | ||||
* https://lists.dns-oarc.net/pipermail/dns-operations/2018-April/ | ||||
thread.html#17420 (https://lists.dns-oarc.net/pipermail/dns- | ||||
operations/2018-April/thread.html#17420) | ||||
* https://lists.dns-oarc.net/pipermail/dns- | ||||
operations/2018-March/017416.html (https://lists.dns- | ||||
oarc.net/pipermail/dns-operations/2018-March/017416.html) | ||||
This document lives on GitHub (https://github.com/PowerDNS/draft- | ||||
dnsop-nsec-ttl); proposed text and editorial changes are very much | ||||
welcomed there, but any functional changes should always first be | ||||
discussed on the IETF DNSOP WG mailing list. | ||||
] | ||||
[RFC2308] defines the TTL of the SOA (Start Of Authority) record that | ||||
must be returned in negative answers (NXDOMAIN or NODATA): | must be returned in negative answers (NXDOMAIN or NODATA): | |||
| The TTL of this record is set from the minimum of the MINIMUM | | The TTL of this record is set from the minimum of the MINIMUM | |||
| field of the SOA record and the TTL of the SOA itself, and | | field of the SOA record and the TTL of the SOA itself, and | |||
| indicates how long a resolver may cache the negative answer. | | indicates how long a resolver may cache the negative answer. | |||
Thus, if the TTL of the SOA in the zone is lower than the SOA MINIMUM | Thus, if the TTL of the SOA in the zone is lower than the SOA MINIMUM | |||
value (the last number in the SOA record), the authoritative server | value (the last number in the SOA record), the authoritative server | |||
sends that lower value as the TTL of the returned SOA record. The | sends that lower value as the TTL of the returned SOA record. The | |||
resolver always uses the TTL of the returned SOA record when setting | resolver always uses the TTL of the returned SOA record when setting | |||
the negative TTL in its cache. | the negative TTL in its cache. | |||
However, [RFC4034] section 4 has this unfortunate text: | However, [RFC4034], Section 4 has this unfortunate text: | |||
| The NSEC RR SHOULD have the same TTL value as the SOA minimum TTL | | The NSEC RR SHOULD have the same TTL value as the SOA minimum TTL | |||
| field. This is in the spirit of negative caching ([RFC2308]). | | field. This is in the spirit of negative caching ([RFC2308]). | |||
This text, while referring to RFC2308, can cause NSEC records to have | This text, while referring to [RFC2308], can cause NSEC records to | |||
much higher TTLs than the appropriate negative TTL for a zone. | have much higher TTLs than the appropriate negative TTL for a zone. | |||
[RFC5155] contains equivalent text. | [RFC5155] contains equivalent text. | |||
[RFC8198] section 5.4 tries to correct this: | [RFC8198], Section 5.4 tries to correct this: | |||
| Section 5 of [RFC2308] also states that a negative cache entry TTL | | Section 5 of [RFC2308] also states that a negative cache entry TTL | |||
| is taken from the minimum of the SOA.MINIMUM field and SOA's TTL. | | is taken from the minimum of the SOA.MINIMUM field and SOA's TTL. | |||
| This can be less than the TTL of an NSEC or NSEC3 record, since | | This can be less than the TTL of an NSEC or NSEC3 record, since | |||
| their TTL is equal to the SOA.MINIMUM field (see [RFC4035], | | their TTL is equal to the SOA.MINIMUM field (see [RFC4035], | |||
| Section 2.3 and [RFC5155], Section 3). | | Section 2.3 and [RFC5155], Section 3). | |||
| | | | |||
| A resolver that supports aggressive use of NSEC and NSEC3 SHOULD | | A resolver that supports aggressive use of NSEC and NSEC3 SHOULD | |||
| reduce the TTL of NSEC and NSEC3 records to match the SOA.MINIMUM | | reduce the TTL of NSEC and NSEC3 records to match the SOA.MINIMUM | |||
| field in the authority section of a negative response, if | | field in the authority section of a negative response, if | |||
| SOA.MINIMUM is smaller. | | SOA.MINIMUM is smaller. | |||
But the NSEC and NSEC3 RRs should, according to RFC4034 and RFC5155, | But the NSEC and NSEC3 RRs should, according to [RFC4034] and | |||
already be at the value of the MINIMUM field in the SOA. Thus, the | [RFC5155], already be at the value of the MINIMUM field in the SOA. | |||
advice from RFC8198 would not actually change the TTL used for the | Thus, the advice from [RFC8198] would not actually change the TTL | |||
NSEC and NSEC3 RRs for authoritative servers that follow the RFCs. | used for the NSEC and NSEC3 RRs for authoritative servers that follow | |||
the RFCs. | ||||
As a theoretical exercise, consider a TLD named ".example" with a SOA | As a theoretical exercise, consider a top-level domain (TLD) named | |||
record like this: | .example with an SOA record like this: | |||
"example. 900 IN SOA primary.example. hostmaster.example. 1 1800 900 | example. 900 IN SOA primary.example. dnsadmin.example. ( | |||
604800 86400" | 1 1800 900 604800 86400 ) | |||
The SOA record has a 900 second TTL, and a 86400 MINIMUM TTL. | The SOA record has a 900-second TTL and an 86400-second MINIMUM TTL. | |||
Negative responses from this zone have a 900 second TTL, but the NSEC | Negative responses from this zone have a 900-second TTL, but the NSEC | |||
or NSEC3 records in those negative responses have a 86400 TTL. If a | or NSEC3 records in those negative responses have an 86400-second | |||
resolver were to use those NSEC or NSEC3 records aggressively, they | TTL. If a resolver were to use those NSEC or NSEC3 records | |||
would be considered valid for a day, instead of the intended 15 | aggressively, they would be considered valid for a day instead of the | |||
minutes. | intended 15 minutes. | |||
2. Conventions and Definitions | 2. Conventions and Definitions | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
3. NSEC and NSEC3 TTL changes | 3. NSEC and NSEC3 TTL Changes | |||
The existing texts in [RFC4034], [RFC4035], and [RFC5155] use the | [RFC4034], [RFC4035], and [RFC5155] use the SHOULD requirement level, | |||
SHOULD requirement level, but they were written when [RFC4035] still | but they were written prior to the publication of [RFC8198] when | |||
said 'However, it seems prudent for resolvers to avoid blocking new | [RFC4035] still said: | |||
authoritative data or synthesizing new data on their own'. [RFC8198] | ||||
updated that text to contain 'DNSSEC-enabled validating resolvers | ||||
SHOULD use wildcards and NSEC/NSEC3 resource records to generate | ||||
positive and negative responses until the effective TTLs or | ||||
signatures for those records expire'. This means that correctness of | ||||
NSEC and NSEC3 records, and their TTLs, has become much more | ||||
important. Because of that, the updates in this document upgrade the | ||||
requirement level to MUST. | ||||
3.1. Updates to RFC4034 | | However, it seems prudent for resolvers to avoid blocking new | |||
| authoritative data or synthesizing new data on their own. | ||||
Where [RFC4034] says: | [RFC8198] updated that text to contain: | |||
| ...DNSSEC-enabled validating resolvers SHOULD use wildcards and | ||||
| NSEC/NSEC3 resource records to generate positive and negative | ||||
| responses until the effective TTLs or signatures for those records | ||||
| expire. | ||||
This means that the correctness of NSEC and NSEC3 records and their | ||||
TTLs has become much more important. Because of that, the updates in | ||||
this document upgrade the requirement level to MUST. | ||||
3.1. Updates to RFC 4034 | ||||
[RFC4034] says: | ||||
| The NSEC RR SHOULD have the same TTL value as the SOA minimum TTL | | The NSEC RR SHOULD have the same TTL value as the SOA minimum TTL | |||
| field. This is in the spirit of negative caching ([RFC2308]). | | field. This is in the spirit of negative caching ([RFC2308]). | |||
This is updated to say: | This is updated to say: | |||
| The TTL of the NSEC RR that is returned MUST be the lesser of the | | The TTL of the NSEC RR that is returned MUST be the lesser of the | |||
| MINIMUM field of the SOA record and the TTL of the SOA itself. | | MINIMUM field of the SOA record and the TTL of the SOA itself. | |||
| This matches the definition of the TTL for negative responses in | | This matches the definition of the TTL for negative responses in | |||
| [RFC2308]. Because some signers incrementally update the NSEC | | [RFC2308]. Because some signers incrementally update the NSEC | |||
| chain, a transient inconsistency between the observed and expected | | chain, a transient inconsistency between the observed and expected | |||
| TTL MAY exist. | | TTL MAY exist. | |||
3.2. Updates to RFC4035 | 3.2. Updates to RFC 4035 | |||
Where [RFC4035] says: | [RFC4035] says: | |||
| The TTL value for any NSEC RR SHOULD be the same as the minimum | | The TTL value for any NSEC RR SHOULD be the same as the minimum | |||
| TTL value field in the zone SOA RR. | | TTL value field in the zone SOA RR. | |||
This is updated to say: | This is updated to say: | |||
| The TTL of the NSEC RR that is returned MUST be the lesser of the | | The TTL of the NSEC RR that is returned MUST be the lesser of the | |||
| MINIMUM field of the SOA record and the TTL of the SOA itself. | | MINIMUM field of the SOA record and the TTL of the SOA itself. | |||
| This matches the definition of the TTL for negative responses in | | This matches the definition of the TTL for negative responses in | |||
| [RFC2308]. Because some signers incrementally update the NSEC | | [RFC2308]. Because some signers incrementally update the NSEC | |||
| chain, a transient inconsistency between the observed and expected | | chain, a transient inconsistency between the observed and expected | |||
| TTL MAY exist. | | TTL MAY exist. | |||
3.3. Updates to RFC5155 | 3.3. Updates to RFC 5155 | |||
Where [RFC5155] says: | [RFC5155] says: | |||
| The NSEC3 RR SHOULD have the same TTL value as the SOA minimum TTL | | The NSEC3 RR SHOULD have the same TTL value as the SOA minimum TTL | |||
| field. This is in the spirit of negative caching [RFC2308]. | | field. This is in the spirit of negative caching [RFC2308]. | |||
This is updated to say: | This is updated to say: | |||
| The TTL of the NSEC3 RR that is returned MUST be the lesser of the | | The TTL of the NSEC3 RR that is returned MUST be the lesser of the | |||
| MINIMUM field of the SOA record and the TTL of the SOA itself. | | MINIMUM field of the SOA record and the TTL of the SOA itself. | |||
| This matches the definition of the TTL for negative responses in | | This matches the definition of the TTL for negative responses in | |||
| [RFC2308]. Because some signers incrementally update the NSEC3 | | [RFC2308]. Because some signers incrementally update the NSEC3 | |||
| chain, a transient inconsistency between the observed and expected | | chain, a transient inconsistency between the observed and expected | |||
| TTL MAY exist. | | TTL MAY exist. | |||
Where [RFC5155] says: | Where [RFC5155] says: | |||
| o The TTL value for any NSEC3 RR SHOULD be the same as the minimum | | * The TTL value for any NSEC3 RR SHOULD be the same as the | |||
| TTL value field in the zone SOA RR. | | minimum TTL value field in the zone SOA RR. | |||
This is updated to say: | This is updated to say: | |||
| o The TTL value for each NSEC3 RR MUST be the lesser of the | | * The TTL value for each NSEC3 RR MUST be the lesser of the | |||
| MINIMUM field of the zone SOA RR and the TTL of the zone SOA RR | | MINIMUM field of the zone SOA RR and the TTL of the zone SOA RR | |||
| itself. Because some signers incrementally update the NSEC3 | | itself. Because some signers incrementally update the NSEC3 | |||
| chain, a transient inconsistency between the observed and expected | | chain, a transient inconsistency between the observed and | |||
| TTL MAY exist. | | expected TTL MAY exist. | |||
3.4. Updates to RFC8198 | 3.4. Updates to RFC 8198 | |||
[RFC8198] section 5.4 (Consideration on TTL) is completely replaced | [RFC8198], Section 5.4 ("Consideration on TTL") is completely | |||
by the following text: | replaced by the following text: | |||
| The TTL value of negative information is especially important, | | The TTL value of negative information is especially important, | |||
| because newly added domain names cannot be used while the negative | | because newly added domain names cannot be used while the negative | |||
| information is effective. | | information is effective. | |||
| | | | |||
| Section 5 of [RFC2308] suggests a maximum default negative cache | | Section 5 of [RFC2308] suggests a maximum default negative cache | |||
| TTL value of 3 hours (10800). It is RECOMMENDED that validating | | TTL value of 3 hours (10800). It is RECOMMENDED that validating | |||
| resolvers limit the maximum effective TTL value of negative | | resolvers limit the maximum effective TTL value of negative | |||
| responses (NSEC/NSEC3 RRs) to this same value. | | responses (NSEC/NSEC3 RRs) to this same value. | |||
| | | | |||
skipping to change at page 7, line 5 ¶ | skipping to change at line 245 ¶ | |||
If signers and DNS servers for a zone cannot immediately be updated | If signers and DNS servers for a zone cannot immediately be updated | |||
to conform to this document, zone operators are encouraged to | to conform to this document, zone operators are encouraged to | |||
consider setting their SOA record TTL and the SOA MINIMUM field to | consider setting their SOA record TTL and the SOA MINIMUM field to | |||
the same value. That way, the TTL used for aggressive NSEC and NSEC3 | the same value. That way, the TTL used for aggressive NSEC and NSEC3 | |||
use matches the SOA TTL for negative responses. | use matches the SOA TTL for negative responses. | |||
Note that some signers might use the SOA TTL or MINIMUM as a default | Note that some signers might use the SOA TTL or MINIMUM as a default | |||
for other values, such as the TTL for DNSKEY records. Operators | for other values, such as the TTL for DNSKEY records. Operators | |||
should consult documentation before changing values. | should consult documentation before changing values. | |||
4.1. A Note On Wildcards | 4.1. A Note on Wildcards | |||
Validating resolvers consider an expanded wildcard valid for the | Validating resolvers consider an expanded wildcard valid for the | |||
wildcard's TTL, capped by the TTLs of the NSEC or NSEC3 proof that | wildcard's TTL, capped by the TTLs of the NSEC or NSEC3 proof that | |||
shows that the wildcard expansion is legal. Thus, changing the TTL | shows that the wildcard expansion is legal. Thus, changing the TTL | |||
of NSEC or NSEC3 records (explicitly, or by implementation of this | of NSEC or NSEC3 records (explicitly, or by implementation of this | |||
document, implicitly) might affect (shorten) the lifetime of | document implicitly) might affect (shorten) the lifetime of | |||
wildcards. | wildcards. | |||
5. Security Considerations | 5. Security Considerations | |||
An attacker can delay future records from appearing in a cache by | An attacker can delay future records from appearing in a cache by | |||
seeding the cache with queries that cause NSEC or NSEC3 responses to | seeding the cache with queries that cause NSEC or NSEC3 responses to | |||
be cached for aggressive use purposes. This document reduces the | be cached for aggressive use purposes. This document reduces the | |||
impact of that attack in cases where the NSEC or NSEC3 TTL is higher | impact of that attack in cases where the NSEC or NSEC3 TTL is higher | |||
than the zone operator intended. | than the zone operator intended. | |||
6. IANA Considerations | 6. IANA Considerations | |||
IANA is requested to add a reference to this document in the | IANA has added a reference to this document in the "Resource Record | |||
"Resource Record (RR) TYPEs" subregistry of the "Domain Name System | (RR) TYPEs" subregistry of the "Domain Name System (DNS) Parameters" | |||
(DNS) Parameters" registry, for the NSEC and NSEC3 types. | registry for the NSEC and NSEC3 types. | |||
7. Normative References | 7. Normative References | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | Requirement Levels", BCP 14, RFC 2119, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | ||||
[RFC2308] Andrews, M., "Negative Caching of DNS Queries (DNS | [RFC2308] Andrews, M., "Negative Caching of DNS Queries (DNS | |||
NCACHE)", RFC 2308, DOI 10.17487/RFC2308, March 1998, | NCACHE)", RFC 2308, DOI 10.17487/RFC2308, March 1998, | |||
<https://www.rfc-editor.org/info/rfc2308>. | <https://www.rfc-editor.org/info/rfc2308>. | |||
[RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. | [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. | |||
Rose, "Resource Records for the DNS Security Extensions", | Rose, "Resource Records for the DNS Security Extensions", | |||
RFC 4034, DOI 10.17487/RFC4034, March 2005, | RFC 4034, DOI 10.17487/RFC4034, March 2005, | |||
<https://www.rfc-editor.org/info/rfc4034>. | <https://www.rfc-editor.org/info/rfc4034>. | |||
[RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. | ||||
Rose, "Protocol Modifications for the DNS Security | ||||
Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005, | ||||
<https://www.rfc-editor.org/info/rfc4035>. | ||||
[RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS | [RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS | |||
Security (DNSSEC) Hashed Authenticated Denial of | Security (DNSSEC) Hashed Authenticated Denial of | |||
Existence", RFC 5155, DOI 10.17487/RFC5155, March 2008, | Existence", RFC 5155, DOI 10.17487/RFC5155, March 2008, | |||
<https://www.rfc-editor.org/info/rfc5155>. | <https://www.rfc-editor.org/info/rfc5155>. | |||
[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>. | ||||
[RFC8198] Fujiwara, K., Kato, A., and W. Kumari, "Aggressive Use of | [RFC8198] Fujiwara, K., Kato, A., and W. Kumari, "Aggressive Use of | |||
DNSSEC-Validated Cache", RFC 8198, DOI 10.17487/RFC8198, | DNSSEC-Validated Cache", RFC 8198, DOI 10.17487/RFC8198, | |||
July 2017, <https://www.rfc-editor.org/info/rfc8198>. | July 2017, <https://www.rfc-editor.org/info/rfc8198>. | |||
[RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. | ||||
Rose, "Protocol Modifications for the DNS Security | ||||
Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005, | ||||
<https://www.rfc-editor.org/info/rfc4035>. | ||||
[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>. | ||||
Appendix A. Implementation Status | ||||
[RFC Editor: please remove this section before publication] | ||||
Implemented in PowerDNS Authoritative Server 4.3.0 | ||||
https://doc.powerdns.com/authoritative/dnssec/ | ||||
operational.html?highlight=ttl#some-notes-on-ttl-usage | ||||
(https://doc.powerdns.com/authoritative/dnssec/ | ||||
operational.html?highlight=ttl#some-notes-on-ttl-usage) . | ||||
Implemented in BIND 9.16 and up, to be released early 2021 | ||||
https://mailarchive.ietf.org/arch/msg/dnsop/ga41J2PPUbmc21-- | ||||
dqf3i7_IY6M (https://mailarchive.ietf.org/arch/msg/dnsop/ | ||||
ga41J2PPUbmc21--dqf3i7_IY6M) https://gitlab.isc.org/isc-projects/ | ||||
bind9/-/merge_requests/4506 (https://gitlab.isc.org/isc-projects/ | ||||
bind9/-/merge_requests/4506) . | ||||
Implemented in Knot DNS 3.1, to be released in 2021 | ||||
https://gitlab.nic.cz/knot/knot-dns/-/merge_requests/1219 | ||||
(https://gitlab.nic.cz/knot/knot-dns/-/merge_requests/1219) . | ||||
Implemented in ldns, patch under review | ||||
https://github.com/NLnetLabs/ldns/pull/118 | ||||
(https://github.com/NLnetLabs/ldns/pull/118) | ||||
Implementation status is tracked at | ||||
https://trac.ietf.org/trac/dnsop/wiki/draft-ietf-dnsop-nsec-ttl | ||||
(https://trac.ietf.org/trac/dnsop/wiki/draft-ietf-dnsop-nsec-ttl) | ||||
Appendix B. Document history | ||||
[RFC editor: please remove this section before publication.] | ||||
From draft-vandijk-dnsop-nsec-ttl-00 to draft-ietf-dnsop-nsec-ttl-00: | ||||
* document was adopted | ||||
* various minor editorial changes | ||||
* now also updates 4035 | ||||
* use .example instead of .com for the example | ||||
* more words on 8198 | ||||
* a note on wildcards | ||||
From draft-ietf-dnsop-nsec-ttl-00 to draft-ietf-dnsop-nsec-ttl-01: | ||||
* various wording improvements | ||||
* added Implementation note from Knot, expanded the BIND one with | ||||
the GitLab MR URL | ||||
* reduced requirement level from MUST to SHOULD, like the original | ||||
texts | ||||
From draft-ietf-dnsop-nsec-ttl-01 to draft-ietf-dnsop-nsec-ttl-02: | ||||
* updated the second bit of wrong text in 5155 | ||||
From draft-ietf-dnsop-nsec-ttl-02 to draft-ietf-dnsop-nsec-ttl-03: | ||||
* document now updates resolver behaviour in 8198 | ||||
* lots of extra text to clarify what behaviour goes where (thanks | ||||
Paul Hoffman) | ||||
* replace 'any' with 'each' (thanks Duane) | ||||
* upgraded requirement level to MUST, plus a note on incremental | ||||
signers | ||||
From draft-ietf-dnsop-nsec-ttl-03 to draft-ietf-dnsop-nsec-ttl-04: | ||||
* the 'incremental signer exception' is now part of all relevant | ||||
document updates | ||||
* added an explanation for the upgraded requirement level | ||||
From draft-ietf-dnsop-nsec-ttl-04 to draft-ietf-dnsop-nsec-ttl-05: | ||||
* various minor rewordings (from IESG review, and things I spotted | ||||
while handling IESG review comments) | ||||
* added a note on the secondary impact of changing the SOA TTL and/ | ||||
or MINIMUM (IESG review) | ||||
Acknowledgements | Acknowledgements | |||
This document was made possible with the help of the following | This document was made possible with the help of the following | |||
people: | people: | |||
* Ralph Dolmans | * Ralph Dolmans | |||
* Warren Kumari | * Warren Kumari | |||
* Matthijs Mekking | * Matthijs Mekking | |||
* Vladimir Cunat | * Vladimir Cunat | |||
* Matt Nordhoff | * Matt Nordhoff | |||
* Josh Soref | * Josh Soref | |||
* Tim Wicinski | * Tim Wicinski | |||
The author would like to explicitly thank Paul Hoffman for extensive | The author would like to explicitly thank Paul Hoffman for the | |||
reviews, text contributions, and help in navigating WG comments. | extensive reviews, text contributions, and help in navigating WG | |||
comments. | ||||
Author's Address | Author's Address | |||
Peter van Dijk | Peter van Dijk | |||
PowerDNS | PowerDNS | |||
Den Haag | Den Haag | |||
Netherlands | Netherlands | |||
Email: peter.van.dijk@powerdns.com | Email: peter.van.dijk@powerdns.com | |||
End of changes. 37 change blocks. | ||||
223 lines changed or deleted | 116 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/ |