.mg TLD DNSSEC Outage: 2017-08-16
Date: August 16, 2017
Overview
This page gives some details on the .mg (Madagascar) TLD DNSSEC outage on August 16, 2017.
Timeline / DNSViz
- 2017-08-16 13:41:35 UTC — RRSIG inception is 34 minutes in the future
- 2017-08-16 13:45:54 UTC — RRSIG inception is 30 minutes in the future
- 2017-08-16 13:51:21 UTC — RRSIG inception is 24 minutes in the future
- 2017-08-16 14:14:05 UTC — RRSIG inception is 2 minutes in the future
- 2017-08-16 14:16:13 UTC — RRSIGs become valid
DNSSEC Debugger
Unlike DNSViz, Verisign's DNSSEC Debugger doesn't archive results, so here's a screenshot of my web browser's output from August 16, 2017:
Zonemaster
- zonemaster.net archived "Delegation from parent to child is not properly signed (signature: DNSSEC signature not incepted yet)."
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: mg.
[B] MG. 3600 IN DNSKEY 256 3 5 ;{id = 44863 (zsk), size = 1024b}
MG. 3600 IN DNSKEY 257 3 5 ;{id = 64652 (ksk), size = 2048b}
[B] Error verifying denial of existence for mg. type A: No keys with the keytag and algorithm from the RRSIG found
;;[S] self sig OK; [B] bogus; [T] trusted
DNS-OARC: 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 ns mg. @184.105.193.73
; <<>> DiG 9.4.2-P2 <<>> +dnssec ns mg. @184.105.193.73
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 17400
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;mg. IN NS
;; Query time: 3908 msec
;; SERVER: 184.105.193.73#53(184.105.193.73)
;; WHEN: Wed Aug 16 13:41:13 2017
;; MSG SIZE rcvd: 31
You have to disable DNSSEC to make DNS queries work:
$ dig +cd ns mg. @184.105.193.73
; <<>> DiG 9.4.2-P2 <<>> +cd ns mg. @184.105.193.73
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30967
;; flags: qr rd ra cd; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 8
;; QUESTION SECTION:
;mg. IN NS
;; ANSWER SECTION:
MG. 16015 IN NS censvrns0001.ird.fr.
MG. 16015 IN NS a.mg.dyntld.net.
MG. 16015 IN NS ns.dts.mg.
MG. 16015 IN NS b.mg.dyntld.net.
MG. 16015 IN NS ns-mg.malagasy.com.
MG. 16015 IN NS ns.nic.mg.
;; ADDITIONAL SECTION:
a.mg.dyntld.net. 16015 IN A 199.19.5.24
b.mg.dyntld.net. 16015 IN A 199.19.6.24
ns.dts.mg. 16015 IN A 196.192.32.2
ns.nic.mg. 41106 IN A 196.192.42.153
ns-mg.malagasy.com. 16015 IN A 87.98.132.231
censvrns0001.ird.fr. 16015 IN A 91.203.32.147
a.mg.dyntld.net. 16015 IN AAAA 2001:500:92::24
b.mg.dyntld.net. 16015 IN AAAA 2001:500:96::24
;; Query time: 407 msec
;; SERVER: 184.105.193.73#53(184.105.193.73)
;; WHEN: Wed Aug 16 13:41:13 2017
;; MSG SIZE rcvd: 326
Logfile examples
- [1502891478] unbound[1976:0] info: validation failure <mg. NS IN>: signature before inception date from 199.19.6.24 for key mg. while building chain of trust
- [1502892804] unbound[1976:0] info: validation failure <mg. NS IN>: signature before inception date from 91.203.32.147 for key mg. while building chain of trust