310 likes | 321 Views
This presentation discusses the limitations and problems associated with using TXT records in DNS, and explores alternative options for expanding the DNS protocol. It also examines the challenges and considerations in adding new types of data to DNS and the implications for mail forgery prevention.
E N D
DNS Considerations for the MARID WG(esp., why TXT is bad) Edward Lewis edlewis@arin.net MARID WG Interim Meeting
Context • This presentation represents past experience in un/successfully extending the DNS • This is an engineering "exchange of ideas" • Not a statement of rules nor laying of benchmarks for a proposed solution • This is not an end product MARID WG Interim Meeting
Credits • A lot of these slides are based on a new draft • http://www.ietf.org/internet-drafts/ • draft-ymbk-dns-choices-00.txt • These slides also borrow from threads on the MARID list • I admit to not having read all of it MARID WG Interim Meeting
Agenda • Why MARID really wants a new type, even if you don't realize it yet • Ways to expand DNS • The TXT RR • What MARID should consider in developing the new type MARID WG Interim Meeting
DNS Basic Design (1 slide) • Query/response protocol • Query: three things • domain name, class and type • Response: one thing • a set of resource records (RRs) • Ancillary data • Message flags (internal to DNS) MARID WG Interim Meeting
Adding new types of data to DNS • Only four degrees of freedom • Play with Returned values • Play with Names • Play with Classes • Play with Types MARID WG Interim Meeting
Play with Returned values • This is called "subtyping" • Idea • An app asks for name, class, type, gets response • Selects the RDATA's desired from answer • (E.g., reuse of the TXT record) • Problem • Encourages large data sets (use of TCP, ...) • No means to guarantee specification uniqueness MARID WG Interim Meeting
Examples of how this fails • DNSSEC, the KEY Resource Record (RR) • Supposed to hold keys for all purposes • Trust model unworkable, performance hit • SIKED BoF • DNSSEC signatures • Has caused tremendous problems in code • "Corner cases" repeatedly found, some unsolvable, simply ignoring them MARID WG Interim Meeting
Problem case of TXT RR • One thing to keep in mind • From the perspective of MARID • It might appear workable • From the perspective of DNS • MARID is not the only WG thinking that MARID WG Interim Meeting
Play with (Prefixing) Names • Separate data based on the domain name • Idea • Separate app specific data for a host by using "_app.hostname.example.org" • Problem • Wild cards, these can't be prefixed • "Specifying the shape of the tree" (*) MARID WG Interim Meeting
Play with (Suffixing) Names • Places DNS labels at the end of the name • Idea • Separate app data as in prefix and keep wildcards, e.g., "smtp1.example.org._marid" • Problem • This breaks the concept of a single-rooted tree, servers get lost looking for answers MARID WG Interim Meeting
Play with Classes • Put data into alternate "dimension" of DNS • Idea • Instead of domain name tricks of RR hacks • Use new class • Problem • The class concept has atrophied - not implemented right, not spec'd right either • No guarantee names translate across classes MARID WG Interim Meeting
Play with Types • Create a new RR specifically for a purpose • Idea • No name, class tricks, it's "standard DNS" • define RR type and the RDATA • Resistence (note I didn't use "Problem") • Deployment of new code • This is the recommended approach MARID WG Interim Meeting
So, four degrees of freedom • Subtyping - known to have failed in past • Name altering - breaks basic DNS assumptions • Class - an atrophied path, not clear it would be right anyway • Type - the way nature intends, even though it's not a no-brainer MARID WG Interim Meeting
Considerations in adding a type • Not only does DNS need to be updated • Zone-generation software needs updates • API's to DNS need to be able to input, request, and read the new type • No doubt this is "extra" work in stemming mail forgery, vs. just reusing TXT MARID WG Interim Meeting
Why TXT is questioned • Today we have mail forgery and a working DNS • If we risk breaking an assumption of the DNS to stem mail forgery, are we winning? • Specifically - reuse/misuse of the TXT RR • This is why the MARID WG gets resistence from the DNS community over the use of the TXT RR MARID WG Interim Meeting
Reverse Psychology • Why is the TXT RR the right way to go? • It is undestood inside the DNS • It is understood at the API of the DNS • It is understood in the supporting software • It appears to be an easy way to go MARID WG Interim Meeting
TXT understood inside DNS • Is this really an advantage? • RFC 3597 specs how servers deal with newly added types • Old software is easily upgraded if not compliant with this • "Unreachable" software is rare, e.g., a NAT DNS machine at a hotel • IMO, this advantage is overstated MARID WG Interim Meeting
TXT understood at the API • Is this really an advantage? • Honestly, I can't say. • This is what I mean as a "beginning", how much work is it to make the new record be known at API's of interest? • Remember - I'm not issuing challenges, but if you want to cause tinkering with DNS, there has to be a real good reason MARID WG Interim Meeting
TXT understood in the support • Will registries (zone generators) allow the new type? • Again, I don't have an answer • It seems like now they might not be • Is this a strong sticking point? • Why can't registries change to allow this? • IMO, the "right way to fix a problem is to fix it in the right places" (What does that mean?) MARID WG Interim Meeting
If not TXT, what then? • Hopefully this presentation presents a strong case for abandoning the TXT RR as a vehicle and spurring an effort to define a new RR • If so, the next question is "how do you design a good RR?" MARID WG Interim Meeting
Designing a Good Record • Starting with "what needs to be stored" • Make it easy to retrieve • Ordinary query and response method • No additional data, RR's needed in response • Make it easy to manage • Does not overwhelm zone, administrator • Easy to debug/diagnose MARID WG Interim Meeting
Some things to consider • "It's always problem, problem, problem with you" • Problems with the reverse map • Problems with performance • Problems with volume • Problems with DNSSEC • Problems with "wild cards" • Mistaking DNS with a reasoning system MARID WG Interim Meeting
Reverse Map • Controversial • Many don't feel it's useful • IPv6'ers consider not having it • Optional • E.g., In ARIN's region, name servers for IP space is optional • Customers can't "overrule" ISP not having it MARID WG Interim Meeting
Performance • This can easily be a red-herring • DNS is best for small records, lightweight lookups • If the data returned needs heavy computing to generate it, consider having DNS point to the generator • Much in the way MX records point to mail servers for a host MARID WG Interim Meeting
Volume • A lot of DNS is still managed by hand • If a record needs to be at all entries, with positive or negative meaning, something might get lost • The DNS admin may not be an SMTP admin MARID WG Interim Meeting
DNSSEC • Listing data in DNS is assumed to make it public • With DNSSEC, all entries in a zone are easily discoverable • Barring a miracle in development of the negative answers • To me, this is *not* a weakness of DNS, DNSSEC • Applications shouldn't depend on putting sensitive data in DNS MARID WG Interim Meeting
Wild Cards • Problem - they are misunderstood • by users and by implementors • DNS is a tree of labels, with data "attached" • Wild cards are instructions for synthesis to cover some missing *leaf* nodes of the tree • Subject takes many more slides...no pithy moral here MARID WG Interim Meeting
Reasoning • If the statement needs much thinking, DNS isn't the place to do it • Even putting a lot of weighting factors in the record can be a draw back • Don't want to have a lot of records • Don't make DNS think, it's not its job • Chaining is a sign of this • Not bad for DNS, bad for the application MARID WG Interim Meeting
Summary of a good RR • Will following the rules here mean you get a good RR? • NO!!! • But following them will help • Designing a good RR will take a partnership of MARID WG expertise and DNS expertise • Hopefully not a *lot* of DNS expertise MARID WG Interim Meeting
Questions? • Questions now, and on the list... MARID WG Interim Meeting