Hi Matt!

Thank you for your findings, this is really interesting.

First of all, your claim in parentheses "(sjc.dns-oarc.net <http://sjc.dns-oarc.net> is a real subdomain with hosts in it, not an ENT)" seems not to be true. It is proven by NSEC that this name is indeed an ENT. But this of course does not affect the issue importance.

Secondly, from the responses that you attached, there is (the very same!) NSEC present, which prooves the non-existence of wildcard *.sjc.dns-oarc.net. : "shin-cubes.dns-oarc.net <http://shin-cubes.dns-oarc.net>. 3600 IN NSEC an1.10g.sjc.dns-oarc.net <http://an1.10g.sjc.dns-oarc.net>. A AAAA RRSIG NSEC"

I analyzed the DNSViz output in detail and it shows that while the name servers ns1.dns-oarc.net. and ns2.dns-oarc.net, actually do answer correctly, including the mentioned NSEC, the name servers udns1.ultradns.net. and udns2.ultradns.net. answer incorrectly, not including that NSEC.

I tried it by hand and indeed, the problem is solely at ultradns servers:

$ ./kdig @udns1.ultradns.net. -t A +dnssec nonexistent.sjc.dns-oarc.net.
;; ->>HEADER<<- opcode: QUERY; status: NXDOMAIN; id: 21796
;; Flags: qr aa rd; QUERY: 1; ANSWER: 0; AUTHORITY: 6; ADDITIONAL: 1

;; EDNS PSEUDOSECTION:
;; Version: 0; flags: do; UDP size: 4096 B; ext-rcode: NOERROR

;; QUESTION SECTION:
;; nonexistent.sjc.dns-oarc.net.                IN      A

;; AUTHORITY SECTION:
dns-oarc.net.           3600    IN      SOA     ns1.dns-oarc.net. hostmaster.dns-oarc.net. 2024031500 300 60 604800 3600 newmail.sjc.dns-oarc.net.       3600    IN      NSEC    pdu-7301.sjc.dns-oarc.net. A AAAA RRSIG NSEC dns-oarc.net.           3600    IN      NSEC    fs1.10g.dns-oarc.net. A NS SOA MX TXT AAAA RRSIG NSEC DNSKEY CDS CDNSKEY CAA dns-oarc.net.           3600    IN      RRSIG   SOA 13 2 14400 20240329045130 20240315032130 6048 dns-oarc.net. mooeiWYo96QhMUnUHFbxsCPPetvwigYqDrcKQnofMZHY3w1X3zyTyHPEXlHcEfI7B+vRuiCTtc2gVcQEMLdW8Q== dns-oarc.net.           3600    IN      RRSIG   NSEC 13 2 3600 20240329045130 20240315032130 6048 dns-oarc.net. oJiyyHoAXYshxxqPstU7hdORX9hZWno8hDJb/akGMM3zqbqdMbJElOpKb75Ep03j0uhDUUl4c3xc1ZC9TkSTDw== newmail.sjc.dns-oarc.net.       3600    IN      RRSIG   NSEC 13 4 3600 20240326215132 20240312202132 6048 dns-oarc.net. AVZ2iArP4AJxXwQKn0FADp5E6htN/2t8IS7l9W1S+z/SszwJ4wSAUXfmqAlq8QFpnq+HJG/ov+ibVEnJQjymbQ==

;; Received 534 B
;; Time 2024-03-15 10:34:01 CET
;; From 2001:502:f3ff::d@53(UDP) in 7.4 ms

Looking at the output, there is a (redundant) NSEC proving the non-existence of the wildcard *.dns-oarc.net. instead(!): dns-oarc.net.           3600    IN      NSEC    fs1.10g.dns-oarc.net. A NS SOA MX TXT AAAA RRSIG NSEC DNSKEY CDS CDNSKEY CA

This remind me of a similar issue that we have fixed in Knot DNS some years ago, but I con't find it at the moment, it seems that what we have fixed is wildcard answers in connection with CNAMEs/DNAMEs and stuff, but not this straightforward situation...

In any case, you should probably tell UltraDNS to use recent versions of whatever software they use.

Please let us know when you have any additional clues, thanks!

Libor


Dne 14. 03. 24 v 20:20 Matthew Pounsett napsal(a):

I got a report of an NSEC error from someone who tried to connect to a mistyped hostname.  I've done a bit of poking, and it looks like we're seeing a missing wildcard NSEC for domain names that are two subdomains down from the apex, but not for subdomains of the apex.  Though, I admit I can't see the problem myself.  Querying by hand I see what looks like an identical response, but resolvers and DNSViz report problems with the deeper name.

For example, nonexistent.dns-oarc.net <http://nonexistent.dns-oarc.net> and nonexistent.sjc.dns-oarc.net <http://nonexistent.sjc.dns-oarc.net> (sjc.dns-oarc.net <http://sjc.dns-oarc.net> is a real subdomain with hosts in it, not an ENT)... kdig output and DNSViz results below. We're running knot/unknown,now 3.3.5-cznic.1~bullseye from deb.knot-dns.cz <http://deb.knot-dns.cz>, and this is the relevant policy statement for the zone:

policy:
  - id: ecdsa
    algorithm: ecdsap256sha256
    ksk-lifetime: 365d
    ksk-submission: parent_zone_sbm
    zsk-lifetime: 30d
    rrsig-lifetime: 14d
    rrsig-refresh: 7d

We are mid-KSK-roll, waiting on the DS submission check.

Have I misconfigured something here, or is there a signing bug, or is this something else?

Thanks!
  Matt

---

nonexistent.sjc.dns-oarc.net <http://nonexistent.sjc.dns-oarc.net>: DNSviz reports this is fine.
<https://dnsviz.net/d/nonexistent.dns-oarc.net/ZfNH1w/dnssec/>

;; ->>HEADER<<- opcode: QUERY; status: NXDOMAIN; id: 9380
;; Flags: qr aa; QUERY: 1; ANSWER: 0; AUTHORITY: 6; ADDITIONAL: 1

;; EDNS PSEUDOSECTION:
;; Version: 0; flags: do; UDP size: 1232 B; ext-rcode: NOERROR

;; QUESTION SECTION:
;; nonexistent.dns-oarc.net <http://nonexistent.dns-oarc.net>. IN A

;; AUTHORITY SECTION:
dns-oarc.net <http://dns-oarc.net>.       3600 IN SOA ns1.dns-oarc.net <http://ns1.dns-oarc.net>. hostmaster.dns-oarc.net <http://hostmaster.dns-oarc.net>. 2024031400 300 60 604800 3600 nfsen.dns-oarc.net <http://nfsen.dns-oarc.net>. 3600 IN NSEC ns.dns-oarc.net <http://ns.dns-oarc.net>. A AAAA RRSIG NSEC dns-oarc.net <http://dns-oarc.net>.       3600 IN NSEC fs1.10g.dns-oarc.net <http://fs1.10g.dns-oarc.net>. A NS SOA MX TXT AAAA RRSIG NSEC DNSKEY CDS CDNSKEY CAA dns-oarc.net <http://dns-oarc.net>.       3600 IN RRSIG SOA 13 2 14400 20240328021935 20240314004935 6048 dns-oarc.net <http://dns-oarc.net>. [omitted] nfsen.dns-oarc.net <http://nfsen.dns-oarc.net>. 3600 IN RRSIG NSEC 13 3 3600 20240326215132 20240312202132 6048 dns-oarc.net <http://dns-oarc.net>. [omitted] dns-oarc.net <http://dns-oarc.net>.       3600 IN RRSIG NSEC 13 2 3600 20240322045130 20240308032130 6048 dns-oarc.net <http://dns-oarc.net>. [omitted]

;; Received 518 B
;; Time 2024-03-14 18:57:33 UTC
;; From 64.191.0.128@53(UDP) in 0.3 ms


nonexistent.sjc.dns-oarc.net <http://nonexistent.sjc.dns-oarc.net>: resolvers and DNSViz report a missing wildcard NSEC
<https://dnsviz.net/d/nonexistent.sjc.dns-oarc.net/ZfNH6w/dnssec/>


;; ->>HEADER<<- opcode: QUERY; status: NXDOMAIN; id: 660
;; Flags: qr aa; QUERY: 1; ANSWER: 0; AUTHORITY: 6; ADDITIONAL: 1

;; EDNS PSEUDOSECTION:
;; Version: 0; flags: do; UDP size: 1232 B; ext-rcode: NOERROR

;; QUESTION SECTION:
;; nonexistent.sjc.dns-oarc.net <http://nonexistent.sjc.dns-oarc.net>. IN A

;; AUTHORITY SECTION:
dns-oarc.net <http://dns-oarc.net>.       3600 IN SOA ns1.dns-oarc.net <http://ns1.dns-oarc.net>. hostmaster.dns-oarc.net <http://hostmaster.dns-oarc.net>. 2024031400 300 60 604800 3600 newmail.sjc.dns-oarc.net <http://newmail.sjc.dns-oarc.net>. 3600 IN NSEC pdu-7301.sjc.dns-oarc.net <http://pdu-7301.sjc.dns-oarc.net>. A AAAA RRSIG NSEC shin-cubes.dns-oarc.net <http://shin-cubes.dns-oarc.net>. 3600 IN NSEC an1.10g.sjc.dns-oarc.net <http://an1.10g.sjc.dns-oarc.net>. A AAAA RRSIG NSEC dns-oarc.net <http://dns-oarc.net>.       3600 IN RRSIG SOA 13 2 14400 20240328021935 20240314004935 6048 dns-oarc.net <http://dns-oarc.net>. [omitted] newmail.sjc.dns-oarc.net <http://newmail.sjc.dns-oarc.net>. 3600 IN RRSIG NSEC 13 4 3600 20240326215132 20240312202132 6048 dns-oarc.net <http://dns-oarc.net>. [omitted] shin-cubes.dns-oarc.net <http://shin-cubes.dns-oarc.net>. 3600 IN RRSIG NSEC 13 3 3600 20240326215132 20240312202132 6048 dns-oarc.net <http://dns-oarc.net>. [omitted]

;; Received 544 B
;; Time 2024-03-14 18:57:33 UTC
;; From 64.191.0.128@53(UDP) in 0.3 ms

--
--

Reply via email to