<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.11 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC1034 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1034.xml">
<!ENTITY RFC1035 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY RFC2308 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2308.xml">
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC1536 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1536.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-moura-dnsop-negative-cache-loop-00" category="std">

  <front>
    <title abbrev="Considerations-Large-Auth-DNS-Ops">Negative Caching of Looping NS records</title>

    <author initials="G.C.M." surname="Moura" fullname="Giovane C. M. Moura">
      <organization>SIDN Labs/TU Delft</organization>
      <address>
        <postal>
          <street>Meander 501</street>
          <city>Arnhem</city>
          <code>6825 MD</code>
          <country>NL</country>
        </postal>
        <phone>+31 26 352 5500</phone>
        <email>giovane.moura@sidn.nl</email>
      </address>
    </author>
    <author initials="W." surname="Hardaker" fullname="Wes Hardaker">
      <organization>USC/Information Sciences Institute</organization>
      <address>
        <postal>
          <street>PO Box 382</street>
          <city>Davis</city>
          <code>95617-0382</code>
          <country>US</country>
        </postal>
        <phone>+1 (530) 404-0099</phone>
        <email>ietf@hardakers.net</email>
      </address>
    </author>
    <author initials="J." surname="Heidemann" fullname="John Heidemann">
      <organization>USC/Information Sciences Institute</organization>
      <address>
        <postal>
          <street>4676 Admiralty Way</street>
          <city>Marina Del Rey</city>
          <code>90292-6695</code>
          <country>US</country>
        </postal>
        <phone>+1 (310) 448-8708</phone>
        <email>johnh@isi.edu</email>
      </address>
    </author>
    <author initials="S." surname="Castro" fullname="Sebastian Castro">
      <organization>IE Domain Registry</organization>
      <address>
        <postal>
          <street>2 Harbour Square, Dun Laoghaire</street>
          <city>Dublin</city>
          <code>A96 D6R0</code>
          <country>IE</country>
        </postal>
        <phone>+353 1 2365400</phone>
        <email>scastro@weare.ie</email>
      </address>
    </author>

    <date year="2021" month="November" day="08"/>

    <area>Internet</area>
    <workgroup>DNSOP Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document updates guidance about detecting DNS loops in recursive resolver algorithms with new requirements to require recursive resolvers to detect loops and to implement negative caches.</t>



    </abstract>


  </front>

  <middle>


<section anchor="intro" title="Introduction">

<t>Loops are a well-known configuration error in DNS zones. CNAME loops were first documented in <xref target="RFC1034"/>, and can occur when two domains point to each other. For example:</t>

<t>.org zone file:</t>

<figure><artwork><![CDATA[
     example.org CNAME example.com
]]></artwork></figure>

<t>.com zone file:</t>

<figure><artwork><![CDATA[
    example.com CNAME example.org
]]></artwork></figure>

<t><xref target="RFC1536"/> states that &quot;a set of servers might form a loop wherein A refers to B and B refers to A&quot;. Although RFC1536 did not explicitly define other types of loops, others can also occur using NS records, as shown in the example below:</t>

<t>.org zone file:</t>

<figure><artwork><![CDATA[
    example.org NS  ns1.example.com
    
    example.org NS  ns2.example.com
]]></artwork></figure>

<t>.com zone file:</t>

<figure><artwork><![CDATA[
    example.com NS  ns1.example.org
    
example.com NS  ns2.example.org
]]></artwork></figure>

<t>In both the CNAME and NS loop cases, recursive resolvers will not be able to resolve these domain names, or any child domains underneath these zones.</t>

<section anchor="requirements-notation" title="Requirements notation">

<t>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;,
   &quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;NOT RECOMMENDED&quot;, &quot;MAY&quot;,
   and &quot;OPTIONAL&quot; in this document are to be interpreted as described
   in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear
   in all capitals, as shown here.</t>

</section>
</section>
<section anchor="related" title="Past solutions">

<t>The first solution was proposed in RFC1034, which states that CNAME loops  should be &quot;signalled (sic) as an error&quot; (Section 3.6.2). 
To avoid resolvers starting to loop infinitely in presence of configuration errors,  RFC1034  also recommends that resolvers limit the number of queries it sends out when resolving an individual domain name. <xref target="RFC1035"/> stipulates that resolvers should use counters to implement these limits.</t>

<t>Later, <xref target="RFC1536"/> states that &quot;a set of servers might form a loop wherein A refers to B and B refers to A&quot;. It does not, however, specify what type of records might create these loops. Additionally, it offers no new solutions beyond what RFC1034 and RFC1035 suggested.</t>

<t>In short, <xref target="RFC1034"/>, <xref target="RFC1035"/> and <xref target="RFC1536"/> describe the problem and do provide guidance to resolver implementers to help avoid indefinite loops in the presence of misconfigured zone files with NS or CNAME loops. However, we continue to observe different forms of this problem and so here we seek to clarify that guidance.</t>

</section>
<section anchor="current-problem" title="Current Problem">

<t>Recent research<xref target="Moura21b"/> has shown how NS configuration loops can lead to significant increases in traffic: New Zealand&#39;s .nz country-code top-level domain (a ccTLD) experienced a 50% traffic surge when two domains were misconfigured with NS loops. Another anonymous European ccTLD saw its traffic grow by 10-fold when two subdomains were also miscofigured with NS loops. <xref target="Moura21b"/> also reproduced the experiments under multiple controlled scenarios.</t>

<t>If existing RFCs already provide solution for looping misconfiguration (<xref target="related"/>), how come recent research <xref target="Moura21b"/> still showed that these loops exist in the wild and lead to such traffic surges?</t>

<section anchor="root-causes-of-traffic-surge" title="Root Causes of Traffic Surge">

<t><xref target="Moura21b"/> documents two main sources of amplification in the presence of NS loops:</t>

<t><list style="symbols">
  <t>Looping recursive resolvers: these are resolvers that send non-stop queries to authoritative servers after receiving a single client query (<xref target="recuath"/>) targeting a domain with an NS loop. Such recursive resolvers do not conform to the guidance in RFC1034 and RFC1035, both of which set limits to the number queries a resolver should send when resolving a name.</t>
  <t>Looping clients, stub-resolvers, and forwarders: another situation occurs when parts of the DNS infrastructure, behind a recursive resolver, send non-stop queries in the presence of NS loops. These queries ultimately reach their upstream recursive resolvers, which then send queries to authoritative servers (and which themselves may further amplify the query stream).</t>
</list></t>

<t>To illustrate this, consider  <xref target="recuath"/>.  The Current RFCs provide solutions to prevent recursive resolvers from looping. Assume  a client sends a query to its stub resolver, which they will forward to one of its locally configured recursive resovlers (Re1 and Re2). Assuming Re2 receives the query, it will then carry out the recursive recursion tasks. The current solutions limit the number of queries that Re2 will send to authoritative servers (AT2) when resolving the domain -- so the recursive resolver itself prevents looping. The recursive resolver should answer the client with a SERVFAIL error code in response.</t>

<t>However, this does not protect clients, stubs, or DNS forwarders (as Re1, which forwards to Re3) to start to repeatedly asking the same query. If, for example, Re2 sends up to 20 queries when resolving a domain name, every new  incoming client query can trigger up to new 20 queries. This was exactly the problem the researchers found in Google Public DNS&#39; implementation.</t>

<figure title="Relationship between clients, stub, recursive resolvers (Re) and authoritative name servers (ATn)" anchor="recuath"><artwork><![CDATA[
        +-----+  +-----+  +-----+ +-----+
        | AT1 |  | AT2 |  | AT3 |   | AT4 |
        +-----+  +-----+  +-----+ +-----+
          ^         ^             ^        ^
          |            |             |           |
          |       +-----+        |           |
          +------| Re3 |----+|           |
                  +-----+                    |
                      ^                        |
                      |                          |
                 +----+   +----+         |
                 |Re1 |   |Re2 |---------+
                 +----+   +----+
                   ^          ^
                    |           |
                    | +------+ 
                      +-|stub|
                     +------+
                          ^
                           |
                    | +--------+
                   +-| client |
                      +--------+
]]></artwork></figure>

</section>
</section>
<section anchor="new-requirement" title="New requirement">

<t>Besides following the recommendations from RFC1034, RFC1035 and RFC2181 for handling loops, this memo requires that recursive resolvers MUST detect loop and MUST cache these records (negative caching)<xref target="RFC2308"/>.  Recursive resolvers need to refrain from forwarding queries from clients/stub/forwarders  to misconfigured domain names when a negative answer can be answered from its cache.</t>

<t>How long these loops should be cached for is an implementation choice; however, recursive results MUST answer from it&#39;s cache for at least 15 minutes, given that most looping NS/CNAME record situations will require human intervention.</t>

</section>
<section anchor="operational-considerations" title="Operational considerations">

<t>TBD</t>

</section>
<section anchor="security-considerations" title="Security considerations">

<t>TBD</t>

<!-- verified against RFC3552 - MD -->

</section>
<section anchor="privacy-considerations" title="Privacy Considerations">

<!-- Add some remarkt according to RFC6973. Or should we name this "Human Rights considerations" according to RFC8280 - MD -->

<t>This document does not add any practical new privacy issues, aside from possible benefits in deploying longer TTLs which in turn requires less traffic to be sent and thus preserves privacy by query omission: longer TTLs may help preserve a user&#39;s privacy by reducing the number of requests that get transmitted in both the client-to-resolver and resolver-to-authoritative cases.</t>

</section>
<section anchor="iana-considerations" title="IANA considerations">

<t>This document has no IANA actions.
<!-- RFC8126 style - MD --></t>

</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC1034;
&RFC1035;
&RFC2308;
&RFC2119;


    </references>

    <references title='Informative References'>

&RFC1536;
<reference anchor="Moura21b" target="https://www.isi.edu/%7ejohnh/PAPERS/Moura21b.pdf">
  <front>
    <title>TsuNAME - exploiting misconfiguration and vulnerability to DDoS DNS</title>
    <author initials="G.C.M." surname="Moura" fullname="Giovane C. M. Moura">
      <organization></organization>
    </author>
    <author initials="S." surname="Castro" fullname="Sebastian Castro">
      <organization></organization>
    </author>
    <author initials="J." surname="Heidemann" fullname="John Heidemann">
      <organization></organization>
    </author>
    <author initials="W." surname="Hardaker" fullname="Wes Hardaker">
      <organization></organization>
    </author>
    <date year="2016" month="November" day="02"/>
  </front>
  <seriesInfo name="ACM" value="2021 Internet Measurement Conference"/>
  <seriesInfo name="DOI" value="10.1145/3487552.3487824"/>
</reference>
&RFC8174;


    </references>


<section anchor="acknowledgements" title="Acknowledgements">

<t>TBD</t>

</section>
<section anchor="current-implemenations" title="Current implemenations">

<t>The requirements in this document have been implemented and deployed by:</t>

<t><list style="symbols">
  <t>Google Public DNS</t>
  <t>Cisco OpenDNS</t>
</list></t>

</section>


  </back>

<!-- ##markdown-source:
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
F9O99z/moJu9UCcAAA==

-->

</rfc>

