getdnsapi.net DNSSEC Outage:
2017-09-16 to 2017-09-18
Updated: September 18, 2017
Overview
This page gives some details on the getdnsapi.net DNSSEC outage from September 16 to September 18, 2017.
Timeline / DNSViz
- 2017-09-16 19:17:43 UTC — RRSIGs expire
- 2017-09-16 19:19:00 UTC — expired RRSIGs
- 2017-09-16 19:19:20 UTC — expired RRSIGs
- 2017-09-16 19:23:15 UTC — expired RRSIGs
- 2017-09-16 19:25:36 UTC — expired RRSIGs
- 2017-09-18 07:21:52 UTC — last personally observed DNSSEC failure
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 16, 2017:
dns-operations mailing list
This DNSSEC outage was discussed on the dns-operations list in [dns-operations] DNSSEC signatures expired for getdnsapi.org and getdnsapi.net.
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: getdnsapi.net.
[B] getdnsapi.net. 3600 IN DNSKEY 257 3 7 ;{id = 8850 (ksk), size = 2048b}
getdnsapi.net. 3600 IN DNSKEY 256 3 7 ;{id = 32852 (zsk), size = 1024b}
[B] getdnsapi.net. 450 IN A 185.49.141.37
;; Error: No keys with the keytag and algorithm from the RRSIG found
;;[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 a getdnsapi.net. @8.8.8.8
; <<>> DiG 9.4.2-P2 <<>> +dnssec a getdnsapi.net. @8.8.8.8
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 44128
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;getdnsapi.net. IN A
;; Query time: 433 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Sep 16 19:18:59 2017
;; MSG SIZE rcvd: 42
You have to disable DNSSEC to make DNS queries work:
$ dig +cd a getdnsapi.net. @8.8.8.8
; <<>> DiG 9.4.2-P2 <<>> +cd a getdnsapi.net. @8.8.8.8
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49109
;; flags: qr rd ra cd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;getdnsapi.net. IN A
;; ANSWER SECTION:
getdnsapi.net. 449 IN A 185.49.141.37
;; Query time: 74 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Sep 16 19:18:59 2017
;; MSG SIZE rcvd: 47
Logfile examples
- [1505589533] unbound[56163:0] info: validation failure <getdnsapi.net. A IN>: signature expired from 204.42.254.5 for key getdnsapi.net. while building chain of trust
- [1505589786] unbound[56163:0] info: validation failure <www.getdnsapi.net. A IN>: signature expired from 185.49.141.37 for key getdnsapi.net. while building chain of trust
- [1505593692] unbound[56163:0] info: validation failure <getdnsapi.net. MX IN>: signature expired from 185.49.140.10 for key getdnsapi.net. while building chain of trust
- [1505719312] unbound[48568:0] info: validation failure <getdnsapi.net. A IN>: signature expired from 185.49.140.10 for key getdnsapi.net. while building chain of trust