Re: [dns-privacy] I-D Action: draft-ietf-dprive-xfr-over-tls-02.txt

Tony Finch <dot@dotat.at> Tue, 21 July 2020 17:07 UTC

Return-Path: <dot@dotat.at>
X-Original-To: dns-privacy@ietfa.amsl.com
Delivered-To: dns-privacy@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 67BAD3A0C20 for <dns-privacy@ietfa.amsl.com>; Tue, 21 Jul 2020 10:07:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.918
X-Spam-Level:
X-Spam-Status: No, score=-1.918 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZlyXE0DW0LPA for <dns-privacy@ietfa.amsl.com>; Tue, 21 Jul 2020 10:07:30 -0700 (PDT)
Received: from ppsw-33.csi.cam.ac.uk (ppsw-33.csi.cam.ac.uk [131.111.8.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6F3CB3A0C1F for <dns-privacy@ietf.org>; Tue, 21 Jul 2020 10:07:30 -0700 (PDT)
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://help.uis.cam.ac.uk/email-scanner-virus
Received: from grey.csi.cam.ac.uk ([131.111.57.57]:43290) by ppsw-33.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.137]:25) with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) id 1jxvjk-000lVf-hQ (Exim 4.92.3) (return-path <dot@dotat.at>); Tue, 21 Jul 2020 18:07:28 +0100
Date: Tue, 21 Jul 2020 18:07:28 +0100
From: Tony Finch <dot@dotat.at>
To: Sara Dickinson <sara@sinodun.com>
cc: DNS Privacy Working Group <dns-privacy@ietf.org>
In-Reply-To: <A210D60B-4788-47AC-BF5E-61830BE24B77@sinodun.com>
Message-ID: <alpine.DEB.2.20.2007211746380.1435@grey.csi.cam.ac.uk>
References: <159465861212.27789.12532144774876250909@ietfa.amsl.com> <A0F13E92-889B-415A-BFA1-215838EE895D@sinodun.com> <alpine.DEB.2.20.2007132101010.32181@grey.csi.cam.ac.uk> <A210D60B-4788-47AC-BF5E-61830BE24B77@sinodun.com>
User-Agent: Alpine 2.20 (DEB 67 2015-01-07)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="1870870841-701975281-1595351248=:1435"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dns-privacy/-x9yPRcjko-XQoU5FU8HtsP0HUU>
Subject: Re: [dns-privacy] I-D Action: draft-ietf-dprive-xfr-over-tls-02.txt
X-BeenThere: dns-privacy@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <dns-privacy.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dns-privacy>, <mailto:dns-privacy-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dns-privacy/>
List-Post: <mailto:dns-privacy@ietf.org>
List-Help: <mailto:dns-privacy-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dns-privacy>, <mailto:dns-privacy-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Jul 2020 17:07:32 -0000

Sara Dickinson <sara@sinodun.com> wrote:
>
> Hi Tony,
>
> Many thanks for the detailed review!

You're welcome! Your changes sound good, so I'll just answer a few
quesions...

> > Is there a reason for allowing concurrent AXFRs of the same zone?
> > Actually, thinking about this more generally, I can't see a way in RFC
> > 5936 for the server to impose backpressure to limit the number of
> > concurrent AXFRs. And there isn't an extended error code for concurrency
> > control or backpressure. If the server had a suitable response, that would
> > allow it to control xfer resources in general, as well as to choose
> > whether or not it wants to allow multiple AXFRs for the same zone at the
> > same time.
>
> I don’t believe RFC5936 says anything expliclty about concurrent
> transfer behaviour, and while there may not be a use case for it do you
> think we should actually prohibit it?
>
> Of course a server can error any AXFR if it chooses [RFC5936]:
>
> "To indicate an error in an AXFR response, the AXFR server sends a
>    single DNS message when the error condition is detected, with the
>    response code set to the appropriate value for the condition
>    encountered.  Such a message terminates the AXFR session;…”
>
> so it _could_ already answer SERVFAIL if it didn’t have the resources?,
> or REFUSED if a transfer is already underway and it doesn’t want to do
> another one? I’m not actually sure what existing implementations do in
> this case? (will double check)
>
> I suppose the advantage of adding an extended error code would be so
> that well behaved clients didn’t continue to request transfers that were
> going to be refused.

BIND at least has had quotas for controlling zone transfer concurrency for
aaages, so the answer to this question is out there. I was thinking out
loud a bit when I wrote that paragraph, mainly because I was surprised the
specs did not AFAICT describe a fairly well-known xfer feature.

> > Re pipelining, I can't see in RFC 5936 whether concurrent AXFRs are just
> > concurrent outstanding queries, with all the response messages for one
> > zone sent back-to-back, or whether response messages for different
> > concurrent AXFRs can be interleaved.
>
> No, you are right - that behaviour isn’t explicitly specified there but
> the discussion around using message IDs to match responses at the end of
> section 4.1.1. suggests/implies intermingling should work. Our draft
> doesn’t update RFC5936 at all (at the moment)… I hadn’t thought it
> necessary but perhaps we should actually make the normative statements
> around the updates to RFC1995 apply to RFC5936 as well for consistency?

I thought when reading the draft that it might be a bit clearer if there
were sections on stuff applying to xfers in general (connection
management, concurrency, etc.) and particular details for axfr and for
ixfr.

This spec probably does need to update RFC 5936 because 5936 doesn't say
anything about IXFR even though there are important details in how IXFR
and AXFR interact.

> Are you thinking of some text clarifying that servers can send AXoT
> responses for different zones intermingled with each other and with IXoT
> responses and clients have to handle them? I guess I thought that was
> implicit in the RFC7766 model but we could add some clarifying text.
> Again though, that would (I think) apply equally for AXFR and IXFR
> sharing a connection so perhaps it needs to appear earlier when they are
> discussed…. Do you have any error/problem cases in mind, or just
> clarifying what needs to be supported?

Yes, I was just unsure what degree of intermingling is supposed to be
allowed; I don't know enough about this part of the innards of existing
implementations to say what the right clarification is, though :-)

Tony.
-- 
f.anthony.n.finch  <dot@dotat.at>  http://dotat.at/
disperse power, foster diversity, and nurture creativity