.xn--3hcrj9c TLD DNSSEC Outage: 2020-01-01 to 2020-01-08

Start Date: January 1, 2020

Overview

This page gives some details on the .xn--3hcrj9c TLD DNSSEC outage from January 1 to January 8, 2020. This is an IDN TLD for India.

Timeline / DNSViz

(At the time of this writing, DNSViz historical archives have been down for about a year. DNSSEC makes its users think downtime doesn't matter.)

Thankfully, archive.is made a copy of the DNSViz output.

DNSSEC Debugger

Here's a screenshot of my web browser's output from January 2, 2020:

January 2, 2020 .xn--3hcrj9c TLD DNSSEC outage

There's an archive of the DNSSEC Debugger output provided by archive.is.

Google 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.

$ dig +dnssec ns xn--3hcrj9c. @8.8.8.8

; <<>> DiG 9.4.2-P2 <<>> +dnssec ns xn--3hcrj9c. @8.8.8.8
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 43823
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;xn--3hcrj9c. IN NS

;; Query time: 34 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Jan 1 23:15:58 2020
;; MSG SIZE rcvd: 40


You have to disable DNSSEC to make DNS queries work:

$ dig +cd ns xn--3hcrj9c. @8.8.8.8

; <<>> DiG 9.4.2-P2 <<>> +cd ns xn--3hcrj9c. @8.8.8.8
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13584
;; flags: qr rd ra cd; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;xn--3hcrj9c. IN NS

;; ANSWER SECTION:
xn--3hcrj9c. 21599 IN NS ns1.registry.in.
xn--3hcrj9c. 21599 IN NS ns6.registry.in.
xn--3hcrj9c. 21599 IN NS ns2.registry.in.
xn--3hcrj9c. 21599 IN NS ns5.registry.in.
xn--3hcrj9c. 21599 IN NS ns4.registry.in.
xn--3hcrj9c. 21599 IN NS ns3.registry.in.

;; Query time: 26 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Jan 1 23:15:58 2020
;; MSG SIZE rcvd: 148

Zonemaster

dns.google.com

dns.google.com is related to but seperate from Google Public DNS. During this DNSSEC outage, dns.google.com showed the following for xn--3hcrj9c: January 2, 2020 xn--3hcrj9c DNSSEC outage, dns.google.com

This outage was archived by both archive.is and archive.org.

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):

;; Domain: xn--3hcrj9c.
[B] xn--3hcrj9c. 900 IN DNSKEY 256 3 7 ;{id = 58832 (zsk), size = 1024b}
xn--3hcrj9c. 900 IN DNSKEY 257 3 7 ;{id = 16281 (ksk), size = 2048b}
xn--3hcrj9c. 900 IN DNSKEY 256 3 7 ;{id = 33374 (zsk), size = 1280b}
xn--3hcrj9c. 900 IN DNSKEY 257 3 7 ;{id = 20205 (ksk), size = 2048b}
[B] Error verifying denial of existence for xn--3hcrj9c. type A: No keys with the keytag and algorithm from the RRSIG found
;;[S] self sig OK; [B] bogus; [T] trusted

Logfile examples

These Unbound log entries come from different Unbound instances, each on different servers in different geographical regions.