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