Re: [DNSOP] new ANAME draft: draft-hunt-dnsop-aname-00.txt

Florian Weimer <> Tue, 11 April 2017 19:22 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E39E012EC56 for <>; Tue, 11 Apr 2017 12:22:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.923
X-Spam-Status: No, score=-6.923 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 0JJoHAzoHUIe for <>; Tue, 11 Apr 2017 12:22:15 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 892261296B0 for <>; Tue, 11 Apr 2017 12:22:12 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id AC97CC04B94E; Tue, 11 Apr 2017 19:11:56 +0000 (UTC)
DMARC-Filter: OpenDMARC Filter v1.3.2 AC97CC04B94E
Authentication-Results:; dmarc=none (p=none dis=none)
Authentication-Results:; spf=pass
DKIM-Filter: OpenDKIM Filter v2.11.0 AC97CC04B94E
Received: from ( []) by (Postfix) with ESMTPS id 1E46B77DD1; Tue, 11 Apr 2017 19:11:55 +0000 (UTC)
To: Peter van Dijk <>,
References: <> <> <>
From: Florian Weimer <>
Message-ID: <>
Date: Tue, 11 Apr 2017 21:11:54 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 2.79 on
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 ( []); Tue, 11 Apr 2017 19:11:56 +0000 (UTC)
Archived-At: <>
Subject: Re: [DNSOP] new ANAME draft: draft-hunt-dnsop-aname-00.txt
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: IETF DNSOP WG mailing list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 11 Apr 2017 19:22:17 -0000

On 04/10/2017 12:04 PM, Peter van Dijk wrote:

>> Section 3 is currently written in such a way that a recursive DNS
>> lookup must be performed at the authoritative server side.  I don't
>> think it is necessary to require that.  A recursive DNS lookup of the
>> target is just one way to implement this.
> What other ways did you have in mind?

Private arrangement with the target zone operator (that is, direct, out 
of-band access to the zone).

>> In particular, the suggested recursive DNS lookup needs some form of
>> distributed loop detection.  Otherwise, a malicious customer could
>> publish two zones with ANAME records and achieve significant traffic
>> amplification, potentially taking down the DNS hoster.  A hop count in
>> an EDNS option or an “ANAME lookup in progress” indicator would be one
>> way to implement this.  Another approach would impose restrictions on
>> the owner name of an ANAME record and its target, and restrict where
>> CNAMEs can appear, so that a valid ANAME can never point to another
>> valid ANAME.
> I’m not sure it’s feasible to forbid chaining ANAMEs. I do agree there
> is a vector for DoS here. Section 6 currently cowardly says “Both
> authoritative servers and resolvers that implement ANAME should
> carefully check for loops and treat them as an error condition.” but I
> am aware that more words are needed.

I don't see how you can detect loops without DNS protocol changes.  The 
query that comes back will look like a completely fresh query.