Re: [dnssd] I-D Action: draft-ietf-dnssd-mdns-dns-interop-01.txt

Andrew Sullivan <ajs@crankycanuck.ca> Fri, 17 July 2015 16:27 UTC

Return-Path: <ajs@crankycanuck.ca>
X-Original-To: dnssd@ietfa.amsl.com
Delivered-To: dnssd@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 60FDE1A889C for <dnssd@ietfa.amsl.com>; Fri, 17 Jul 2015 09:27:12 -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
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 HhxTxkllKgEc for <dnssd@ietfa.amsl.com>; Fri, 17 Jul 2015 09:27:08 -0700 (PDT)
Received: from mx2.yitter.info (mx2.yitter.info [IPv6:2600:3c03::f03c:91ff:fedf:cfab]) by ietfa.amsl.com (Postfix) with ESMTP id 5A7661A8840 for <dnssd@ietf.org>; Fri, 17 Jul 2015 09:27:08 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mx2.yitter.info (Postfix) with ESMTP id DDF711000B for <dnssd@ietf.org>; Fri, 17 Jul 2015 16:27:07 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at crankycanuck.ca
Received: from mx2.yitter.info ([127.0.0.1]) by localhost (mx2.yitter.info [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yJoNTyIhGnnq for <dnssd@ietf.org>; Fri, 17 Jul 2015 16:27:06 +0000 (UTC)
Received: from crankycanuck.ca (unknown [62.168.35.69]) by mx2.yitter.info (Postfix) with ESMTPSA id AA89010370 for <dnssd@ietf.org>; Fri, 17 Jul 2015 16:27:05 +0000 (UTC)
Date: Fri, 17 Jul 2015 18:27:03 +0200
From: Andrew Sullivan <ajs@crankycanuck.ca>
To: dnssd@ietf.org
Message-ID: <20150717162702.GI14702@crankycanuck.ca>
References: <20150704212511.22803.60661.idtracker@ietfa.amsl.com> <20150705002321.GB48722@mx2.yitter.info> <559B2A77.9030606@gmail.com> <20150707024239.GC52436@mx2.yitter.info> <559C83C1.9070103@gmail.com> <20150708024330.GA55186@mx2.yitter.info> <559CD5D9.4030000@gmail.com> <20150708142002.GE58386@mx2.yitter.info> <559DDE7E.7050201@gmail.com> <FBACCACD-73A3-410C-8511-23C7E96F404E@crankycanuck.ca>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <FBACCACD-73A3-410C-8511-23C7E96F404E@crankycanuck.ca>
User-Agent: Mutt/1.5.23 (2014-03-12)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dnssd/YPgDXTEqTHZlxK7coGlahQCEPKM>
Subject: Re: [dnssd] I-D Action: draft-ietf-dnssd-mdns-dns-interop-01.txt
X-BeenThere: dnssd@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion of extensions to Bonjour \(mDNS and DNS-SD\) for routed networks." <dnssd.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnssd>, <mailto:dnssd-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnssd/>
List-Post: <mailto:dnssd@ietf.org>
List-Help: <mailto:dnssd-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnssd>, <mailto:dnssd-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Jul 2015 16:27:12 -0000

Hi Doug,

It's been 7 days since I sent this, and I haven't seen anything from
you.  You may have noticed that I'm the stuckee for this discussion in
Prague.  If I don't have slides for it prepared by Saturday night,
they may well not get prepared.  Currently, what I think your
objections are boil down to, "DNS-SD shouldn't use the DNS outside the
local link."  I therefore think you're challenging the WG's charter,
not this document, so I don't really have a way to address your
concerns.  If you think that's wrong, I really need a clear and
concise outline of what you're saying in the next 24 hours, or you'll
have to make yourself clear to the WG during the meeting.

Best regards,

A

On Fri, Jul 10, 2015 at 07:31:40PM -0400, Andrew Sullivan wrote:
> Hi Doug,
> 
> Apologies for the iphoney top post. I note that the Prague agenda has fully 30 minutes for this discussion, but if we spend all of it trying to understand vocabulary you seem to be introducing we're not going to be successful. Do you think you could create a glossary of some of these terms, or write an email outlining some of the spaces you have in mind or something?  I get the impression you have a vision of the name space different to mine, and I'm just not understanding you. 
> 
> Thanks,
> 
> A
> 
> -- 
> Andrew Sullivan 
> Please excuse my clumbsy thums. 
> 
> > On Jul 8, 2015, at 22:37, Douglas Otis <doug.mtview@gmail.com> wrote:
> > 
> > 
> > 
> >> On 7/8/15 7:20 AM, Andrew Sullivan wrote:
> >>> On Wed, Jul 08, 2015 at 12:48:41AM -0700, Douglas Otis wrote:
> >>> 
> >>> Section 4.3 seems to conflate DNS as always meaning fully
> >>> public global DNS. In the case of mDNS, this is likely not
> >>> the case
> >> 
> >> I don't know what you mean by "conflate DNS as always meaning fully
> >> public global DNS".  It is true _by definition_ that "the DNS" entails
> >> a single tree with a single root.  It's certainly true that you can
> >> arrange things just right so that query-originators to you will see
> >> things that query-originators to other name servers will not see.  But
> >> once you've put things in the DNS, any hope that you have that it will
> >> be private -- even in your split-brain arrangements -- are just
> >> wishful thinking.  We have learned this over and over again, and I
> >> don't see why it ought to be controversial; I also don't know how it's
> >> relevant here.
> > 
> > Dear Andrew,
> > 
> > Many indicated in some environments there is a need to avoid
> > excessive multicast traffic when it negatively impacts
> > wireless networks.  To avoid resources being resolved using
> > mDNS multicast, a different TLD other than .local is needed.
> > The draft-ietf-dnssd-hybrid-00 proxy scheme offered a
> > fairly automated method for moving mDNS resources into DNS
> > which could use an Ambiguous Local Qualified Domain Name
> > (ALQDN) space, such as .home as suggested by the draft, or
> > even a domain expressed using UTF-8 label locally recognized
> > (not encoded and without the 'xn--' prefix).  Since often
> > these resources are not suitable for the Internet, a
> > heuristic to identify zones to be filtered from Internet
> > responses based on a "Profile" seems like a viable solution.
> > 
> > Establishing a "Profile" offering heuristics to identify
> > suitable global resources makes sense since different
> > services normally support local mDNS based resolution which
> > ignore IDNA. IMHO, a strategy to globally browse DNS using
> > massive responses should be generally discouraged until the
> > underlying transport offers effective congestion mitigation.
> > DNS amplification leading to DDoS still persists largely
> > due to insufficient ingress filtering compliance with BCP38
> > one and a half decades later.  That said, DNS-SD may even
> > place a campus having just a few compromised systems at risk.
> > 
> >> I also don't know what you mean by the second sentence here, since "in
> >> the case of mDNS" is by definition not the public global DNS -- it's a
> >> completely different protocol.
> > 
> > Except when mDNS resources are automatically transferred to
> > DNS.  mDNS is even able to cache DNS resources.
> > 
> >>> Change to:
> >>> Operators of internationalized domain names frequently
> >>> publish such names in the DNS as A-labels; these A-labels
> >>> will be subject to the profile. Any namespace not included
> >>> in the profile should be excluded from resolving in a global
> >>> context.
> >> 
> >> As I said last time, I don't see what "these A-labels will be subject
> >> to the profile" adds and I find it confusing.  Moreover, we _cannot_
> >> rule out resolution in the DNS "from resolving in a global context".
> >> Here's an example of why.
> >> 
> >> As Stuart has pointed out repeatedly, some enterprises already use
> >> DNS-SD in its "wide area" form -- that is, in the DNS.  Such a name
> >> might have the following form:
> >> 
> >>    3rd Floor Copier Printer.West Wing.example.com
> >> 
> >> In a zone file, that is encoded as
> >> 
> >>    3rd\ Floor\ Copier\ Printer.West\ Wing.example.com
> > 
> > Allowing limited and administrated exceptions is part of the
> > dnssd requirement document.  That said, it is dangerous to
> > tamper with domains having UTF-8 TLD labels and assume these
> > resources can be exposed to the Internet.  Failing to
> > resolve when using non-local tools would be a desired feature.
> > 
> >> The hex encoding of this to the wire format is left as an exercise,
> >> but the key point is that when you query (for instance) the
> >> example.com zone for that you send the entire owner name as the qname
> >> you're trying to look up.  Your formulation would prohibit this, and
> >> we heard in previous meetings that the WG explicitly does _not_ want
> >> that, but instead wants a fallback to the DNS-SD (and for that matter
> >> non-IDNA) forms.  I think, moreover, that anything that attempts to
> >> insist on formal backward incompatibility is doomed to failure.
> > 
> > Not disagreeing.  A-Labels can support a heuristic able to
> > identify global resources.  Wasn't that the purpose of your
> > "profile"? Determining when conversions are appropriate?
> > 
> >>> Rather than omitting an important consideration, state the
> >>> need for global exclusions.
> >> 
> >> But see above.  There is not in fact such a need; rather, stating such
> >> a need would be false.
> > 
> > Are you suggesting all locally defined TLDs contained in DNS
> > (even when it is able to isolate locally defined TLDs such
> > as .home) must always be encoded per IDNA?  If properly
> > identified by a Profile, the Internet should never see these
> > resources. Such a strategy should allow desired multicast
> > avoidance (such as not using .local. ) without otherwise
> > changing local namespace handling routines as used with mDNS.
> > 
> >>> The point missed seems related to risks caused by not
> >>> differentiating local and global namespaces as illustrated
> >>> in the following examples.
> >> 
> >> You seem to think that there are "local" and "global" namespaces and
> >> we know which is which in advance.  But we don't.  That's _exactly_
> >> the problem.  If we knew that in advance, we would know which
> >> resolution system to use, and we would have no issue at all.
> > 
> > A profile should also establish the labels accessible only
> > using local resolution tools.  Use of '_' already carves out
> > encoding exceptions for hosts and instances label.  Why not
> > carve out entire local zones that are to be excluded from
> > various resolvers and interfaces?
> > 
> >>> A DDoS risk occurs whenever RFC6763 DNS-SD resources are
> >>> given Internet accessed from either mDNS or DNS servers.
> >> 
> >> There is no such thing as an mDNS server.
> > 
> > IMHO, an mDNS node acts as its own server when conveying its
> > resources.
> > 
> >> I'm having an increasingly
> >> hard time understanding what you're talking about, and I'm
> >> decreasingly convinced that this is because of a fault in my own
> >> understanding.  DDoS is a risk from large answers in the DNS; this is
> >> well known.  I do not believe that this document is the place to
> >> attempt to discuss that in detail.  To begin with, DNSOP is another
> >> WG.  I see nothing wrong with writing a document from DNSOP saying,
> >> "Large answer sets present a danger to DNS operations," but I don't
> >> believe that one needs to repeat that advice in every single document
> >> anywhere that mentions the DNS.
> > 
> > The situation is serious but not fatal if caution were to
> > prevail.
> > 
> >>> See RFC6763 Section 7.2. Granting brows-able access to
> >>> DNS-SD resources using either mDNS or DNS resolvers allows a
> >>> wildcard at an instance location to respond with as many as
> >>> 839 separate and combined resources. Blocking wildcard use
> >>> defeats its intended use, normally safe on a local network.
> >> 
> >> So, do you want the security considerations section to have a sentence
> >> that says, "Any use of the DNS that follows the outlines of this
> >> document necessarily incurs all DDoS risks resulting from the use of
> >> DNS"?  I'm prepared to add that if you like.
> > 
> > It seems it would be more constructive as part of a
> > comprehensive strategy.
> > 
> >>> It is not clear why mDNS resources moved to DNS
> >> 
> >> I don't have any clue what that means.  There are no "mDNS resources"
> >> that "move to DNS".  Those are different protocols.
> >> 
> >>> DNS-SD is structured differently.  It combines a large
> >>> number of sizable service RRsets below an Instance node.
> >> 
> >> Sure.  It's a use of the DNS.  You seem to be making an argument that
> >> DNS-SD is unsafe for use on the Internet, period.
> > 
> > Don't ignore issues the hybrid scheme attempts to solve
> > (with the aid of careful administration in specific cases to
> > reduce the risk).  Risks demand either clearly defined
> > prohibitions against local UTF-8 namespace in DNS (which
> > seems unlikely) or properly identified handling profiles,
> > which should be the purpose of this document.
> > 
> >> If that's your
> >> argument, then please publish "DNS-SD considered dangerous in the DNS"
> >> or something like that.  This draft is about what you would do to make
> >> DNS-SD work predictably _assuming_ that you wanted to use more than
> >> one resolution mechanism, one of which is DNS, and I think including
> >> text about why DNS-SD is dangerous is going to be mighty confusing.
> >> If the WG concludes that DNS-SD is in fact dangerous for Internet use,
> >> then obviously this draft shouldn't be published at all because you
> >> shouldn't try to do any of these things in the first place.
> > 
> > Thanks for the encouragement. I have discussed various
> > solutions with others having extensive DNS knowledge.  Any
> > general solution will likely arrive too late to avoid
> > sizable problems that could occur when needlessly exposing
> > DNS-SD resources to the Internet.  Allowing a few
> > administratively managed exceptions should be fine and
> > keeping within the dnssd requirements.
> > 
> >>> Labels do not afford operational protection from DDoS or
> >>> vulnerability exposure whether defined as A-labels, U-labels
> >>> or neither.
> >> 
> >> Yes.  The current draft has nothing to do with DDoS risk from the use
> >> of the DNS, and I agree it is completely silent on that topic.  I
> >> think that's a feature, but I'm willing to include the sentence noted
> >> above if that will help.
> > 
> > Perhaps you can see where this might be headed. Something
> > along the lines of a profile exclusion of local resources,
> > to facilitate the conveying of these resources to only local
> > resolver tools that understand the specific needed
> > conversions and the scope of their access.  A strategy
> > mimicking what is currently based on mDNS.
> > 
> >>> mDNS is inherently safer because it normally is
> >>> only accessible from the local network.  An issue this draft
> >>> continues to ignore, even when confronting a CERT notice!
> >> 
> >> Uh, the CERT notice you sent was complaining about mDNS _not_ being
> >> accessible only from the local network, which is what the problem was.
> >> That has absolutely nothing to do with DNS-anythingelse
> >> interoperation.
> > 
> > Review researcher's notes at:
> > https://github.com/chadillac/mdns_recon
> > 
> > The concerns relate specifically to access granted to mDNS
> > resources.  Unfettered access may create a rather bleak
> > situation that can be salvaged by administratively placing
> > only key resources into non-local zones.  (i.e. not in a
> > default .home or its multilingual equivalent.)
> > 
> > Appendix notes found in
> > http://tools.ietf.org/html/draft-otis-dnssd-mdns-xlink-06
> > previously noted on this mailing-lists about 6 months prior
> > further supports these findings.
> > 
> >>> DNS-SD describes a structure intended to be browsed and
> >>> displayed having user friendly encoding.
> >> 
> >> Wait.  So your issue is that DNS-SD owner names are intended to be
> >> seen by humans?
> > 
> > Clearly an issue whenever IDNA encoding is imposed on
> > exclusively local resources where user interfaces don't
> > support their conversion.
> > 
> >>> Tools to browse DNS-SD DO NOT employ encoding used by
> >>> IDNA2008
> >> 
> >> Yes, which is why only the <Domain> portion is treated as though it
> >> needs to be processed by IDNA.  This is mostly because that's where
> >> the names will be in the DNS.  The rest of the Service Instance Name
> >> continues to work according to the DNS-SD specification, and there are
> >> no mitigations of any sort about the possibly large number of names
> >> below the <Domain> portion of a Service Instance Name.  That's because
> >> we're using DNS-SD.
> > 
> > Which is why there should be a strategy to restrict global
> > access to just resources that are administratively permitted.
> > 
> >>> to be applied, but these actions are normally NEVER needed.
> >> 
> >> The point of the draft, which I think is explained pretty clearly in
> >> the introduction, is that you'll need the IDNA processing for the
> >> <Domain> portion or else DNS will just return RCODE 3 and you won't
> >> find what you're looking for.
> >> 
> >>>> I disagree.  mDNS uses the full repertoire of octets available in the
> >>>> DNS.  DNS operators as a matter of fact (for various reasons explained
> >>>> elsewhere) use a subset of those octets.
> >>> 
> >>> DNS is able to use the SAME octets as used by mDNS.
> >> 
> >> Yes, which is entirely consistent with what I said.  
> >> 
> >>> There
> >>> might be cases where global DNS and local DNS wish to share
> >>> a common zone for reasons likely related to use of
> >>> certificates or minimizing servers.
> >> 
> >> What exactly is "local DNS"?
> > 
> > This might employ a split horizon server excluding interface
> > and resolver access from specifically "profiled" zones.
> > 
> >>> We see the problem differently.  There is a real danger
> >>> attempting to combine these two different namespaces,
> >> 
> >> I think what you're saying is that the goal of the draft is dangerous
> >> and bad.  That's ok with me, but it seems really to be an argument
> >> that the WG shouldn't try to do what it is chartered to do, no?
> > 
> > This and the poor track record for BCP38 should motivate DNS
> > transport improvements in the long run.  In the meantime,
> > not aggressively globally deploying DNS-SD should be an
> > appropriate and conservative strategy.
> > 
> > Regards,
> > Douglas Otis
> > 
> > 
> > _______________________________________________
> > dnssd mailing list
> > dnssd@ietf.org
> > https://www.ietf.org/mailman/listinfo/dnssd
> 
> _______________________________________________
> dnssd mailing list
> dnssd@ietf.org
> https://www.ietf.org/mailman/listinfo/dnssd

-- 
Andrew Sullivan
ajs@crankycanuck.ca