Standard way for Authoratitive DNS servers to refuse ANY query
tools.ietf.org
tools.ietf.org
That would be innocuous, except that it's a way to send a very small UDP packet to a DNS server and generate a very large UDP packet in response. Since UDP is easily spoofed, attackers can use ANY to amplify DDOS attacks. It's painfully effective in practice.
So far as I can tell, no normal part of the DNS process ever relies on ANY queries; there isn't a thing your browser or OS or SSH or access point does that ever calls for a "give me every regard regardless of its type" query.
From TFA:
As there is no good reason for applications to ever issue an ANY query this document codifies how an authoritative server can reject such queries.
This raised my eyebrow, because the standard argument DNSSEC apologists have for that (terrible) protocol's in-built DDOS reflection capability is that DNS also inescapably has that property due to ANY.
I've tried arguing that ANY is pointless and filter-able, to little avail. It's good to see Gudmundsson, an unimpeachable IETF authority, saying the same thing: ANY queries are bad, and not a fundamental part of the DNS service model.
* When no entry already exists in the cache, bind will forward the ANY query to an authoritative server and return the result.
* When some information is already present in the cache, bind will return only the information already cached, without querying more information from an authoritative server
Thus, if you need to know if a specific RR exists, you must query for that specific RR.
Still, to aid humans in debugging DNS problems, a nice compromise might be to allow ANY queries only over TCP. That would alleviate the spoofing problem.
Just to be clear, could DNSSEC improve by eliminating ANY or its equivalent, or would it still have issues contributing to DDOS?
Further, expecting recursive resolvers to do anything at all is an uphill battle. A lot of the reason DNS moves at a 'glacial phase' is that millions of DNS servers exist in all forms and ages. Changes can and do 'break the internet' for folks.
I don't understand why they just don't return TC and call it done.