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, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 11. Informative References [D-Bus] Pennington, H., Carlsson, A., Larsson, A., Herzberg, S., McVittie, S., and D. Zeuthen, "D-Bus Specification", February 2023, . [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, . [Knot-DNS-3.1.6] CZ.NIC, "Knot DNS - Version 3.1.6", February 2022, . [RFC1996] Vixie, P., "A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY)", RFC 1996, DOI 10.17487/RFC1996, August 1996, . 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]