xn--y9a3aq TLD DNSSEC Outage: 2021-07-15
Date: July 15, 2021
Overview
This page gives some details on the xn--y9a3aq (Armenia) TLD DNSSEC outage from July 15 to July 16, 2021. This is at least the 5th DNSSEC outage for this TLD.
Verisign's DNSSEC Debugger
Verisign doesn't archive test results, unlike DNSViz. So here's a screenshot I took on July 15, 2021:
Timeline / DNSViz
- 2021-07-15 20:16:22 UTC — Bogus DNSSEC delegation
- 2021-07-15 20:21:12 UTC — Bogus DNSSEC delegation
- 2021-07-15 20:50:41 UTC — Bogus DNSSEC delegation
- 2021-07-16 00:04:29 UTC — last personally observed DNSSEC failure
Google Public DNS: with and without DNSSEC
DNSSEC can be disabled in queries via the CD (checking disabled) bit. Let's compare DNS queries with and without DNSSEC. With DNSSEC, DNS queries result in SERVFAIL:
$ dig +dnssec a xn--y9a3aq. @8.8.8.8.
; <<>> dig 9.10.8-P1 <<>> +dnssec a xn--y9a3aq. @8.8.8.8.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 60348
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;xn--y9a3aq. IN A
;; Query time: 62 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Jul 15 20:11:14 UTC 2021
;; MSG SIZE rcvd: 39
You have to disable DNSSEC to make DNS work:
$ dig +cd a xn--y9a3aq. @8.8.8.8.
; <<>> dig 9.10.8-P1 <<>> +cd a xn--y9a3aq. @8.8.8.8.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38843
;; flags: qr rd ra cd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;xn--y9a3aq. IN A
;; AUTHORITY SECTION:
xn--y9a3aq. 1799 IN SOA ns-pri.nic.am. dns.amnic.net. 1626360308 43200 7200 1728000 7200
;; Query time: 29 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Jul 15 20:11:14 UTC 2021
;; MSG SIZE rcvd: 101
drill trace
Since DNSSEC contains so much garbage, I put the complete drill trace into its own file with the relevant portion below (emphasis added):
[T] xn--y9a3aq. 86400 IN DS 9510 7 2 5dbcabafb714d949f10eccdad64253cb64ff079d60a25e4704b6453a36642f02
;; Domain: xn--y9a3aq.
;; Signature ok but no chain to a trusted key or ds record
[S] xn--y9a3aq. 43200 IN DNSKEY 257 3 7 ;{id = 8646 (ksk), size = 2048b}
xn--y9a3aq. 43200 IN DNSKEY 256 3 7 ;{id = 20495 (zsk), size = 1024b}
xn--y9a3aq. 43200 IN DNSKEY 257 3 7 ;{id = 45225 (ksk), size = 2048b}
xn--y9a3aq. 43200 IN DNSKEY 256 3 7 ;{id = 60810 (zsk), size = 1024b}
[S] Existence denied: xn--y9a3aq. A
;;[S] self sig OK; [B] bogus; [T] trusted
Logfile examples
- [1626379808] unbound[63248:0] info: validation failure <xn--y9a3aq. NS IN>: no keys have a DS with algorithm RSASHA1-NSEC3-SHA1 from 77.72.229.254 and 204.61.216.96 for key xn--y9a3aq. while building chain of trust
- [1626386596] unbound[316:0] info: validation failure <xn--y9a3aq. NS IN>: no keys have a DS with algorithm RSASHA1-NSEC3-SHA1 from 194.0.1.26 for key xn--y9a3aq. while building chain of trust
- [1626393257] unbound[63248:0] info: validation failure <xn--y9a3aq. NS IN>: no keys have a DS with algorithm RSASHA1-NSEC3-SHA1 from 194.0.1.26 for key xn--y9a3aq. while building chain of trust
- [1626393316] unbound[316:0] info: validation failure <xn--y9a3aq. NS IN>: no keys have a DS with algorithm RSASHA1-NSEC3-SHA1 from 204.61.216.96 for key xn--y9a3aq. while building chain of trust
- [1626393494] unbound[316:0] info: validation failure <xn--y9a3aq. NS IN>: no keys have a DS with algorithm RSASHA1-NSEC3-SHA1 from 194.0.1.26 for key xn--y9a3aq. while building chain of trust
- [1626393684] unbound[316:0] info: validation failure <xn--y9a3aq. NS IN>: no keys have a DS with algorithm RSASHA1-NSEC3-SHA1 from 194.0.1.26 for key xn--y9a3aq. while building chain of trust
- [1626393869] unbound[316:0] info: validation failure <xn--y9a3aq. NS IN>: no keys have a DS with algorithm RSASHA1-NSEC3-SHA1 from 204.61.216.96 for key xn--y9a3aq. while building chain of trust