Re: [DNSOP] CNAME chain length limits
Mark Andrews <marka@isc.org> Thu, 28 May 2020 03:22 UTC
Return-Path: <marka@isc.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 B1A6E3A0B66 for <dnsop@ietfa.amsl.com>; Wed, 27 May 2020 20:22:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-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 ZFeoFa-QKGKQ for <dnsop@ietfa.amsl.com>; Wed, 27 May 2020 20:22:47 -0700 (PDT)
Received: from mx.pao1.isc.org (mx.pao1.isc.org [IPv6:2001:4f8:0:2::2b]) (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 1FE213A0B65 for <dnsop@ietf.org>; Wed, 27 May 2020 20:22:47 -0700 (PDT)
Received: from zmx1.isc.org (zmx1.isc.org [149.20.0.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx.pao1.isc.org (Postfix) with ESMTPS id 3DD9C3AB003; Thu, 28 May 2020 03:22:45 +0000 (UTC)
Received: from zmx1.isc.org (localhost [127.0.0.1]) by zmx1.isc.org (Postfix) with ESMTPS id 2D6A9160054; Thu, 28 May 2020 03:22:45 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1]) by zmx1.isc.org (Postfix) with ESMTP id 18C8816006C; Thu, 28 May 2020 03:22:45 +0000 (UTC)
Received: from zmx1.isc.org ([127.0.0.1]) by localhost (zmx1.isc.org [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id ob9gM4vyUi2O; Thu, 28 May 2020 03:22:45 +0000 (UTC)
Received: from [1.0.0.3] (unknown [49.2.101.160]) by zmx1.isc.org (Postfix) with ESMTPSA id E92FE160054; Thu, 28 May 2020 03:22:43 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.5\))
From: Mark Andrews <marka@isc.org>
In-Reply-To: <20200528024410.GA7675@sudo.sh>
Date: Thu, 28 May 2020 13:22:40 +1000
Cc: Tony Finch <dot@dotat.at>, Evan Hunt <each@isc.org>, dnsop@ietf.org, John R Levine <johnl@taugh.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <14B0EB24-1A76-4976-9111-9F3D520B445C@isc.org>
References: <alpine.OSX.2.22.407.2005271341530.35268@ary.qy> <20200527180846.GA51895@isc.org> <20200527200614.GC3582@sudo.sh> <alpine.DEB.2.20.2005280101240.18104@grey.csi.cam.ac.uk> <20200528024410.GA7675@sudo.sh>
To: dagon <dagon@sudo.sh>
X-Mailer: Apple Mail (2.3445.9.5)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/2WBMbdUPE7FhFiPIt1zNMHVRWos>
Subject: Re: [DNSOP] CNAME chain length limits
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 28 May 2020 03:22:49 -0000
'BAD (HORIZONTAL) REFERRAL' has nothing to do with CNAMES. It’s reporting a referral to a set of servers that in turn return a referral to another set of servers server at the same depth. It’s reported by ‘dig +trace’. > On 28 May 2020, at 12:44, dagon <dagon@sudo.sh> wrote: > > On Thu, May 28, 2020 at 01:02:47AM +0100, Tony Finch wrote: >> dagon <dagon@sudo.sh> wrote: >>> >>> -- Tests for ("improper") horizontal vs. vertical CNAMEs. Some >>> recursive speakers fail; some complain ("BAD (HORIZONTAL) >>> REFERRAL", but answer), and some follow without complaint. >> >> Can you explain what these are, please? > > If a canonical answer points to the same level as the 'owner name', > then the left and right sides share NS. (This is the most common > case, and even outlined in 1034.) If this discovery occurs during a > CNAME chain chase with yet another empty answer, the NS is in a sense > making a referral to itself, or its pool of secondary NS serving the > same delegation cut level---the bad horizontal referral. > > 1034 merely says resolution should be robust, and that "CNAME chains > should be followed and CNAME loops signalled as an error", s.3.6.2. > But that doesn't mean resolvers have to put up with this behavior > quietly. Dig issues warnings in such cases; see followup_lookup() in > dighost.c: > > if (namereln == dns_namereln_equal) { > if (!horizontal) > printf(";; BAD (HORIZONTAL) REFERRAL\n"); > horizontal = true; > > Tools that warn about this seem to take the larger view that such > referrals should be directed maybe to a new sibling tree (e.g., > something in example.org CNAME'd to some place in example.com) or > further downward (implying there's a zone cut, but that aspect is not > enforced or audited by dig.) There's sense in this: during the second > empty answer in CNAME to a mere sibling label, the recursive is > *already* talking to the right authority, dammit, and frankly it's > inability to sort the zone into a non-chained state is an unhelpful > referral. (It may also symptomatic of a zone configuration error--- > implicit $ORIGINs and inconsistent fqdns, and such---which is probably > why dig included this warning.) > > You can actually experience something like horizontal referrals in > some US airport security screenings, which segregate passenger lines > based on ticket classes. If you have a higher ranked ticket, but > stand in the *longer* lower ranked line to chat with your friend, you > might be referred back to the end of the higher ranked ticket line, > just to arrive again at the very same screening point---a bad > horizontal referral in most people's view. I never encountered this > in European airports, and so it is very fitting that ldns tools and > kdig don't check horizontal referrals like dig. > > By this analogy, DNS resolvers have a choice in chained horizontal > follows: quietly continue the journey, continue on but argue to anyone > logging complaints (dig), or just abruptly cancel the flight > (SERVFAIL). > > It would be useful to have a survey of all such behaviors for various > appliances and tools on the Internet, since this sometimes leads to > zones being unavailable. You can find a few anecdotes in the BIND > support lists. > > -- > David Dagon > dagon@sudo.sh > D970 6D9E E500 E877 B1E3 D3F8 5937 48DC 0FDC E717 > > _______________________________________________ > DNSOP mailing list > DNSOP@ietf.org > https://www.ietf.org/mailman/listinfo/dnsop -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: marka@isc.org
- [DNSOP] CNAME chain length limits John R Levine
- Re: [DNSOP] CNAME chain length limits Evan Hunt
- Re: [DNSOP] CNAME chain length limits John R Levine
- Re: [DNSOP] CNAME chain length limits Eric Orth
- Re: [DNSOP] CNAME chain length limits Eric Orth
- Re: [DNSOP] CNAME chain length limits John R Levine
- Re: [DNSOP] CNAME chain length limits John R Levine
- Re: [DNSOP] CNAME chain length limits dagon
- Re: [DNSOP] CNAME chain length limits Eric Orth
- Re: [DNSOP] CNAME chain length limits Paul Vixie
- Re: [DNSOP] CNAME chain length limits Tony Finch
- Re: [DNSOP] CNAME chain length limits dagon
- Re: [DNSOP] CNAME chain length limits Mark Andrews
- Re: [DNSOP] CNAME chain length limits John R Levine
- Re: [DNSOP] CNAME chain length limits dagon