Re: [DNSOP] Tsvart last call review of draft-ietf-dnsop-dns-error-reporting-06

Roy Arends <roy@dnss.ec> Tue, 17 October 2023 11:05 UTC

Return-Path: <roy@dnss.ec>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7D3FDC1519BE for <dnsop@ietfa.amsl.com>; Tue, 17 Oct 2023 04:05:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=dnss.ec
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 ebHaajXs59uR for <dnsop@ietfa.amsl.com>; Tue, 17 Oct 2023 04:05:35 -0700 (PDT)
Received: from mail-yw1-x112d.google.com (mail-yw1-x112d.google.com [IPv6:2607:f8b0:4864:20::112d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 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 18334C15155F for <dnsop@ietf.org>; Tue, 17 Oct 2023 04:05:33 -0700 (PDT)
Received: by mail-yw1-x112d.google.com with SMTP id 00721157ae682-5a7ab31fb8bso65996097b3.1 for <dnsop@ietf.org>; Tue, 17 Oct 2023 04:05:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dnss.ec; s=google; t=1697540733; x=1698145533; darn=ietf.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=EqsDH8fpydGLHk8uUdKNBST5lZ0kqgTfpMsvu6jXV1A=; b=D1FSnBBhs3qojSIZXxV+uGqF4+CfsEd5q1GT8WqmDSgr1dYk7YYMp2KY/P+tTOmPGa 5SQJweQbHJjwjspI64j7oilt3ZIeCwRudBPyRtLkkqPRrHhGX3FdoKf48CzEcukazr+P GjY8PB+iJQ3tl78gygNC886PvT5YdAnVeEF3c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697540733; x=1698145533; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EqsDH8fpydGLHk8uUdKNBST5lZ0kqgTfpMsvu6jXV1A=; b=gIvxXL3ib326RW2eHmZgJuYM5uBtZ1RqltuVwVIKdUxHUUX3yRwqjxtTs18IaPhEgG 7T46l0tVWaB0GKnkSRLc9p5BDbhifioNKSc79U4y+VABy4elqbL48mx5ygQZ8CrbpFyT OgkzmcTU52wPkyHCLsq5n8+c4v45sS64QU61PC8fuyt/UMHs/sHcNtPoRGnnEdZzqPBN nq/aaBnDIanJrOHg353u3W33f/Gh64AbQ55mzrhKzHskeYYJnkY1eCWVxRVTVAisde25 7xyWAuzuPzoUwrQL1Mb39rwUkVqfSpcZU+0I7C96+9K3B6o5csKGppOjf69/rDtiPG/u rwTA==
X-Gm-Message-State: AOJu0YwahlV2msVQUhNKpbMM5V6bLUWtxXMBeQDtI3/zqnjfJ+2AzBvm zG3Hobxm2LmrRDl4yIdsndMaIA==
X-Google-Smtp-Source: AGHT+IEUHA1wRgkhPXehQryW4EoSx2p9C1+SF32K4cU/m/48t5LlcupWOvM8vrX3OWbq8175lZrpCw==
X-Received: by 2002:a81:a0cd:0:b0:5a7:e3f7:24bc with SMTP id x196-20020a81a0cd000000b005a7e3f724bcmr1735305ywg.20.1697540732978; Tue, 17 Oct 2023 04:05:32 -0700 (PDT)
Received: from smtpclient.apple ([89.33.15.144]) by smtp.gmail.com with ESMTPSA id n20-20020a05620a295400b0076ef3e6e6a4sm547624qkp.42.2023.10.17.04.05.31 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Oct 2023 04:05:32 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.100.2.1.4\))
From: Roy Arends <roy@dnss.ec>
In-Reply-To: <169753457719.49641.9320126993042446652@ietfa.amsl.com>
Date: Tue, 17 Oct 2023 12:05:19 +0100
Cc: tsv-art@ietf.org, dnsop@ietf.org, draft-ietf-dnsop-dns-error-reporting.all@ietf.org, last-call@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <A6822643-F01F-437A-A5DF-5EBB8F7EA523@dnss.ec>
References: <169753457719.49641.9320126993042446652@ietfa.amsl.com>
To: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
X-Mailer: Apple Mail (2.3774.100.2.1.4)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/zpas0LeSoRwQR7eKY6W4G08Yhvo>
Subject: Re: [DNSOP] Tsvart last call review of draft-ietf-dnsop-dns-error-reporting-06
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Oct 2023 11:05:40 -0000

Thanks Gerry,

Comments inline.

> On 17 Oct 2023, at 10:22, Gorry Fairhurst via Datatracker <noreply@ietf.org> wrote:
> 
> Reviewer: Gorry Fairhurst
> Review result: Not Ready
> 
> This document has been reviewed as part of the transport area review team's
> ongoing effort to review key IETF documents. These comments were written
> primarily for the transport area directors, but are copied to the document's
> authors and WG to allow them to address any issues raised and also to the IETF
> discussion list for information.
> 
> When done at the time of IETF Last Call, the authors should consider this
> review as part of the last-call comments they receive. Please always CC
> tsv-art@ietf.org if you reply to or forward this review.
> 
> Thank you for a well written document, and it's description of the service to
> be provided.
> 
> This is proposed as a "lightweight" reporting mechanism.
> 
> The method states it can be used over TCP. In this case, TCP provides the
> necessary congestion control, flow control and segmentation. I did not see
> additional transport concerns.
> 
> The method also states it can be used over UDP - which is equally recommended.
> However, the specification for use over UDP is incomplete and raises some
> transport concerns:

I want to stress here that the reporting mechanism is using DNS. 

Subsequently, it relies on existing methods of transport that DNS relies on. As an application that uses DNS to send a report, additional requirements such as mechanisms for flow control, segmentation, fragmentation, packet reassembly, order, congestion control, buffering, etc, feel like a layer violation. 

With that in mind, I suggest the following:

> 
> 1. There is a recommendation to use DNS COOKIEs [RFC7873] over UDP (PS), but no
> statement about how to mitigate the effects when these are not used.

There is a statement in the security section: 

"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.”

Let me know if that is sufficient.

> 2. There is no discussion of how to handle reports larger than the maximum UDP
> datagram payload. See RFC 8085 section 3.2.

The report encoded in the QNAME. In section 6.1.1 there is the following statement:

"If the report query QNAME exceeds 255 octets, it MUST NOT be sent.”

It is not possible to send a report larger than the maximum UDP datagram payload.

Let me know if that is sufficient.

> 3. I think this method can in some uses could generate a stream of reports at a
> rate that could be more than a few UDP datagrams per RTT, (e.g., if implement
> automated responses). In this case, I think method would need to provide some
> basic rate limiting or implement a form of congestion control.

DNS software have mitigations for these kind of streams. DNS is a well known method to be abused for DDoS purposes, and mitigation strategies have been wide and far. Any rate limiting methods in this document would require special casing in the DNS software to deal with error reporting. This is wholly unnecessary. As far as the transport and application layers are concerned, this is just a DNS query going out.

> I understand the rate is usually "damped" by caching to one message/TTL per
> report, but I am unsure this is sufficient to mitigate any congestion control
> concerns.
> 
> One potential remedy could be to require/recommend use over a
> congestion-controlled transport (such as TCP) when using an Internet path;  an
> alternative would be to be define appropriate mechanisms to provide at least
> starvation prevention for UDP services. See RFC 8085 section 3.1.

We simply can’t. It would require special casing: a DNS query that happens to contain a DNS-error-report in its QNAME, should now only be send over TCP. An application that asks a stub resolver can’t do this. It would require a full “DNS-stack” that makes sure that these reports go over TCP. 

> NiT: It could be useful to expand "DS records" on first usage.

Okay. Will add that.

Thanks Gerry for your review.

Warmly,

Roy

> 
> 
> 
> _______________________________________________
> DNSOP mailing list
> DNSOP@ietf.org
> https://www.ietf.org/mailman/listinfo/dnsop