this isn't about views, or bind. rfc 1034 directly contemplated a server
that had both recursive and authoritative responsibilities and content.
however, the specification was incomplete, and early BIND (everything
before BIND9) got it wrong.

a short amendment to rfc 1034 stating that authoritative and recursive
data should not be mixed in the same data structure, and that the RD bit
of a query should control which data structure (recursive or
authoritative) was searched, and giving specific fall-through conditions
under which an RD=1 query could access authoritative data, would have
fixed it. however, we (the whole dns community) were in a panic about
the number of authority-data pollution events that had come from these
"mixed mode" servers, and so there's now a general prohibition against
"mixed mode" servers, even though BIND9 still supports it for backward
compatibility with old BIND8 installations.

DNSSEC was being worked on during these panicked times, and the general
prohibition was very much top-of-mind, and as a result, mixed-mode
DNSSEC servers containing both authoritative and recursive data, are
unspecified.

being unspecified is not always a death sentence, but in this case, it
is. there is no way to truly validate a zone after an ixfr or axfr
without performing some queries, to validate the chain all the way back
to a trust anchor. however, an authority server is not required in
DNSSEC to ever make queries, or to have any trust anchors installed. so,
the best an authoritative-only DNSSEC server can do is integrity
checking against a zone's own keys and signatures, but this leaves it
open to a man-in-the-middle attack where someone uses ARP or IGP or EGP
poison to hijack the master's address and then use the axfr protocol to
send an entirely bogus yet entirely self-consistent zone.

in other words the only DNSSEC server who could truly validate a zone's
content after ixfr/axfr is a mixed-mode server, which has not been
specified.

so, mr. hoffman, the right text to cover this case would look like the
following:

"Note that there exist mixed-mode servers offering both authoritative
and recursive service, but there is no current standard by which
authoritative data is used for validation or returned in recursive
queries in such a server. This document therefore specifies only the
two-servers model, where root name service is provided by an authority
server (subtype: stealth slave) running on the host's loopback network,
and special configuration is used in that host's recursive name server
to use this loopback authority server for DNS root queries. By
implication, the validation of the content of this stealth-slave's root
zone is entirely the responsibility of the co-hosted RDNS server. Any
future revision to this specification which allows for mixed-mode DNS
service will have the burden of explaining how the validation function
is to be performed. Absent such specification, mixed-mode DNSSEC service
is outside the scope of this document."

i didn't enjoy mr. barton's freebsd stealth-roots-everywhere experiment,
and this is one of the reasons why.

vixie

_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to