<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.17 (Ruby 3.2.4) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-fujiwara-dnsop-dns-upper-limit-values-01" category="bcp" consensus="true" submissionType="IETF" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="dns-upper-limit-values">Upper limit values for DNS</title>

    <author initials="K." surname="Fujiwara" fullname="Kazunori Fujiwara">
      <organization abbrev="JPRS">Japan Registry Services Co., Ltd.</organization>
      <address>
        <postal>
          <country>Japan</country>
        </postal>
        <email>fujiwara@wide.ad.jp</email>
      </address>
    </author>

    <date year="2024" month="October" day="21"/>

    <area>operations</area>
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 76?>

<t>There are parameters in the DNS protocol
that do not have clear upper limit values.
If a protocol is implemented without considering the upper limit,
it may become vulnerable to DoS attacks,
and several attack methods have been proposed.
This draft proposes reasonable upper limit values for DNS protocols.</t>



    </abstract>



  </front>

  <middle>


<?line 85?>

<section anchor="introduction"><name>Introduction</name>

<t>There are parameters in the DNS protocol that do not have clear upper limits.
For example, the number of alias levels using CNAME Resource records,
the number of name servers,
the number of Resource Records in an RRSet,
the number of delegation levels using unrelated name server names,
and the number of DNSKEYs for each domain name.</t>

<t>If a protocol is implemented without considering the upper limit,
it may become vulnerable to DoS attacks,
and several attack methods have been proposed.</t>

<t>This draft proposes reasonable upper limits for DNS protocols.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>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 
BCP14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all
capitals, as shown here.</t>

<t>Many of the specialized terms used in this document are defined in
DNS Terminology <xref target="RFC9499"/>.</t>

</section>
<section anchor="problem-statement"><name>Problem Statement</name>

<t>There are parameters in the DNS protocol that do not have clear upper limits.
For example, 
the number of Resource Records in an RRSet,
the number of alias levels using CNAME Resource records,
the number of delegation levels using unrelated name server names.</t>

<t>If a protocol is implemented without considering the upper limit,
it may become vulnerable to DoS attacks.
In recent years, DNS vulnerabilities research have been actively  progressed
and many vulnerabilities have been made public.
Each time a vulnerability is discovered,
upper limits on the execution time, number of attempts, and size
are added to the implementation.</t>

<t>If we set upper limits for some parameters in advance and
treat anything that exceeds them as an error,
we can reduce the need to respond reactively.</t>

<t>This draft proposes aggressive upper limits in order to advance discussions
on determining upper limit values in DNS protocol.</t>

<section anchor="recent-upper-limit-values-in-implementations"><name>Recent upper limit values in implementations</name>

<t><list style="symbols">
  <t>Number of Resource Records in an RRSet  <vspace blankLines='1'/>
BIND 9 introduced 'max-records-per-type' parameter and the default is 100.  <vspace blankLines='1'/>
CVE-2024-1737 "BIND's database will be slow if a very large number of RRs
exist at the same name" was reported and BIND 9.18.28 implemented the limit.</t>
  <t>Number of RRSIGs/DNSKEYs/DSs in a RRSet  <vspace blankLines='1'/>
KeyTrap <xref target="KeyTrap"></xref> is a vulnerability caused by the fact that
there is no upper limit on the number of
DNSKEY, DS, or RRSIG resource records.  <vspace blankLines='1'/>
Unbound introduced the maximum number of RRSIG validations for an
RRset (MAX_VALIDATE_RRSIGS) as 8 and the maximum allowed digest
match failures per DS, for DNSKEYs with the same properties
(MAX_DS_MATCH_FAILURES) as 4.</t>
</list></t>

</section>
</section>
<section anchor="possible-upper-limits"><name>Possible upper limits</name>

<section anchor="items"><name>Possible upper limit items</name>

<t><list style="symbols">
  <t>Number of Resource Records in a RRSet</t>
  <t>Number of NS Resource Records in a delegation</t>
  <t>Number of DS Resource Records in a delegation</t>
  <t>Number of glue RRs in a delegation</t>
  <t>Number of DNSKEY Resource Records in a DNSKEY RRSet</t>
  <t>Number of RRSIG RRs for each name and type</t>
  <t>Number of levels of unrelated only delegations</t>
  <t>Number of CNAME/DNAME chains</t>
</list></t>

</section>
<section anchor="packet-size-limits"><name>Packet size limits</name>

<t>There were comments that there are size limitations even if no precise
upper limit is set.</t>

<t>The DNS packet format has an upper limit of 65535 octets,
so an RRset cannot exceed that size.
Attackers use this upper limit to carry out resource-wasting attacks.</t>

<t>Also, the size of a single resource record is 65535 octets minus DNS
header size because RDLENGTH is 16 bits.</t>

<t>The size of a DNS response that can be sent using unfragmented UDP is
about 1400 octets. <xref target="I-D.ietf-dnsop-avoid-fragmentation"/></t>

</section>
<section anchor="upper-limit-concept"><name>Upper limit concept</name>

<t>Best Current Practice documents should allow for values
that are currently in widespread use.</t>

<t>However, obvious anomalies may be excluded.</t>

</section>
<section anchor="number-of-resource-records-in-a-rrset"><name>Number of Resource Records in a RRSet</name>

<t>Since there are 13 root name servers and 13 name servers for com and net TLDs,
the maximum number of NS RR in an NS RRSet should be larger than or equal to 13.</t>

<t>Since there are 13 name servers for root, com, net
and they have both IPv4 and IPv6 addresses,
26 glue records in a delegation should be allowed.</t>

</section>
<section anchor="number-of-alias-levels-using-cnamedname"><name>Number of alias levels using CNAME/DNAME</name>

<t>Many resolver implementations can resolve over 10 CNAME aliases.</t>

<t>Unbound introduced 'max-query-restarts' parameter and the default is 11.
(Hard limit on the number of times
 Unbound is allowed to restart a query upon encountering a CNAME record.)</t>

<t>However,
a stub resolver that receives a response containing multiple CNAME aliases
must find the final A, AAAA Resource record
that corresponds to the CNAME in each application.
In order to avoid this complexity,
the recommend number of CNAME chains is 1.
CNAME/DNAME aliases with more than three levels are too complicated.</t>

</section>
<section anchor="number-of-rrsigsdnskeysdss-in-a-rrset"><name>Number of RRSIGs/DNSKEYs/DSs in a RRSet</name>

<t>KeyTrap <xref target="KeyTrap"></xref> is a vulnerability caused by the fact that
there is no upper limit on the number of DNSKEY, DS, or RRSIG resource records.
If there were upper limits on these, the damage could be mitigated.</t>

<t>Therefore, considering the DNSKEY rollover and the multi-signer model,
the maximum number of DNSKEYs for both KSK and ZSK may be 6.
The maximum number of DS RRs in a DS RRSet may be 3.</t>

<t>The number of RRSIG RRs for each owner name and type pair may be 6.</t>

<t>Unbound introduced the maximum number of RRSIG validations for an
RRset (MAX_VALIDATE_RRSIGS) as 8.</t>

</section>
<section anchor="number-of-delegation-levels-using-unrelated-name-server-names"><name>Number of delegation levels using unrelated name server names</name>

<t><xref target="RFC9471"/> states that all in-domain glue records are attached to
the delegation response.
Therefore, using in-domain name server names for DNS delegation
minimizes name resolution costs.</t>

<t>Unrelated (or, rarely sibling) name server names are used/required for
DNS hosting services.</t>

<t>However, using unrelated name server names increases the name resolution costs
and may increase the likelihood of name resolution errors.</t>

<t>This section proposes to use in-domain name servers as much as possible
for name resolution of unrelated name server names
to reduce the name resolution costs.</t>

<t>Unrelated(out-of-bailiwick) name server names are required
for DNS hosting services.
However, using unrelated name server names increases the name resolution costs.
For some domain names,
there are multiple layers of dependence on unrelated name server names
when resolving the name.</t>

<t>Furthermore, there are cases where cyclic dependencies in delegation occur,
settings that depend on sibling glue,
and cases where the sibling glue disappears or
some name servers stop responding, making it impossible to resolve names.</t>

<t><xref target="Tsuname2021"/> pointed out attacks and countermeasures that
use increased load due to cyclic dependencies.</t>

<t>Many cyclic delegations are likely due to misconfigurations.</t>

<t>To avoid complex name resolution and misconfigurations,
it is better to avoid using unrelated name server names as much as possible.</t>

<t>Unrelated name server names SHOULD be hosted by a domain name 
with at least one in-domain name server name.
In other words, DNS providers SHOULD have at least one in-domain nameserver
for their domain names.</t>

</section>
</section>
<section anchor="RecommendationResolver"><name>Possible upper limit items</name>

<texttable>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>proposal</ttcol>
      <ttcol align='left'>current use</ttcol>
      <ttcol align='left'>implementation</ttcol>
      <c>DNS message size (without PQC)</c>
      <c>&lt;= 1400</c>
      <c>&#160;</c>
      <c>&lt;= 1232 on UDP</c>
      <c>Number of Resource Records in a RRSet</c>
      <c>&lt;= 13</c>
      <c>./com NS</c>
      <c>100 (BIND)</c>
      <c>Number of NS Resource Records in a delegation</c>
      <c>&lt;= 13</c>
      <c>./com NS</c>
      <c>&#160;</c>
      <c>Number of glue RRs in a delegation</c>
      <c>&lt;= 26</c>
      <c>com glue</c>
      <c>&#160;</c>
      <c>Number of DS Resource Records in a delegation</c>
      <c>&lt;= 3</c>
      <c>need research</c>
      <c>&#160;</c>
      <c>Number of DNSKEY Resource Records in a DNSKEY RRSet</c>
      <c>&lt;= 6</c>
      <c>need research</c>
      <c>&#160;</c>
      <c>Number of RRSIG RRs for each name and type</c>
      <c>&lt;= 2</c>
      <c>need research</c>
      <c>8 (Unbound)</c>
      <c>Number of levels of unrelated only delegations</c>
      <c>&lt;= 2</c>
      <c>need research</c>
      <c>&#160;</c>
      <c>Number of CNAME/DNAME chains</c>
      <c>&lt;= 3</c>
      <c>10</c>
      <c>11 (Unbound)</c>
</texttable>

<t>Recursive resolvers MAY respond with a name resolution error (Server Failure)
if it receives a response from an authoritative server
that exceeds these limits.</t>

</section>
<section anchor="iana"><name>IANA Considerations</name>
<t>This document requests no IANA actions.</t>

</section>
<section anchor="securitycons"><name>Security Considerations</name>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="RFC9499">
  <front>
    <title>DNS Terminology</title>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
    <date month="March" year="2024"/>
    <abstract>
      <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
      <t>This document updates RFC 2308 by clarifying the definitions of "forwarder" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarifications. Comprehensive lists of changed and new definitions can be found in Appendices A and B.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="219"/>
  <seriesInfo name="RFC" value="9499"/>
  <seriesInfo name="DOI" value="10.17487/RFC9499"/>
</reference>

<reference anchor="RFC9471">
  <front>
    <title>DNS Glue Requirements in Referral Responses</title>
    <author fullname="M. Andrews" initials="M." surname="Andrews"/>
    <author fullname="S. Huque" initials="S." surname="Huque"/>
    <author fullname="P. Wouters" initials="P." surname="Wouters"/>
    <author fullname="D. Wessels" initials="D." surname="Wessels"/>
    <date month="September" year="2023"/>
    <abstract>
      <t>The DNS uses glue records to allow iterative clients to find the addresses of name servers that are contained within a delegated zone. Authoritative servers are expected to return all available glue records for in-domain name servers in a referral response. If message size constraints prevent the inclusion of all glue records for in-domain name servers, the server must set the TC (Truncated) flag to inform the client that the response is incomplete and that the client should use another transport to retrieve the full response. This document updates RFC 1034 to clarify correct server behavior.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9471"/>
  <seriesInfo name="DOI" value="10.17487/RFC9471"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="Tsuname2021" >
  <front>
    <title>TsuNAME: exploiting misconfiguration and vulnerability to DDoS DNS</title>
    <author initials="G. M." surname="Moura" fullname="Giovane C. M. Moura">
      <organization>SIDN Labs</organization>
    </author>
    <author initials="" surname="Sebastian Castro" fullname="Sebastian Castro">
      <organization>InternetNZ</organization>
    </author>
    <author initials="" surname="John S Heidemann" fullname="John S. Heidemann">
      <organization>USC/ISI</organization>
    </author>
    <author initials="" surname="Wes Hardaker" fullname="Wes Hardaker">
      <organization>USC/ISI</organization>
    </author>
    <date year="2021"/>
  </front>
  <seriesInfo name="IMC '21: Proceedings of the 21st ACM Internet Measurement Conference" value=""/>
</reference>
<reference anchor="KeyTrap" >
  <front>
    <title>The KeyTrap Denial-of-Service Algorithmic Complexity Attacks on DNS</title>
    <author initials="" surname="Elias Heftrig" fullname="Elias Heftrig">
      <organization>ATHENE</organization>
    </author>
    <author initials="" surname="Haya Schulmann" fullname="Haya Schulmann">
      <organization>ATHENE</organization>
    </author>
    <author initials="" surname="Niklas Vogel" fullname="Niklas Vogel">
      <organization>TU Darmstadt</organization>
    </author>
    <author initials="" surname="Michael Waidner" fullname="Michael Waidner">
      <organization>Fraunhofer SIT</organization>
    </author>
    <date year="2024"/>
  </front>
</reference>



<reference anchor="I-D.ietf-dnsop-avoid-fragmentation">
   <front>
      <title>IP Fragmentation Avoidance in DNS over UDP</title>
      <author fullname="Kazunori Fujiwara" initials="K." surname="Fujiwara">
         <organization>Japan Registry Services Co., Ltd.</organization>
      </author>
      <author fullname="Paul A. Vixie" initials="P. A." surname="Vixie">
         <organization>AWS Security</organization>
      </author>
      <date day="26" month="September" year="2024"/>
      <abstract>
	 <t>   The widely deployed EDNS0 feature in the DNS enables a DNS receiver
   to indicate its received UDP message size capacity, which supports
   the sending of large UDP responses by a DNS server.  Large DNS/UDP
   messages are more likely to be fragmented and IP fragmentation has
   exposed weaknesses in application protocols.  It is possible to avoid
   IP fragmentation in DNS by limiting the response size where possible,
   and signaling the need to upgrade from UDP to TCP transport where
   necessary.  This document describes techniques to avoid IP
   fragmentation in DNS.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-avoid-fragmentation-20"/>
   
</reference>




    </references>



  </back>

<!-- ##markdown-source:
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
1Sv37g8XJkhVwb8BbhxzxQwoAAA=

-->

</rfc>

