Hi all,

I'm having some problems with implementing DNSSEC with NSEC3. I'm fairly new to 
DNSSEC, so it is certainly possible that my understanding of the subject is 
causing me to miss something. Also, I'm not entirely sure this is the correct 
mailing list, more accurate pointers are welcome.

The setup contains two BIND nameservers, both version 9.6.1-P1 on a linux OS 
(ubuntu 9.10 and gentoo). One is configured as authorative name-server for a 
(test)zone; the other is configured to be an authenticating recursive resolver.

I created a zone with the following entries (besides the standard SOA and NS):
* normal A 127.0.0.1
* changed A 127.0.0.1
* removed A 127.0.0.1
I also have two DNSKEY records (one KSK and one ZSK).

After signing this zone with the keys, I intentionally modify the signed 
zonefile to simulate a MITM attack:
* I change the "changed" A record to point to 127.0.0.2
* I remove the "removed" A record, along with its RRSIG
I would expect DNSSEC to catch these changes and reject the bogus responses.

When requesting a lookup of "normal", I get a NOERROR and the AuthenticatedData 
flag is set, along with the requested data.
When requesting a lookup of "changed", I get a SERVFAIL. I'm not sure if this 
is the expected behaviour, but it seems logical.
When requesting a lookup of "removed", I get a SERVFAIL as well. However, every 
subsequent request for "removed" gets an NXDOMAIN. (dig outputs below)
Flushing the caches on the RR with "rndc flush" causes the first request to be 
a SERVFAIL again.

When I look at the debug output of the RR for channel dnssec, I see no 
additional entries after the initial request. Log in attachement (sorry for the 
wrong mime-type; if anyone knows how to convince Mail.app to de this decently, 
let me know)

Attachment: dnssec.log
Description: Binary data

According to my understanding, this is a bug, probably in the caching. Can 
anyone confirm this is actually a bug? Point me to the right config-parameter? 
Or explain to me why this _isn't_ a bug?

Niobos


$ dig +dnssec removed.dnssec.<omitted>

; <<>> DiG 9.6.0-APPLE-P2 <<>> +dnssec removed.dnssec.<omitted>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 8658
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;removed.dnssec.<omitted>.      IN      A

;; Query time: 603 msec
;; SERVER: 10.<omitted>.1#53(10.<omitted>.1)
;; WHEN: Sun Dec  6 19:10:05 2009
;; MSG SIZE  rcvd: 59

$ dig +dnssec removed.dnssec.<omitted>

; <<>> DiG 9.6.0-APPLE-P2 <<>> +dnssec removed.dnssec.<omitted>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 65296
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;removed.dnssec.<omitted>.      IN      A

;; AUTHORITY SECTION:
<omitted>.      3599    IN      SOA     serv02.<omitted>. hostmaster.<omitted>. 
2009111618 3600 3600 604800 3600

;; Query time: 946 msec
;; SERVER: 10.<omitted>.1#53(10.<omitted>.1)
;; WHEN: Sun Dec  6 19:10:07 2009
;; MSG SIZE  rcvd: 122

_______________________________________________
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to