Re: [DNSOP] comments on draft-jabley-dnsop-refuse-any-01

"Joe Abley" <jabley@hopcount.ca> Mon, 02 November 2015 16:47 UTC

Return-Path: <jabley@hopcount.ca>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 17B5E1B4994 for <dnsop@ietfa.amsl.com>; Mon, 2 Nov 2015 08:47:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.7
X-Spam-Level:
X-Spam-Status: No, score=-1.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, MIME_8BIT_HEADER=0.3] autolearn=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 vr1BZYfTmoqt for <dnsop@ietfa.amsl.com>; Mon, 2 Nov 2015 08:47:28 -0800 (PST)
Received: from mail-qg0-x22f.google.com (mail-qg0-x22f.google.com [IPv6:2607:f8b0:400d:c04::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A04421B4992 for <dnsop@ietf.org>; Mon, 2 Nov 2015 08:47:28 -0800 (PST)
Received: by qgad10 with SMTP id d10so120584398qga.3 for <dnsop@ietf.org>; Mon, 02 Nov 2015 08:47:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hopcount.ca; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=p+WhsSmg6nzBs2fGGttfBcK8oZyKHWo9m7hYyhh/OaM=; b=OF3Zw0QnFgWEOYfTtWNVNp7fPotdQhnDU9UhNLf6JCiFRhDBUABlwIwYNqFaSJ9rpo 6VmN0IRQviRF0r0cgubB8JNFt6xpda1J4iCsZn5lcK+jmzHyyer6qgd1YHFSewoQXBNU d3tu5tyY5iE5AcLFPsjil+U3NCIRLHCk+eWbY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-type:content-transfer-encoding; bh=p+WhsSmg6nzBs2fGGttfBcK8oZyKHWo9m7hYyhh/OaM=; b=DVMY8rG0lGNGtZftclkFOBCumALXi4oduDHK+Uz0oeP831QlX67ask6uO54koci5g7 K3N1dSA6uutMQkSETD5RPP0EREL9widB+ObBXLDWoLx6PB4JZxwLJlgPLHBuOoAv3XEM yaxmeQCefDZ4m0mZcDZT7ELs+pWQFM0UHEXrYioVo+EKd7TqlELSNF/R0yhfuNn1TogX /mOEDHqxLzrJBYhKXnzXnORN5XIHPQzi7ooyeITQbt0fmDZ9YZAqYblQWwqaDl5TBlWN Osfp664qWW+61VHyLRMqQnWnfEHX7s4EWgIwuUuM+xG71GcyB2PhNWI7SoQl1m2c7AiW UC/g==
X-Gm-Message-State: ALoCoQnJR2/apqjPMmTyT5pkBRmRArt8QA9iAJhkweOh5FN6ywKHdkRUFfSysFvp0cjJ/RH1n31c
X-Received: by 10.140.237.68 with SMTP id i65mr32450240qhc.55.1446482847728; Mon, 02 Nov 2015 08:47:27 -0800 (PST)
Received: from [172.19.131.62] (135-23-68-43.cpe.pppoe.ca. [135.23.68.43]) by smtp.gmail.com with ESMTPSA id l200sm8143087qhl.5.2015.11.02.08.47.26 (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 02 Nov 2015 08:47:27 -0800 (PST)
From: Joe Abley <jabley@hopcount.ca>
To: 神明達哉 <jinmei@wide.ad.jp>
Date: Mon, 02 Nov 2015 11:47:26 -0500
Message-ID: <E9331C17-2B75-4AED-A0F0-1DE51C83DCEB@hopcount.ca>
In-Reply-To: <CAJE_bqdcmL7zF+iW2c=y4hgzXgzAHoYFNAuTtYQYSqJmavYMkg@mail.gmail.com>
References: <CAJE_bqdcmL7zF+iW2c=y4hgzXgzAHoYFNAuTtYQYSqJmavYMkg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Mailer: MailMate (1.9.2r5141)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dnsop/oMSbxacVy2SMCRAC_vxU459LjMg>
Cc: dnsop <dnsop@ietf.org>
Subject: Re: [DNSOP] comments on draft-jabley-dnsop-refuse-any-01
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.15
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: Mon, 02 Nov 2015 16:47:30 -0000

Hi Jinmei,

Many thanks, as usual, for the thoughtful review.

On 2 Nov 2015, at 1:21, 神明達哉 wrote:

> I've read draft-jabley-dnsop-refuse-any-01.  I have a few comments:
>
> - Section 3
>
>  ANY queries are sometimes used to help mine authoritative-only DNS
>  servers for zone data, since they return all RRSets for a particular
>  owner name.  A DNS zone maintainer might prefer not to send full ANY
>  responses to reduce the potential for such information leaks.
>
> I'm not opposed to the idea of reducing ANY responses per se, but
> this rationale doesn't sound very strong to me.

I agree. I think that none of the motivations listed for suppressing ANY 
responses are, individually, globally convincing; some will resonate 
strongly with some operators with their own particular set of concerns, 
and others will better resonate elsewhere. The goal was to provide some 
illustrations, not to describe a smoking gun.

Do you think more text is needed to make this clear?

> - Section 4
>
>  1.  A DNS responder may choose to search for an owner name that
>      matches the QNAME and, if that name owns multiple RRs, return
>      just one of them.
>
> If the choice of the "one" is not deterministic and especially if a
> zone uses different authoritative server implementations, then it's
> more likely that they return "inconsistent" responses.  This may not
> be a problem, but we may want to encourage consistent behavior,
> e.g., by suggesting the choice of smallest (not just 'a small') one
> in Section 5.

My inclination was to leave this decision up to the implementation, or 
the operator; it wasn't obvious to me that prescribing a single approach 
was likely to result in the best approach in different situations.

We could certainly add some text with the observation that you made, as 
guidance to both implementations and operators -- i.e. advice that a 
particular server or set of servers acting together as a cluster SHOULD 
make a predictable choice in this case, on the basis that predictability 
has operational value.

> - In terms of using ANY query for debugging purposes, and if our main
> goal is to prevent abuses like amplification attacks rather than
> mining, I wonder whether we want to allow the original behavior
> under some conditions, e.g., queries authorized by TSIG or sent over
> TCP.

I think we described the whole mechanism as a big giant MAY, and the 
inference we intended was that you don't have to do this at all if you 
don't want to. Choosing not to do it for particular clients or in 
response to particular transport protocols, the presence or absence of 
TSIG or SIG(0) is consistent with the advice in the text, I think -- but 
if you think this needs to be called out explicitly, I am not opposed.

> - I wonder whether we want to use a new type of RR rather than HINFO
> for synthesized responses. (I've not closely followed discussions on
> this draft, so perhaps it was already considered and rejected?).

This suggestion was raised (well, there was angry shouting about how 
wrong HINFO was) by Ed Lewis, and I talked to him briefly about it in 
person in Dublin. Paraphrasing, Ed's strong opinion is that we are 
sending a new kind of information using an RRType that was not defined 
for this purpose, and that doing so is lazy and inconsistent with the 
advice that we gave (e.g.) around SPF vs. TXT.

A counter-argument to that is that this is new behaviour, and that there 
is operational value in being able to send a test query with QTYPE=ANY 
and get a response that is human-readable using existing tools. We 
observe that many systems, even those with bleeding edge versions of 
BIND9/knot/NSD/whatever, often have fairly ancient versions of dig 
installed, and an operator at the command line is best served with a 
response she can read.

I know I have already received multiple questions from people 
troubleshooting ANY queries against cloudflare servers based on the fact 
that the HINFO RDATA contains the token "jabley". Which I am grateful 
for, because I don't get nearly enough e-mail. :-)

HINFO was intended to convey information about a host, and our use of 
HINFO is conveying that kind of information, loosely speaking. Given the 
specific desire to use an RRType that is already understood by deployed 
troubleshooting tools, and mindful of the fact that HINFO is rarely used 
otherwise (I believe there is no example of it being used in the 
portfolio of domains that Cloudflare hosts, and I believe that's also 
true for Dyn), it seemed like a reasonable choice.


Joe