jprs TLD DNSSEC Outage: 2017-09-24

Date: September 24, 2017

Overview

This page gives some details on the jprs TLD DNSSEC outage on September 24, 2017.

Timeline / DNSViz

DNSSEC Debugger

Unlike DNSViz, Verisign's DNSSEC Debugger doesn't archive results, so here's a screenshot of my web browser's output from September 24, 2017:

September 24, 2017 jprs TLD DNSSEC outage

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: jprs.
[T] jprs. 86400 IN DNSKEY 256 3 8 ;{id = 64008 (zsk), size = 1024b}
jprs. 86400 IN DNSKEY 256 3 8 ;{id = 27078 (zsk), size = 1024b}
jprs. 86400 IN DNSKEY 257 3 8 ;{id = 6781 (ksk), size = 2048b}
[B] Unable to verify denial of existence for jprs. type A
;;[S] self sig OK; [B] bogus; [T] trusted

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

$ dig +dnssec whois.nic.jprs. @8.8.8.8

; <<>> DiG 9.4.2-P2 <<>> +dnssec whois.nic.jprs. @8.8.8.8
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 4183
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;whois.nic.jprs. IN A

;; Query time: 519 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Sep 24 19:22:35 2017
;; MSG SIZE rcvd: 43


You have to disable DNSSEC to make DNS queries work:

$ dig +cd whois.nic.jprs @8.8.8.8

; <<>> DiG 9.4.2-P2 <<>> +cd whois.nic.jprs @8.8.8.8
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60142
;; flags: qr rd ra cd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;whois.nic.jprs. IN A

;; ANSWER SECTION:
whois.nic.jprs. 299 IN A 202.11.17.102

;; Query time: 179 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Sep 24 19:22:36 2017
;; MSG SIZE rcvd: 48

Logfile examples