[auth48] AUTH48: RFC-to-be 9567 <draft-ietf-dnsop-dns-error-reporting-08> for your review

rfc-editor@rfc-editor.org Tue, 09 April 2024 22:14 UTC

Return-Path: <wwwrun@rfcpa.amsl.com>
X-Original-To: auth48archive@ietfa.amsl.com
Delivered-To: auth48archive@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 27BE8C14F6EE; Tue, 9 Apr 2024 15:14:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.647
X-Spam-Level:
X-Spam-Status: No, score=-1.647 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, CTE_8BIT_MISMATCH=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id M_TLyNG-GeOC; Tue, 9 Apr 2024 15:14:28 -0700 (PDT)
Received: from rfcpa.amsl.com (rfcpa.amsl.com [50.223.129.200]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C2463C14F6E1; Tue, 9 Apr 2024 15:14:28 -0700 (PDT)
Received: by rfcpa.amsl.com (Postfix, from userid 499) id 943CC5BDD45; Tue, 9 Apr 2024 15:14:28 -0700 (PDT)
To: roy.arends@icann.org, matt.larson@icann.org
From: rfc-editor@rfc-editor.org
Cc: rfc-editor@rfc-editor.org, dnsop-ads@ietf.org, dnsop-chairs@ietf.org, benno@NLnetLabs.nl, warren@kumari.net, auth48archive@rfc-editor.org
Content-type: text/plain; charset="UTF-8"
Message-Id: <20240409221428.943CC5BDD45@rfcpa.amsl.com>
Date: Tue, 09 Apr 2024 15:14:28 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/auth48archive/7mgeNgSQoGTWAnJhgqQ97qMpECM>
Subject: [auth48] AUTH48: RFC-to-be 9567 <draft-ietf-dnsop-dns-error-reporting-08> for your review
X-BeenThere: auth48archive@rfc-editor.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Archiving AUTH48 exchanges between the RFC Production Center, the authors, and other related parties" <auth48archive.rfc-editor.org>
List-Unsubscribe: <https://mailman.rfc-editor.org/mailman/options/auth48archive>, <mailto:auth48archive-request@rfc-editor.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/auth48archive/>
List-Post: <mailto:auth48archive@rfc-editor.org>
List-Help: <mailto:auth48archive-request@rfc-editor.org?subject=help>
List-Subscribe: <https://mailman.rfc-editor.org/mailman/listinfo/auth48archive>, <mailto:auth48archive-request@rfc-editor.org?subject=subscribe>
X-List-Received-Date: Tue, 09 Apr 2024 22:14:33 -0000

Authors,

While reviewing this document during AUTH48, please resolve (as necessary) the following questions, which are also in the XML file.


1) <!-- [rfced] Please insert any keywords (beyond those that appear in
the title) for use on https://www.rfc-editor.org/search. -->


2) <!-- [rfced] Would replacing "where" with "to which" improve readability of
this sentence? 

Original:
   It allows an authoritative server to announce a monitoring agent
   where validating resolvers can report issues if those resolvers are
   configured to do so.
   
Perhaps: 
   It allows an authoritative server to announce a monitoring agent
   to which validating resolvers can report issues if those resolvers are
   configured to do so.
-->


3) <!-- [rfced] We updated the first two definitions below to have a consistent
style with the last two definitions. Please review and let us know any
concerns.

Original:
   Reporting resolver:  In the context of this document, "reporting
      resolver" is used as a shorthand for a validating resolver that
      supports DNS error reporting.

   Report query:  The DNS query used to report an error is called a
      report query.  A report query is for a DNS TXT resource record
      type.  The content of the error report is encoded in the QNAME of
      a DNS request to the monitoring agent.

   Monitoring agent:  An authoritative server that receives and responds
      to report queries.  This facility is indicated by a domain name,
      referred to as the agent domain.

   Agent domain:  A domain name which is returned in the DNS Error
      Reporting EDNS0 option that indicates where DNS resolvers can send
      error reports.

Updated (first two entries): 
   Reporting resolver:  A validating resolver that
      supports DNS error reporting.

   Report query:  The DNS query used to report an error.
      A report query is for a DNS TXT resource record
      type.  The content of the error report is encoded in the QNAME of
      a DNS request to the monitoring agent.

   Monitoring agent:  An authoritative server that receives and responds
      to report queries.  This facility is indicated by a domain name,
      referred to as the "agent domain".

   Agent domain:  A domain name that is returned in the DNS Error
      Reporting EDNS0 option that indicates where DNS resolvers can send
      error reports.
-->


4) <!-- [rfced] Will "DNS Error Reporting EDNS0 option" be clear to readers?
Also, may we update "that indicates" to "and indicates"?
     
Original:
   Agent domain:  A domain name which is returned in the DNS Error
      Reporting EDNS0 option that indicates where DNS resolvers can send
      error reports.

Perhaps: 
   Agent domain:  A domain name that is returned in the 
      EDNS0 Report-Channel option and indicates where DNS resolvers can send
      error reports.
-->


5) <!-- [rfced] The following text in Section 4 seems similar to (but not exactly
the same as) the bulleted list in Section 6.1.1. Please review and let us
know if any updates would be helpful. For example, should these lists be
exactly the the same? Would it be helpful to include a pointer to
Section 6.1.1 here instead of the similar text?

Original:
   The reporting resolver builds this QNAME by
   concatenating the _er label, the QTYPE, the QNAME that resulted in
   failure, the extended error code (as described in [RFC8914]), the
   label "_er" again, and the agent domain.
-->


6) <!-- [rfced] Please review "that is, once per TTL" here. Will this be clear to
readers?

Original:
   This caching is essential.  It
   dampens the number of report queries sent by a reporting resolver for
   the same problem, that is, once per TTL.  

Perhaps:
   This caching is essential.  It
   dampens the number of report queries sent by a reporting resolver for
   the same problem (that is, with caching, one report query per TTL is sent).  
-->


7) <!-- [rfced] We updated "such as [RFC8020] and [RFC8198]" as shown
below. Would it be helpful to further clarify by mentioning the
mechanisms?

Original:
   However, certain
   optimizations such as [RFC8020] and [RFC8198] may reduce the number
   of error report queries as well.

Current:
   However, certain
   optimizations, such as those described in [RFC8020] and [RFC8198], may reduce the number
   of error report queries as well.

Perhaps:
   However, certain
   optimizations, such as NXDOMAIN [RFC8020] and NSEC/NSEC3 [RFC8198], may reduce the number
   of error report queries as well.
-->


8) <!-- [rfced] In Section 4.1, we see both "type A" and "type 1". Are these the
same thing? If so, should they be consistent?
-->


9) <!-- [rfced] Should "type 1 record" here be updated to "for a type 1 record"?

Original:
   This QNAME indicates extended DNS error 7 occurred while trying to
   validate "broken.test." type 1 record.
   
Perhaps: 
   This QNAME indicates extended DNS error 7 occurred while trying to
   validate "broken.test." for a type 1 record.
-->


10) <!-- [rfced] Please review "error reporting QNAME" and "another error
reporting" here and let us know if updates like the following would
improve clarity.

Original:
   Care should be taken when more DNS resolving is needed to resolve the
   error reporting QNAME.  This resolving itself could trigger another
   error reporting to be created.
   
Perhaps: 
   Care should be taken when more DNS resolving is needed to resolve the
   error reported by the QNAME.  This resolving itself could trigger another
   error report to be created.  
-->


11) <!-- [rfced] We updated "agent domain field" to "AGENT DOMAIN field" to match
the field name in the figure in Section 5. Are any other instances of
"agent domain" referring to the field?

Original:
   The reporting resolver MUST NOT use DNS error reporting if the
   authoritative server returned an empty agent domain field in the
   EDNS0 Report-Channel option.

Updated:
   The reporting resolver MUST NOT use DNS error reporting if the
   authoritative server returned an empty AGENT DOMAIN field in the
   EDNS0 Report-Channel option.
-->


12) <!-- [rfced] To improve readability, may we update "For the benefit of the
monitoring agent to get more confidence" as follows?

Original:
   For the benefit of the monitoring agent to get more confidence that
   the report is not spoofed, the reporting resolver SHOULD send error
   reports over TCP [RFC7766] or other connection oriented protocols or
   SHOULD use DNS COOKIEs [RFC7873]. 

Perhaps: 
   For the monitoring agent to gain more confidence that
   the report is not spoofed, the reporting resolver SHOULD send error
   reports over TCP [RFC7766] or other connection-oriented protocols or
   SHOULD use DNS COOKIEs [RFC7873]. 
-->


13) <!-- [rfced] This list is Section 6.1.1 contains two instances of "A label
containing the string "_er".'. Would be it be helpful to add "(again)" or
something similar to the second instance?

Original:
   *  A label containing the string "_er".

   *  The QTYPE that was used in the query that resulted in the extended
      DNS error, presented as a decimal value, in a single DNS label.
      If additional QTYPEs were present in the query, such as described
      in [I-D.ietf-dnssd-multi-qtypes], they are represented as unique,
      ordered decimal values separated by a hyphen.  As an example, if
      both QTYPE A and AAAA were present in the query, they are
      presented as the label "1-28".

   *  The list of non-null labels representing the query name which is
      the subject of the DNS error report.

   *  The extended DNS error, presented as a decimal value, in a single
      DNS label.

   *  A label containing the string "_er".

   *  The agent domain.  The agent domain as received in the EDNS0
      Report-Channel option set by the authoritative server.
-->


14) <!-- [rfced] Will "as a result and not the original query" be clear to readers?

Original:
   The "_er" labels allow the monitoring agent to differentiate between
   the agent domain and the faulty query name.  When the specified agent
   domain is empty, or a null label (despite being not allowed in this
   specification), the report query will have "_er" as a top-level
   domain as a result and not the original query.

Perhaps:
   The "_er" labels allow the monitoring agent to differentiate between
   the agent domain and the faulty query name.  When the specified agent
   domain is empty, or is a null label (despite being not allowed in this
   specification), the report query will have "_er" as a top-level
   domain as a result, but the original query will not.
-->


15) <!-- [rfced] We note that this sentence appears in both Section 6.3 and
Section 9. Please review and let us know if any updates are needed.

Original:
   The monitoring agent SHOULD respond to queries received over UDP that
   have no DNS COOKIE set with a response that has the truncation bit
   (TC bit) set to challenge the resolver to re-query over TCP.
-->


16) <!-- [rfced] Please review "TXT resource record RDATA for this record" in
these two sentences. Will this be clear to readers? Also, will readers
know what "it" refers to in the second sentence?

Original:
   This document gives no guidance on the content of the TXT resource
   record RDATA for this record.
   ...
   Though this document gives no guidance on the content of the TXT
   resource record RDATA for this record, if the RDATA content is
   logged, it MUST assume the content can be malicious and take
   appropriate meassures to avoid exploitation. 

Perhaps:
   This document gives no guidance on the content of the RDATA in the TXT resource
   record.
   ...
   Though this document gives no guidance on the content of the RDATA in the TXT
   resource record, if the RDATA content is
   logged, the monitoring agent MUST assume the content can be malicious and take
   appropriate measures to avoid exploitation. 
-->


17) <!-- [rfced] How may we update "such as [CVE-2021-44228]" for clarity?

Original:
   This would avoid remote code execution
   through logging string attacks such as [CVE-2021-44228].

Perhaps:
   This would avoid remote code execution
   through logging string attacks, such as the vulnerability desribed in [CVE-2021-44228].

Or:
   This would avoid remote code execution
   through logging string attacks, such as the scenario desribed in [CVE-2021-44228].
-->


18) <!-- [rfced] FYI - RFC 8499 has been obsoleted by RFC 9499. We have updated
instances of 8499 to 9499. Please review and let us know any objections.
-->


19) <!-- [rfced] FYI - We see a date of November 26, 2021 in the URL for this
reference. We have updated accordingly. Please let us know any concerns.

Original:
   [CVE-2021-44228]
              Common Vulnerabilities and Exposures, "CVE-2021-44228", 10
              December 2021, <https://cve.mitre.org/cgi-bin/
              cvename.cgi?name=CVE-2021-44228>.
	      
Updated:
   [CVE-2021-44228]
              CVE, "CVE-2021-44228", 
              26 November 2021, <https://cve.mitre.org/cgi-bin/
              cvename.cgi?name=CVE-2021-44228>.
-->


20) <!-- [rfced] Terminology

a) We note inconsistencies in the terms below throughout the text. Should
these be uniform? If so, please let us know which form is preferred.

"a01.agent-domain.example." vs. a01.agent-domain.example

"broken.test." vs. "broken.test"


b) We see one instance of "report query QNAME". Should this be updated to "QNAME
of the report query" (or similar)?

Original:
   If the report query QNAME exceeds 255 octets, it MUST NOT be sent.

Perhaps:
   If the QNAME of the report query exceeds 255 octets, it MUST NOT be sent.


c) FYI - We made the following update for consistency with other usage in the
document and in RFC 8914.

extended error > extended DNS error


d) Should any instances of "extended DNS error" be updated to "extended DNS
error code" (with "code")? For example:

Original:
   *  The extended DNS error, presented as a decimal value, in a single
      DNS label.

Perhaps:
   *  The extended DNS error code, presented as a decimal value, in a single
      DNS label.


e) This document uses "COOKIE". In RFC 7873, we see both "Cookie" and "COOKIE
option". Please review and let us know if any updates are needed.

Original:
   For the benefit of the monitoring agent to get more confidence that
   the report is not spoofed, the reporting resolver SHOULD send error
   reports over TCP [RFC7766] or other connection oriented protocols or
   SHOULD use DNS COOKIEs [RFC7873].
   ...
   The monitoring agent SHOULD respond to queries received over UDP that
   have no DNS COOKIE set with a response that has the truncation bit
   (TC bit) set to challenge the resolver to re-query over TCP.
   ...
   Resolvers that send error reports SHOULD send these over TCP
   [RFC7766] or SHOULD use DNS COOKIEs [RFC7873].
   ...
   The monitoring agent SHOULD respond to
   queries received over UDP that have no DNS COOKIE set with a response
   that has the truncation bit (TC bit) set to challenge the resolver to
   re-query over TCP.
-->


21) <!-- [rfced] Please review the "Inclusive Language" portion of the online 
Style Guide <https://www.rfc-editor.org/styleguide/part2/#inclusive_language>
and let us know if any changes are needed.

Note that our script did not flag any words in particular, but this should 
still be reviewed as a best practice.
-->


Thank you.

RFC Editor/rv



On Apr 9, 2024, at 3:09 PM, rfc-editor@rfc-editor.org wrote:

*****IMPORTANT*****

Updated 2024/04/09

RFC Author(s):
--------------

Instructions for Completing AUTH48

Your document has now entered AUTH48.  Once it has been reviewed and 
approved by you and all coauthors, it will be published as an RFC.  
If an author is no longer available, there are several remedies 
available as listed in the FAQ (https://www.rfc-editor.org/faq/).

You and you coauthors are responsible for engaging other parties 
(e.g., Contributors or Working Group) as necessary before providing 
your approval.

Planning your review 
---------------------

Please review the following aspects of your document:

*  RFC Editor questions

  Please review and resolve any questions raised by the RFC Editor 
  that have been included in the XML file as comments marked as 
  follows:

  <!-- [rfced] ... -->

  These questions will also be sent in a subsequent email.

*  Changes submitted by coauthors 

  Please ensure that you review any changes submitted by your 
  coauthors.  We assume that if you do not speak up that you 
  agree to changes submitted by your coauthors.

*  Content 

  Please review the full content of the document, as this cannot 
  change once the RFC is published.  Please pay particular attention to:
  - IANA considerations updates (if applicable)
  - contact information
  - references

*  Copyright notices and legends

  Please review the copyright notice and legends as defined in
  RFC 5378 and the Trust Legal Provisions 
  (TLP – https://trustee.ietf.org/license-info/).

*  Semantic markup

  Please review the markup in the XML file to ensure that elements of  
  content are correctly tagged.  For example, ensure that <sourcecode> 
  and <artwork> are set correctly.  See details at 
  <https://authors.ietf.org/rfcxml-vocabulary>.

*  Formatted output

  Please review the PDF, HTML, and TXT files to ensure that the 
  formatted output, as generated from the markup in the XML file, is 
  reasonable.  Please note that the TXT will have formatting 
  limitations compared to the PDF and HTML.


Submitting changes
------------------

To submit changes, please reply to this email using ‘REPLY ALL’ as all 
the parties CCed on this message need to see your changes. The parties 
include:

  *  your coauthors

  *  rfc-editor@rfc-editor.org (the RPC team)

  *  other document participants, depending on the stream (e.g., 
     IETF Stream participants are your working group chairs, the 
     responsible ADs, and the document shepherd).

  *  auth48archive@rfc-editor.org, which is a new archival mailing list 
     to preserve AUTH48 conversations; it is not an active discussion 
     list:

    *  More info:
       https://mailarchive.ietf.org/arch/msg/ietf-announce/yb6lpIGh-4Q9l2USxIAe6P8O4Zc

    *  The archive itself:
       https://mailarchive.ietf.org/arch/browse/auth48archive/

    *  Note: If only absolutely necessary, you may temporarily opt out 
       of the archiving of messages (e.g., to discuss a sensitive matter).
       If needed, please add a note at the top of the message that you 
       have dropped the address. When the discussion is concluded, 
       auth48archive@rfc-editor.org will be re-added to the CC list and 
       its addition will be noted at the top of the message. 

You may submit your changes in one of two ways:

An update to the provided XML file
— OR —
An explicit list of changes in this format

Section # (or indicate Global)

OLD:
old text

NEW:
new text

You do not need to reply with both an updated XML file and an explicit 
list of changes, as either form is sufficient.

We will ask a stream manager to review and approve any changes that seem
beyond editorial in nature, e.g., addition of new text, deletion of text, 
and technical changes.  Information about stream managers can be found in 
the FAQ.  Editorial changes do not require approval from a stream manager.


Approving for publication
--------------------------

To approve your RFC for publication, please reply to this email stating
that you approve this RFC for publication.  Please use ‘REPLY ALL’,
as all the parties CCed on this message need to see your approval.


Files 
-----

The files are available here:
  https://www.rfc-editor.org/authors/rfc9567.xml
  https://www.rfc-editor.org/authors/rfc9567.html
  https://www.rfc-editor.org/authors/rfc9567.pdf
  https://www.rfc-editor.org/authors/rfc9567.txt

Diff file of the text:
  https://www.rfc-editor.org/authors/rfc9567-diff.html
  https://www.rfc-editor.org/authors/rfc9567-rfcdiff.html (side by side)

Alt-diff of the text (allows you to more easily view changes 
where text has been deleted or moved): 
  https://www.rfc-editor.org/authors/rfc9567-alt-diff.html

Diff of the XML: 
  https://www.rfc-editor.org/authors/rfc9567-xmldiff1.html

The following files are provided to facilitate creation of your own 
diff files of the XML.  

Initial XMLv3 created using XMLv2 as input:
  https://www.rfc-editor.org/authors/rfc9567.original.v2v3.xml 

XMLv3 file that is a best effort to capture v3-related format updates 
only: 
  https://www.rfc-editor.org/authors/rfc9567.form.xml


Tracking progress
-----------------

The details of the AUTH48 status of your document are here:
  https://www.rfc-editor.org/auth48/rfc9567

Please let us know if you have any questions.  

Thank you for your cooperation,

RFC Editor

--------------------------------------
RFC9567 (draft-ietf-dnsop-dns-error-reporting-08)

Title            : DNS Error Reporting
Author(s)        : R. Arends, M. Larson
WG Chair(s)      : Suzanne Woolf, Benno Overeinder, Tim Wicinski

Area Director(s) : Warren Kumari, Mahesh Jethanandani