Hi all,

I presented today in Montréal about our proposal 
draft-jabley-dnsop-zone-cut-to-nowhere.

https://datatracker.ietf.org/doc/draft-jabley-dnsop-zone-cut-to-nowhere/

Mark Andrews repeated his concern that I remember was mentioned at the mic in 
Madrid. Mark, let me know whether I have got this right.

TL;DR I see Mark's point, I have tried to write the concern down so that we 
have a clear shared picture of what it is, and I have dreamed up a couple of 
ways to address it. I haven't yet talked to my co-authors so the hands that are 
waving here are my personal hands.

Mark's Concern

Consider a zone cut to nowhere published in the EXAMPLE.COM zone for 
CORP.EXAMPLE.COM. Then consider a stub resolver sending the query (QNAME = 
CORP.EXAMPLE.COM) to a resolver A on the public Internet where the private 
namespace CORP.EXAMPLE.COM is not available, which is configured to process 
cache misses by sending queries to resolver B. So this is an example of a 
chained resolver processing a query.

stub resolver ---> resolver A ---> resolver B ---> authoritative server

The authoritative server will return a referral of the form "CORP.EXAMPLE.COM. 
IN NS ." Resolver B will not be able to follow that referral because there is 
(intentionally) no child nameserver mentioned in it, and will return SERVFAIL 
to resolver A. Resolver A will repeat the query to resolver B because SERVFAIL 
invites retries. Mark's concern is that this retry behaviour is unnecessary and 
potentially harmful.

Addressing Mark's Concern

1. Do nothing, this is not a concern we should worry about. This kind of junk 
is all over the DNS, it's already happening with the existing (described) other 
uses of hostname ".", not to mention misconfigurations where hostnames are used 
but do not resolve properly; we are not going to eliminate all of these failure 
modes by doing something different here.

2. Change signalling in zone data. Mark suggests a better response from the 
authoritative server would be to return a referral from for the child that 
includes the same NS set as the parent. This is clearly possible, but I think 
it has the disadvantage that it is not as clear what the intention of the zone 
administrator is. It also assumes that the NS set is coherent and doesn't 
involve "enterprise DNS" trickery. I am also not sure I would predict that 
existing deployed resolvers would interpret such a referral response in a way 
that would not also result in SERVFAIL, e.g. following retries by resolver B to 
all the listed authoritative servers. This just seems like it invites more 
random weirdness, and that the weirdness will be harder to measure.

3. Change resolver behaviour. Resolver B SHOULD return a more useful signal 
than SERVFAIL, maybe with an EDE or something. Resolver A SHOULD avoid retrying 
if it receives such a signal. This would avoid the behaviour Mark is concerned 
about in this draft, but would also clean up other uses of the hostname ".". 
The camel is slightly sad, but perhaps it's worth it to avoid the cost of 
retries for all the cases where "." is used in place of a real hostname to mean 
"not provided".

4. This isn't a big enough problem to care about, all of 1 through 3 are 
horrible, let's forget the whole idea.

Thoughts on this would be appreciated.


Joe
_______________________________________________
DNSOP mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to