Re: [DNSOP] draft-ietf-dnsop-dnssec-roadblock-avoidance & support for local DNS views

Olafur Gudmundsson <ogud@ogud.com> Fri, 26 June 2015 20:45 UTC

Return-Path: <ogud@ogud.com>
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 F2A231ACD7D for <dnsop@ietfa.amsl.com>; Fri, 26 Jun 2015 13:45:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.799
X-Spam-Level:
X-Spam-Status: No, score=0.799 tagged_above=-999 required=5 tests=[BAYES_50=0.8, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham
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 apCuJH0gieF1 for <dnsop@ietfa.amsl.com>; Fri, 26 Jun 2015 13:45:49 -0700 (PDT)
Received: from smtp125.iad3a.emailsrvr.com (smtp125.iad3a.emailsrvr.com [173.203.187.125]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8CCDE1ACD79 for <dnsop@ietf.org>; Fri, 26 Jun 2015 13:45:48 -0700 (PDT)
Received: from smtp16.relay.iad3a.emailsrvr.com (localhost.localdomain [127.0.0.1]) by smtp16.relay.iad3a.emailsrvr.com (SMTP Server) with ESMTP id 08574180505; Fri, 26 Jun 2015 16:45:48 -0400 (EDT)
Received: by smtp16.relay.iad3a.emailsrvr.com (Authenticated sender: ogud-AT-ogud.com) with ESMTPSA id 4307B1804E3; Fri, 26 Jun 2015 16:45:42 -0400 (EDT)
X-Sender-Id: ogud@ogud.com
Received: from [10.20.30.43] (pool-74-96-96-235.washdc.fios.verizon.net [74.96.96.235]) (using TLSv1 with cipher DHE-RSA-AES256-SHA) by 0.0.0.0:587 (trex/5.4.2); Fri, 26 Jun 2015 20:45:48 GMT
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: Olafur Gudmundsson <ogud@ogud.com>
In-Reply-To: <54DB8233.5010405@redhat.com>
Date: Fri, 26 Jun 2015 16:45:41 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <D2829CD2-1951-4F0B-848F-F05A9BBD011E@ogud.com>
References: <54DB8233.5010405@redhat.com>
To: Petr Spacek <pspacek@redhat.com>
X-Mailer: Apple Mail (2.2098)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dnsop/_WvoYQgQ3gQPww7FDbqruxXAzq4>
Cc: Tomas Hozza <thozza@redhat.com>, dnsop@ietf.org
Subject: Re: [DNSOP] draft-ietf-dnsop-dnssec-roadblock-avoidance & support for local DNS views
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: Fri, 26 Jun 2015 20:45:52 -0000

Petr, sorry for delayed response, 

> On Feb 11, 2015, at 11:24 AM, Petr Spacek <pspacek@redhat.com> wrote:
> 
> Hello dnsop,
> 
> draft-ietf-dnsop-dnssec-roadblock-avoidance is a nice idea in general but
> current version of "Roadblock Avoidance", section 5, version 01 has a
> significant drawback:
> 
>       Else if the resolver is labeled "Not a DNS Resolver" or
>          "Non-DNSSEC capable"
> 
>           Mark it as unusable and try next resolver
> 
> This effectively cuts off the client from local DNS view, which can
> effectively mean that internal resources on the network will be unavailable.
> 
You are correct we ignore split-DNS completely and that is on purpose.  It is unfortunately badly/not defined. 
But in your case there is in many cases simple solution “when running SPLIT-DNS make sure internal DNSSEC resolvers are DNSSEC capable and sign inside and outside if there is overlap in names.” 


> On public networks it may be perfectly fine to sacrifice local names to get
> DNSSEC validation.
> 
> However, on internal networks it is a big problem for practical usability of
> the system. I personally experienced this when using dnssec-trigger on
> networks where DHCP does not send complete list of local DNS domains. (Also, I
> have to say that the fact that dnssec-trigger disables DNSSEC validation for
> list of domains supplied DHCP effectively takes all the security away …)

This is side effect of the badly specified nature of SPLIT-DNS, 

> 
> Generally my concern is about practical usability of the proposed solution:
> Imagine that I'm road-warrior/consultant who is traveling all the time and is
> working for different companies. When I arrive to a customer I should not need
> to spend time fiddling with network configuration to get connected to local
> network before I can start working on customer's problem.
> 
> 
> Few guys in Red Hat proposed "hacky but almost-reliable automatic" way how to
> improve usability without sacrificing security.
> 
> 
> Disclaimer
> ==========
> Method described below is covered by US patent application named "USING DOMAIN
> NAME SYSTEM SECURITY EXTENSIONS IN A MIXED-MODE ENVIRONMENT".
> 
> See Red Hat, Inc. Statement of Position and Our Promise on Software Patents:
> http://www.redhat.com/legal/patent_policy.html
> 
> 
I reject the below text as I do not want any IPR on anything in this informational document. 

Olafur

> The Hack
> ========
> Fundamental assumption:
> Internal & external DNS view are both signed with the same keys or both
> unsigned. This assumption allows the method to work without explicit
> configuration on every client and removes dependency on reliable/secure
> network-detection logic.
> 
> 
> The main idea can re-phrased as amendment to section 5 of the draft:
> 
>   The general fallback approach can be described by the following
>   sequence:
> 
>       If the resolver is labeled as "Validator" or "DNSSEC aware"
>           Send query through this resolver and perform local
>           validation on the results.
> 
>           If validation fails, try the next resolver
> 
>       Else if the resolver is labeled "Not a DNS Resolver" or
>          "Non-DNSSEC capable"
>           Mark it as unusable and try next resolver
> 
> --- amended text begins here ---
> 
>       Else if no more resolvers are configured and if direct queries
>       are supported
>          1. Try iterating from Root
> 
>          2. If the answer is SECURE/BOGUS
>            Return the result of iteration.
> 
>          3. If the answer is INSECURE
>            Re-query "Non-DNSSEC capable" servers and get answer
>            from "Non-DNSSEC capable" servers.
>            Set AD bit to 0 before returning the answer to client.
> 
>       Else return a useful error code
> 
> 
> This method covers DNS split-views with internal unsigned views pretty
> nicely as long as the fundamental assumption holds. (Naturally it works only
> for cases where fallback to iteration is possible.)
> 
> We wanted to write Unbound module for this but it is harder than it seems.
> (Proof-of-concept with stand-alone DNS proxy works fine, we have problem with
> Unbound module architecture - not with the described method.)
> 
> Feel free to incorporate the idea to the draft if you wish.
> 
> -- 
> Petr Spacek  @  Red Hat
> 
> _______________________________________________
> DNSOP mailing list
> DNSOP@ietf.org
> https://www.ietf.org/mailman/listinfo/dnsop