I think Paul conveyed the authors' opinions here pretty well. Just wanted to respond to the token generation bit:
On Fri, 17 Feb 2023 at 08:22, Paul Wouters <p...@nohats.ca> wrote: > John Levine wrote: > > > While I think it would be good to publish some best practices in this > area, > > this draft still seems scattered and makes some assertions that seem to > me > > to be somewhere between unsupported and mistaken. > > > > I think we agree that the goal is there are two parties, call them > > owner and verifier, and the verifier gives the owner a random token > > that the owner puts in its DNS to show it owns the domain. There are > > a bunch of different aspects that one can look at independently. > > Two (or three) parties yes. > > > One is where the token goes, in the name or contents of the owner's > > record. I think we agree that putting the token at the owner's host > > name is a bad idea, but either of these can work, with a1b2c3 being > > the random token: > > > > _a1b2c3.example.com IN ... "whatever" > > _crudco.example.com IN ... "a1b2c3" > > Adding cryptogrpahically strong/long strings in the prefix seems > unwieldly and prone to problems - especially if the user has to put > these in via a webgui of mediocre quality. Also it makes manual > checking harder (eg to use the dig command). But most importantly, you > already need a good prefix to identify the vendor and service and > mucking up random strings there just seems the wrong thing to recommend > as BCP. So the only good reason for these is if there is a 3 party > system (vendor/service, client, proof-provider) > > > If you use a fixed prefix, _crudco in this case, you should register it > > in the RFC8552 attrleaf registry. > > Since we are recommending these are easilly recognised to vendor and > service, these would be different for each vendoer. Sure, we can add > another prefix in between and put that in the attrleaf registry, but > that doesn't add any real value. > > > Another is what record type to use. I find the arguments against CNAME > > unpersuasive, basically saying that if you do something dumb, it won't > > work, which is true, but it's always true. > > I thought a BCP was about recomending people don't do dumb things? > > > I realize that RFC1034 says > > not to chain CNAMEs, but we all know that people chain CNAMEs and it > > works, e.g. www.microsoft.com goes through three CNAMEs and it works > > fine. > > I was not allowed this line or argumentation with you when talking > about the LHS of an email address :) So let's stick with not > recommending things that violate existing RFCs? > > > If you use a _name in the attrleaf registry or a _random prefix > > I would think the changes of a CNAME colliding with something else are > > low, and a verifier presumably controls its own DNS and can keep CNAME > > chains short. > > People make mistakes with CNAMEs, let's not recommend CNAMEs so chances > that people get affected my mistakes is reduced. > > > For the length of time the token is valid, there seem to be only two: > > five minutes for a one-off verification like for ACME, or forever for > > someone who is doing continuing analysis of something in your domain > > Five minutes seem optimistic and only true for geeks running their own > webserver and nameservers. In real life, you have different departments, > timezones, ticketing system response times, etc. So these things will > stay in the zone for days or as we often see now, forever, because > people like to error on the side of "I didn't cause that outage" over > "I cleaned up our DNS". > > > typically web analytics. While I can see aesthetic reasons to get rid > > of expired one-off tokens, I don't see the point of putting an > > expiration time in them, nor any particular harm in leaving them there > > if they are at _name and not the main host name. > > You might be missing operational experience in working in larger > companies. For example, when I started current $dayjob, I found 7 > records and 4 of these could not be traced as to who needed them or > whether they were still needed or not. Some "digging" around showed > us cases where large companies had 20+ entries in their APEX related > to these. So yes, cleanup is very imporant and one of the main > reasons for this BCP - to faciliate cleanup of records by getting > them issued in a better self-documenting syntax. > > Yes, using/recommending prefixes helps us, which is why we recommend > them. But having an expiry is also obviously useful for cleanup. > > >From a security point of view, it is also good to know that a certain > record has no more value so your audit reports can state no access > of some kind was given via some DNS record 10 years ago and might be > still in place but we dont know if the vendor still honours the record > of whether it is expired and just junk. > > > something about TTLs, e.g., not to have a 12 hour TTL for a token you > > plan to remove in a few minutes. > > We could say something about TTL, but here I really don't see much > point. Having 1 TXT record in some recursive cache for 12 hours? Meh. > > > > There are some other minor points. You say to generate 128 random > > bits, but then to hash them to 256 which I don't understand. (As RFC > > 4086 sec 6.2 notes, strong random bits often are already hash output.) > > If 128 bits is enough, use 128 bits, if you need 256, generate 256. > > Either way I'd do base32 rather than base64 encoding to make the > > result more robust against helpful software that does you a favor by > > case folding. > > We will look and clarify this section. > I created https://github.com/ietf-wg-dnsop/draft-ietf-dnsop-domain-verification-techniques/pull/44 to clarify this. > > > > Overall, I'd lay out the options, and point out the advantages or > > disadvantages of each rather than just saying "do this" without a > > strong basis not to do it the other ways that work fine in practice. > > I disagree about there being a lack of "strong basis". This is actually > driven by people's operational (bad) experience at various > organizations. Giving people CNAME rope to hang themselves or unwieldly > long random prefixes seem to be bad ideas that should not be recommended > nor "explained but not recommended" either. > > Paul > > _______________________________________________ > DNSOP mailing list > DNSOP@ietf.org > https://www.ietf.org/mailman/listinfo/dnsop >
_______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop