Internet DRAFT - draft-grubto-dnsop-dns-out-of-protocol-signalling
draft-grubto-dnsop-dns-out-of-protocol-signalling
DNSOP Working Group C. Almond
Internet-Draft ISC
Intended status: Standards Track P. van Dijk
Expires: 30 September 2023 PowerDNS
M.W. Groeneweg
S.W.J. Ubbink
SIDN
D. Daniel
CZ.NIC
W. Toorop
NLnet Labs
29 March 2023
DNS Out Of Protocol Signalling
draft-grubto-dnsop-dns-out-of-protocol-signalling-01
Abstract
This document seeks to specify a method for name servers to signal
programs outside of the name server software, and which are not
necessarily involved with the DNS protocol, about conditions that can
arise within the name server. These signals can be used to invoke
actions in areas that help provide the DNS service, such as routing.
Currently this document serves as a requirements document to come to
a signalling mechanism that will suit the use cases best. Part of
that effort is to assemble a list of conditions with potential
associated out of DNS protocol actions, as well as inventory and
assess existing signalling mechanisms for suitability.
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 30 September 2023.
Almond, et al. Expires 30 September 2023 [Page 1]
Internet-Draft dns-oops March 2023
Copyright Notice
Copyright (c) 2023 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology and Definitions . . . . . . . . . . . . . . . . . 3
3. Conditions to be signalled . . . . . . . . . . . . . . . . . 3
3.1. The name server is running and can respond to queries . . 3
3.2. All zones are loaded and ready to serve . . . . . . . . . 3
3.3. A zone is loaded and ready to serve . . . . . . . . . . . 4
3.4. A zone is updated to a new version . . . . . . . . . . . 4
3.5. A zone is (about to) expire . . . . . . . . . . . . . . . 4
3.6. DNSSEC signatures are (about to) expire . . . . . . . . . 4
3.7. DNSSEC signatures will no longer expire soon . . . . . . 4
3.8. Query rate is exceeding a threshold . . . . . . . . . . . 4
3.9. Query rate is below a threshold again . . . . . . . . . . 5
3.10. Extended DNS Error conditions . . . . . . . . . . . . . . 5
4. Requirements for signalling mechanisms and channels . . . . . 5
5. Existing signalling mechanisms and channels . . . . . . . . . 5
5.1. Notify . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2. Extended DNS Error reporting . . . . . . . . . . . . . . 5
5.3. D-Bus as publication channel . . . . . . . . . . . . . . 5
6. Security and Privacy Considerations . . . . . . . . . . . . . 5
7. Implementation Status . . . . . . . . . . . . . . . . . . . . 5
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6
10. Normative References . . . . . . . . . . . . . . . . . . . . 6
11. Informative References . . . . . . . . . . . . . . . . . . . 6
Appendix A. Implementation Status . . . . . . . . . . . . . . . 6
Appendix B. Change History . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
Almond, et al. Expires 30 September 2023 [Page 2]
Internet-Draft dns-oops March 2023
1. Introduction
Operators of name servers can benefit from automatically taking
action upon certain conditions in the name server software. Some
conditions can be monitored from outside the name server software,
but for adequate and immediate action, the name server software can
signal itself about the condition immediately when it occurs to
invoke action by a listener for these signals.
An example of such a condition is when all zones, from a set served
from an anycasted prefix, are loaded and ready to be served, with the
associated automatic actions to only announce a prefix route from the
point-of-presence where the name server is running, if all zones from
the set are ready to be served, and to withdraw the prefix route if
one of the zones cannot be served. This way queries for zones will
only reach the point-of-presence if the name server software can
answer those queries.
Operators of anycasted DNS authoritative services with diverse
implementations will benefit from standardizing of the name server
signalling, but before coming to a specification for the mechanism,
this document will serve to inventorise the already available
standardized and non-standardized signalling channels and assess them
for usability for out of protocol signalling.
2. Terminology and Definitions
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.
3. Conditions to be signalled
This section served to collect a list of conditions for which actions
outside of the DNS protocol may be interesting. It is by no means
meant to be a complete list, but serves to inventorise the
requirements for the signalling channel.
3.1. The name server is running and can respond to queries
3.2. All zones are loaded and ready to serve
Action:
* Start announcing the prefix on which these zones are served with
BGP.
Almond, et al. Expires 30 September 2023 [Page 3]
Internet-Draft dns-oops March 2023
3.3. A zone is loaded and ready to serve
Action:
* Start announcing the prefix on which this zone is served with BGP.
3.4. A zone is updated to a new version
Action:
* Verify the zone content. Is it DNSSEC valid, does the ZONEMD
validate.
3.5. A zone is (about to) expire
The period before expiration may be configurable. A value of 0 will
emit the signal the moment the zone expires.
Action:
* Stop the BGP announcement of the prefix on which the zone is
served. It may be reannounced when the zone becomes available
again (See Section 3.2).
3.6. DNSSEC signatures are (about to) expire
The period before expiration may be configurable. A value of 0 will
emit the signal the DNSSEC signature expires.
Action:
* Stop the BGP announcement of the prefix on which the zone is
served. It may be reannounced when the zone becomes DNSSEC valid
again (See Section 3.7).
3.7. DNSSEC signatures will no longer expire soon
Action:
* Start announcing the prefix on which this zone is served with BGP.
3.8. Query rate is exceeding a threshold
Action:
* Lengthen the AS path for the BGP announcement for a prefix, to
demotivate the anycast node that receives all the queries.
Almond, et al. Expires 30 September 2023 [Page 4]
Internet-Draft dns-oops March 2023
* Or if the query rate is indicating a denial of service attack,
keep the BGP AS path short, to absorb the attack.
3.9. Query rate is below a threshold again
Action:
* Recover from the measures taken in Section 3.8
3.10. Extended DNS Error conditions
Action:
* Dependent on the DNS Error condition
4. Requirements for signalling mechanisms and channels
The following requirements can be distilled from Section 3.
5. Existing signalling mechanisms and channels
What follows is a list of existing signalling mechanisms assessed on
their suitability based on the requirements outlined in the previous
paragraph.
5.1. Notify
[RFC1996]
5.2. Extended DNS Error reporting
[I-D.ietf-dnsop-dns-error-reporting]
5.3. D-Bus as publication channel
[D-Bus]
6. Security and Privacy Considerations
Signalling MUST be performed in an authenticated and private manner.
7. Implementation Status
* Knot DNS has support for D-Bus notifications (See Section 5.3) for
significant server and zone events with the "dbus-event"
configuration parameter since version 3.1.6 [Knot-DNS-3.1.6]
Almond, et al. Expires 30 September 2023 [Page 5]
Internet-Draft dns-oops March 2023
8. IANA Considerations
This document has no IANA actions
9. Acknowledgements
10. 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>.
[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>.
11. Informative References
[D-Bus] Pennington, H., Carlsson, A., Larsson, A., Herzberg, S.,
McVittie, S., and D. Zeuthen, "D-Bus Specification",
February 2023, <https://dbus.freedesktop.org/doc/dbus-
specification.html>.
[I-D.ietf-dnsop-dns-error-reporting]
Arends, R. and M. Larson, "DNS Error Reporting", Work in
Progress, Internet-Draft, draft-ietf-dnsop-dns-error-
reporting-04, 3 February 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-
dns-error-reporting-04>.
[Knot-DNS-3.1.6]
CZ.NIC, "Knot DNS - Version 3.1.6", February 2022,
<https://www.knot-dns.cz/2022-02-08-version-316.html>.
[RFC1996] Vixie, P., "A Mechanism for Prompt Notification of Zone
Changes (DNS NOTIFY)", RFC 1996, DOI 10.17487/RFC1996,
August 1996, <https://www.rfc-editor.org/info/rfc1996>.
Appendix A. Implementation Status
*Note to the RFC Editor*: please remove this entire appendix before
publication.
Knot currently uses [D-Bus] for this.
Almond, et al. Expires 30 September 2023 [Page 6]
Internet-Draft dns-oops March 2023
Appendix B. Change History
*Note to the RFC Editor*: please remove this entire appendix before
publication.
* draft-grubto-dnsop-dns-out-of-protocol-signalling-00
| Initial version
Authors' Addresses
Cathy Almond
Internet Systems Consortium, Inc.
PO Box 360
Newmarket, NH 03857
United States of America
Phone: +1 650 423 1300
Email: cathya@isc.org
Peter van Dijk
PowerDNS
Den Haag
Netherlands
Email: peter.van.dijk@powerdns.com
Marc Groeneweg
Stichting Internet Domeinregistratie Nederland
Postbus 5022
6802EA Arnhem
Netherlands
Email: marc.groeneweg@sidn.nl
Stefan Ubbink
Stichting Internet Domeinregistratie Nederland
Postbus 5022
6802EA Arnhem
Netherlands
Email: stefan.ubbink@sidn.nl
Daniel Salzman
CZ.NIC
Czechia
Email: daniel.salzman@nic.cz
Almond, et al. Expires 30 September 2023 [Page 7]
Internet-Draft dns-oops March 2023
Willem Toorop
NLnet Labs
Science Park 400
1098 XH Amsterdam
Netherlands
Email: willem@nlnetlabs.nl
Almond, et al. Expires 30 September 2023 [Page 8]