[nsd-users] wildcard+ANY validation issue between NSD and Unbound
Peter van Dijk
peter.van.dijk at netherlabs.nl
Fri Feb 24 12:12:24 UTC 2012
Hello,
Given this zone wtest.com:
$TTL 3600
$ORIGIN wtest.com.
@ IN SOA ns1.wtest.com. ahu.example.com. ( 2005092501
8H ; refresh
2H ; retry
1W ; expire
1D ; default_ttl
)
@ IN NS ns1
@ IN MX 10 smtp-servers.example.com.
@ IN MX 15 smtp-servers
@ IN A 9.9.9.9
* IN CNAME server1
ns1 IN A 1.2.3.4
secure IN MX 10 server1
server1 IN A 1.2.3.4
*.something IN A 4.3.2.1
When I sign this zone with ldns-signzone (1.6.12) and configure it in NSD (3.2.10), I observe (with Unbound 1.4.16):
$ unbound-host -v -C unbound-host-nsd.conf -t a www.something.wtest.com
www.something.wtest.com has address 4.3.2.1 (secure)
$ unbound-host -v -C unbound-host-nsd.conf -t any www.something.wtest.com
www.something.wtest.com ANY:
www.something.wtest.com. 3600 IN A 4.3.2.1
www.something.wtest.com. 3600 IN RRSIG A 5 3 3600 20120323092532 20120224092532 61140 wtest.com. N0nNjNk2wWpgw8MsSJkWi91L4iAZa3L6bJle4jZ7eSzybTvbmNP5X83db8bxNSErjvACC+QLbMcxg3LICb+msQ==
(BOGUS (security failure))
validation failure <www.something.wtest.com. ANY IN>: qtype_any proof failed from 10.0.2.14
Doing the same with BIND (1:9.9.0-0ubuntu0~lucid12~b1) (using dnssec-signzone):
$ unbound-host -v -C unbound-host-bind.conf -t a www.something.wtest.com
www.something.wtest.com has address 4.3.2.1 (secure)
$ unbound-host -v -C unbound-host-bind.conf -t any www.something.wtest.com
www.something.wtest.com ANY:
www.something.wtest.com. 3600 IN A 4.3.2.1
www.something.wtest.com. 3600 IN RRSIG A 5 3 3600 20120325073507 20120224073507 61140 wtest.com. BA8PEvt2bNEr6ZLiOeFJQhQO6BVrj5vTFGFs4tT6vBu5fhvIYyQh1ltzSmaxzyfe9EDMP89upcjW7AQyju9upQ==
www.something.wtest.com. 86400 IN NSEC wtest.com. A RRSIG NSEC
www.something.wtest.com. 86400 IN RRSIG NSEC 5 3 86400 20120325073507 20120224073507 61140 wtest.com. LDtcA1C2qk5hYF2qUquVDSa39v18lexViUwlIa9uLGaoDYXzndOWsA0Zbu01cvcipT1GCu6gaAFLieGL/gNdbQ==
(secure)
The difference appears to be that in the ANY case, BIND adds:
www.something.wtest.com. 86400 IN NSEC wtest.com. A RRSIG NSEC
www.something.wtest.com. 86400 IN RRSIG NSEC 5 3 86400 ….
but as far as I can see, this offers no information not already offered by:
*.something.wtest.com. 86400 IN NSEC wtest.com. A RRSIG NSEC
*.something.wtest.com. 86400 IN RRSIG NSEC 5 3 86400 …
(which is present in both responses from NSD and from BIND). Yet, unbound seems to require it.
I have sent this message to nsd-users instead of unbound-users because regardless of who is wrong here, I fear the authoritative side is where this has to be fixed, for compatibility. I also suspect I will reach the Unbound-developers via this list anyway.
RFC4035 appears not to cover the interaction between ANY and NSEC at all.
I'm looking forward to any opinions on this subject. I would be happy to repost to unbound-users if the question is deemed more suitable for that forum.
Kind regards,
Peter van Dijk
More information about the nsd-users
mailing list