dprive H. Zhang
Internet-Draft P. Aras
Intended status: Standards Track Salesforce
Expires: September 12, 2019 W. Toorop
NLnet Labs
S. Dickinson
Sinodun IT
A. Mankin
Salesforce
March 11, 2019
DNS Zone Transfer over TLS
draft-hzpa-dprive-xfr-over-tls-00
draft-hzpa-dprive-xfr-over-tls-01
Abstract
DNS zone transfers are transmitted in clear text, which gives
attackers the opportunity to collect the content of a zone by
eavesdropping on links. network connections. The DNS Transaction Signature
(TSIG) mechanism is specified to restrict direct zone transfer to
authorized clients, clients only, but it does not add confidentiality. This
document specifies use of TLS DNS-over-TLS to prevent zone contents
collection via passive monitoring of zone transfers.
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/. http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 12, 2019.
Copyright Notice
Copyright (c) 2019 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)
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 4
3. Zone Transfer Confidentiality Overview . . . . . . . . . . . 3 4
4. Zone Transfer with DOT DoT - Authentication . . . . . . . . . . . 3 4
4.1. TSIG . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.2. Mutual TLS . . . . . . . . . . . . . . . . . . . . . . . 4
5. Session Establishment and Closing . . . . . . . . . . . . . . 4
6. Performance Considerations
5.1. AXFR Sessions . . . . . . . . . . . . . . . . . 5
7. Implementation Considerations . . . . . 4
5.2. IXFR Sessions . . . . . . . . . . . 5
8. IANA Considerations . . . . . . . . . . . 4
5.3. Policies for Both AXFR and IXFR . . . . . . . . . . . . . 5
9. Security Considerations
5.4. Next Steps . . . . . . . . . . . . . . . . . . . . . . . 5
10. Acknowledgements
6. Performance Considerations . . . . . . . . . . . . . . . . . 5
7. Implementation Considerations . . . . . . . . . . . . . . . . 5
11. Contributors
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
9. Security Considerations . . . . . . . . . . . . . . . . . . . 5
12. Changelog
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6
11. Contributors . . . . . . 5
13. References . . . . . . . . . . . . . . . . . . 6
12. Changelog . . . . . . . 5
13.1. Normative References . . . . . . . . . . . . . . . . . . 5
13.2. Informative . 6
13. Normative References . . . . . . . . . . . . . . . . . 7 . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 7
1. Introduction
DNS has a number of privacy vulnerabilities, as discussed in detail
in [RFC7626]. Query [I-D.bortzmeyer-dprive-rfc7626-bis]. Stub client to recursive
resolver query privacy has received the most attention. attention to date.
There are now standards track documents for three encryption
capabilities for stub to recursive queries and more work going on to
guide deployment of specifically DNS-over-TLS (DoT) [RFC7858] and
DNS-over-HTTPS (DoH) [RFC8484].
[RFC7626]
[I-D.bortzmeyer-dprive-rfc7626-bis] established that the stub client DNS
query transactions are not public and needed protection, but on zone
transfer [RFC1995] [RFC5936] it says only: Privacy
"Privacy risks for the holder of a zone (the risk that someone gets
the data) are discussed in [RFC5936] and [RFC5155]. [RFC5155]."
In what way is exposing the full content contents of a zone a privacy risk?
The contents of the zone could include information such as names of
persons used in names of hosts. Best practice is not to use personal
information for domain names, but many such domain names exist.
There may also be regulatory regulatory, policy or other reasons why the zone content
contents in full must be treated as private.
Neither of the RFCs mentioned by RFC7626 in [I-D.bortzmeyer-dprive-rfc7626-bis]
contemplates the risk that someone gets the data through link eavesdropping.
eavesdropping on network connections, only via enumeration or
unauthorised transfer as described in the following paragraphs.
[RFC5155] specifies NSEC3 to prevent zone enumeration, which is when
queries for the authenticated denial of existences records of DNSSEC
allow a client to walk through the entire zone. Note that the need
for this protection also motivates NSEC5; NSEC5 [I-D.vcelak-nsec5]; zone
walking is now possible with NSEC3 due to crypto-breaking advances,
and NSEC5 is a response to this problem.
[RFC5155] does not address data obtained outside zone enumeration
(nor does NSEC5). [I-D.vcelak-nsec5]). Preventing eavesdropping of zone
transfers (this draft) is orthogonal to preventing zone enumeration,
though they aim to protect the same information.
[RFC5936] specifies using TSIG [RFC2845] for authorization of the
clients of a zone transfer and for data integrity, but does not
express any need for confidentiality, and TSIG does not offer
encryption. Some operators use SSH tunneling tunnelling or IPSEC IPSec to encrypt
the transfer data.
Because the AXFR zone transfer is typically carried out over TCP from
authoritative DNS protocol implementations, encrypting AXFR using DNS over
TLS [RFC7858], aka DOT,
DNS-over-TLS [RFC7858] seems like a simple step forward. This
document specifies how to use DOT DoT to prevent zone collection from
zone transfers, including discussion of approaches for IXFR, which
uses UDP or TCP.
Next steps: work Work on open questions at DNS table during IETF 104
Hackathon, expand this draft, then solicit discussion on the DPRIVE
mailing list.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] and [RFC8174] when, and only when, they appear in all
capitals, as shown here.
Privacy terminology is as described in Section 3 of [RFC6973].
DNS terminology is as described in [RFC8499]: [RFC8499].
DoT: DNS-over-TLS as specified in [RFC7858]
DoH: DNS-over-HTTPS as specified in [RFC8484]
3. Zone Transfer Confidentiality Overview
4. Zone Transfer with DOT DoT - Authentication
Subsection -
4.1. TSIG
Subsection -
4.2. Mutual TLS
5. Session Establishment and Closing
Subsection -
5.1. AXFR Sessions
The connection flow in AXFR is a NOTIFY from the primary server to
the secondary server, and then an AXFR request from the secondary to
the primay primary after which the data flows.
The connection for AXFR via DoT SHOULD be established using port 853,
as specified in [RFC7858]. If there is no response on port 853, the
connection MAY be attempted using port 443. 443 in case the server offers
DoT service on this port.
TODO: diagram of connection flow for AXFR, without and with DOT
Subsection - DoT
5.2. IXFR Sessions (?)
[RFC1995] specifies that Incremental Transfer may use UDP if the
entire IXFR response can be contained in a single DNS packet,
otherwise, TCP is used.
QUESTION: Given this, how should confidentiality of IXFR be provided?
To discuss:
o should IXFR have a mode in which TCP is mandatory? or
o should there be an approach of starting with DNS over DTLS, and
switching to DNS over TLS with IXFR have a TCP switch? mode in which TLS is mandatory?
o In workloads where there are frequent IXFRs, is the persistent
connection mode that TCP-Mode would enable (as well as the retries,
retries) a benefit?
Subsection -
5.3. Policies for Both AXFR and IXFR
In order to assure the confidentiality of the zone information, all
the
entire group of servers (primary involved in XFR (the primary and secondary) all
secondaries) MUST have a consistent
confidentiality use. policy of requiring
confidentiality. If any do not, this is a weak link for attackers to
exploit. How to do this is TBD.
The
Additionally, the entire group of servers involved in XFR (the
primary and all secondaries) MUST have a consistent policy on of
requiring Strict or Non-Strict mode of operation. Opportunistic DoT [RFC8310]. How to do this is
TBD.
Subsection -
5.4. Next Steps
Upcoming open hackathon IETF Hackathon experiments will feed into this Session
Establishment and Closing section, as much about this needs
exploration as well as dicussion discussion on the mailing list.
6. Performance Considerations
The details in [RFC7858] and [RFC8310] about e.g. using persistent
connections and TLS Session Resume Resumption [RFC5077] are fully applicable
to DNS Zone Transfer over DOT DoT as well.
7. Implementation Considerations
TBA
8. IANA Considerations
TBD
9. Security Considerations
This document specifies a security measure against a DNS risk, risk: the
risk that an attacker collects entire DNS zones through eavesdropping
on plaintext clear text DNS zone transfers. It presents a new Security
Consideration for DNS. Some questions to discuss are: should DOT DoT in
this new case be required to use only TLS1.3 TLS 1.3 and higher to avoid
residual exposure? How should padding be used (if it should)?
10. Acknowledgements
Benno, Shumon,
The authors thank Benno Overeinder, Shumon Huque and Tim Wicinski for
review and discussions.
11. Contributors
The following contributed significantly to the document:
12. Changelog
draft-hzpa-dprive-xfr-over-tls-01
o Editorial changes, updates to references.
draft-hzpa-dprive-xfr-over-tls-00
o Initial commit
13. References
13.1. Normative References
[I-D.bortzmeyer-dprive-rfc7626-bis]
Bortzmeyer, S. and S. Dickinson, "DNS Privacy
Considerations", draft-bortzmeyer-dprive-rfc7626-bis-02
(work in progress), January 2019.
[I-D.dickinson-dprive-bcp-op]
Dickinson,
[I-D.vcelak-nsec5]
Vcelak, J., Goldberg, S., Papadopoulos, D., Huque, S., Overeinder, B., Rijswijk-Deij, R., and A.
Mankin, "Recommendations for DNS Privacy Service
Operators", draft-dickinson-dprive-bcp-op-01
D. Lawrence, "NSEC5, DNSSEC Authenticated Denial of
Existence", draft-vcelak-nsec5-08 (work in progress), July
December 2018.
[RFC1995] Ohta, M., "Incremental Zone Transfer in DNS", RFC 1995,
DOI 10.17487/RFC1995, August 1996,
<https://www.rfc-editor.org/info/rfc1995>. <https://www.rfc-
editor.org/info/rfc1995>.
[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>. <https://www.rfc-
editor.org/info/rfc2119>.
[RFC2845] Vixie, P., Gudmundsson, O., Eastlake 3rd, D., and B.
Wellington, "Secret Key Transaction Authentication for DNS
(TSIG)", RFC 2845, DOI 10.17487/RFC2845, May 2000,
<https://www.rfc-editor.org/info/rfc2845>.
[RFC5077] Salowey, J., Zhou, H., Eronen, P., and H. Tschofenig,
"Transport Layer Security (TLS) Session Resumption without
Server-Side State", RFC 5077, DOI 10.17487/RFC5077,
January 2008, <https://www.rfc-editor.org/info/rfc5077>.
[RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS
Security (DNSSEC) Hashed Authenticated Denial of
Existence", RFC 5155, DOI 10.17487/RFC5155, March 2008,
<https://www.rfc-editor.org/info/rfc5155>.
[RFC5936] Lewis, E. and A. Hoenes, Ed., "DNS Zone Transfer Protocol
(AXFR)", RFC 5936, DOI 10.17487/RFC5936, June 2010,
<https://www.rfc-editor.org/info/rfc5936>.
[RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J.,
Morris, J., Hansen, M., and R. Smith, "Privacy
Considerations for Internet Protocols", RFC 6973,
DOI 10.17487/RFC6973, July 2013,
<https://www.rfc-editor.org/info/rfc6973>.
[RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre,
"Recommendations for Secure Use of Transport Layer
Security (TLS) and Datagram Transport Layer Security
(DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May
2015, <https://www.rfc-editor.org/info/rfc7525>.
[RFC7626] Bortzmeyer, S., "DNS Privacy Considerations", RFC 7626,
DOI 10.17487/RFC7626, August 2015,
<https://www.rfc-editor.org/info/rfc7626>.
[RFC7766] Dickinson, J., Dickinson, S., Bellis, R., Mankin, A., and
D. Wessels, "DNS Transport over TCP - Implementation
Requirements", RFC 7766, DOI 10.17487/RFC7766, March 2016,
<https://www.rfc-editor.org/info/rfc7766>.
[RFC7830] Mayrhofer, A., "The EDNS(0) Padding Option", RFC 7830,
DOI 10.17487/RFC7830, May 2016,
<https://www.rfc-editor.org/info/rfc7830>. <https://www.rfc-
editor.org/info/rfc6973>.
[RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D.,
and P. Hoffman, "Specification for DNS over Transport
Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May
2016, <https://www.rfc-editor.org/info/rfc7858>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8310] Dickinson, S., Gillmor, D., and T. Reddy, "Usage Profiles
for DNS over TLS and DNS over DTLS", RFC 8310,
DOI 10.17487/RFC8310, March 2018,
<https://www.rfc-editor.org/info/rfc8310>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/info/rfc8446>.
[RFC8467] Mayrhofer, A., "Padding Policies for Extension Mechanisms
for DNS (EDNS(0))", RFC 8467, DOI 10.17487/RFC8467,
October 2018, <https://www.rfc-editor.org/info/rfc8467>. <https://www.rfc-
editor.org/info/rfc8310>.
[RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS
(DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018,
<https://www.rfc-editor.org/info/rfc8484>.
[RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS
Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499,
January 2019, <https://www.rfc-editor.org/info/rfc8499>.
13.2. Informative References
[NSEC5Research]
Goldberg, S., Naor, M., Papadopoulos, D., and L. Reyzin,
"NSEC5: Provably Preventing DNSSEC Zone Enumeration",
2015, <https://www.ndss-symposium.org/ndss2015/ndss-2015-
programme/
nsec5-provably-preventing-dnssec-zone-enumeration/>.
[RFC7129] Gieben, R. and W. Mekking, "Authenticated Denial of
Existence in the DNS", RFC 7129, DOI 10.17487/RFC7129,
February 2014, <https://www.rfc-editor.org/info/rfc7129>.
[RFC7816] Bortzmeyer, S., "DNS Query Name Minimisation to Improve
Privacy", RFC 7816, DOI 10.17487/RFC7816, March 2016,
<https://www.rfc-editor.org/info/rfc7816>.
[RFC7871] Contavalli, C., van der Gaast, W., Lawrence, D., and W.
Kumari, "Client Subnet in DNS Queries", RFC 7871,
DOI 10.17487/RFC7871, May 2016,
<https://www.rfc-editor.org/info/rfc7871>.
[RFC7873] Eastlake 3rd, D. and M. Andrews, "Domain Name System (DNS)
Cookies", RFC 7873, DOI 10.17487/RFC7873, May 2016,
<https://www.rfc-editor.org/info/rfc7873>.
[RFC8094] Reddy, T., Wing, D., and P. Patil, "DNS over Datagram
Transport Layer Security (DTLS)", RFC 8094,
DOI 10.17487/RFC8094, February 2017,
<https://www.rfc-editor.org/info/rfc8094>.
Authors' Addresses
Han Zhang
Salesforce
San Francisco, CA
United States
Email: hzhang@salesforce.com
Pallavi Aras
Salesforce
Herndon, VA
United States
Email: paras@salesforce.com
Willem Toorop
NLnet Labs
Science Park 400
Amsterdam Amsterdam 1098 XH
The Netherlands
Email: willem@nlnetlabs.nl
Sara Dickinson
Sinodun IT
Magdalen Centre
Oxford Science Park
Oxford OX4 4GA
United Kingdom
Email: sara@sinodun.com
Allison Mankin
Salesforce
Herndon, VA
United States
Email: allison.mankin@gmail.com