Re: [DNSOP] Working Group Last Call draft-ietf-dnsop-resolver-priming

"Paul Hoffman" <paul.hoffman@vpnc.org> Sun, 14 August 2016 23:27 UTC

Return-Path: <paul.hoffman@vpnc.org>
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 8C68512D53C for <dnsop@ietfa.amsl.com>; Sun, 14 Aug 2016 16:27:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] 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 YFv5nq1RbRQa for <dnsop@ietfa.amsl.com>; Sun, 14 Aug 2016 16:27:28 -0700 (PDT)
Received: from mail.proper.com (Opus1.Proper.COM [207.182.41.91]) (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 5DBBB12B063 for <dnsop@ietf.org>; Sun, 14 Aug 2016 16:27:28 -0700 (PDT)
Received: from [10.32.60.28] (50-1-98-193.dsl.dynamic.fusionbroadband.com [50.1.98.193]) (authenticated bits=0) by mail.proper.com (8.15.2/8.14.9) with ESMTPSA id u7ENRPxj069037 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 14 Aug 2016 16:27:26 -0700 (MST) (envelope-from paul.hoffman@vpnc.org)
X-Authentication-Warning: mail.proper.com: Host 50-1-98-193.dsl.dynamic.fusionbroadband.com [50.1.98.193] claimed to be [10.32.60.28]
From: Paul Hoffman <paul.hoffman@vpnc.org>
To: Shane Kerr <shane@time-travellers.org>
Date: Sun, 14 Aug 2016 16:27:24 -0700
Message-ID: <ADB85FEB-62B8-4ABB-BFD8-74AAABE66E24@vpnc.org>
In-Reply-To: <20160805114511.3ab76c8e@pallas.home.time-travellers.org>
References: <f8c62b82-258c-2b2b-5186-c3cd8e7d7448@gmail.com> <20160805114511.3ab76c8e@pallas.home.time-travellers.org>
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"
X-Mailer: MailMate (1.9.4r5234)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/SPY96v6J1OzM8vEhi42ODivaMmo>
Cc: dnsop <dnsop@ietf.org>
Subject: Re: [DNSOP] Working Group Last Call draft-ietf-dnsop-resolver-priming
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.17
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: Sun, 14 Aug 2016 23:27:29 -0000

On 5 Aug 2016, at 2:45, Shane Kerr wrote:

> First, we have:
>
>   "If a priming query does not get a response within 2 seconds, the
>   recursive resolver SHOULD retry with a different target address from
>   the configuration."
>
> The "2 seconds" seems a bit arbitrary. I'm not sure why any
> recommendations need to be made at all. The document already says that
> these are basically normal DNS queries elsewhere - surely that is 
> enough?
> (And maybe if we do want to recommend a retry then we need to be clear
> that if an answer comes from an earlier query that the resolver may
> accept it?)

It's sounding like people don't like the mention of a time at all. 
Proposed replacement:

If a priming query does not get a response within a short time, the 
recursive resolver needs to retry the query with a different target 
address from the configuration.

(I am avoiding saying "within a configured time" because I don't think 
this is easily configured in some common recursors.)

> Second, a possible additional security consideration is that a priming
> query typically signals a resolver starting with an empty cache
> (although not always - the Knot resolver has a persistent cache, for
> example). This may be an especially vulnerable time for a resolver for
> cache poisoning. I don't know what can be done to mitigate this though
> aside from requiring TCP or DNS cookies for a time after startup, so
> perhaps this can be left out.

Proposed wording:

An on-path attacker who sees a priming query coming from a resolver can 
inject false answers before a root server can give correct answers. If 
the attacker's answers are accepted, this can set up the ability to give 
further false answers for future queries to the resolver. False answers 
for root servers are more dangerous than, say, false answers for TLDs 
because the root servers are the highest node of the DNS.

--Paul Hoffman