.ss TLD DNSSEC Outage: 2020-02-08

Date: February 8, 2020

Overview

This page gives some details on the .ss (South Sudan) TLD DNSSEC outage on February 8, 2020.

Timeline / DNSViz

DNSViz was experiencing a partial outage that lasted over a year during this DNSSEC outage, but luckily archive.is saved a snapshot of DNSViz output.

Here's a screenshot of DNSViz output showing what the outage looked like:

February 8, 2020 DNSSEC outage DNSViz output for .ss

Since DNSViz loses data regularly, there is an archive at archive.is.

DNSSEC Debugger

Here's a screenshot of this DNSSEC outage on February 8, 2020.

February 8, 2020 .ss (South Sudan) TLD DNSSEC outage

There is a copy of DNSSEC Debugger output saved 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 ss. @8.8.8.8

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

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;ss. IN NS

;; Query time: 188 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Feb 7 19:02:03 2020
;; MSG SIZE rcvd: 31


You have to disable DNSSEC to make DNS queries work:

$ dig +cd ns ss. @8.8.8.8

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

;; QUESTION SECTION:
;ss. IN NS

;; ANSWER SECTION:
ss. 21599 IN NS b.ns.tznic.or.tz.
ss. 21599 IN NS root.ssnic.gov.ss.
ss. 21599 IN NS ssnic.anycastdns.cz.

;; Query time: 46 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Feb 7 19:02:03 2020
;; MSG SIZE rcvd: 112

Zonemaster

Note: Zonemaster requires javascript to display text.

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: ss.
[B] ss. 3600 IN DNSKEY 256 3 8 ;{id = 61719 (zsk), size = 2048b}
ss. 3600 IN DNSKEY 257 3 8 ;{id = 43817 (ksk), size = 2048b}
[B] Error verifying denial of existence for ss. type A: No keys with the keytag and algorithm from the RRSIG found
;;[S] self sig OK; [B] bogus; [T] trusted

dns.google.com

dns.google.com is related to but separate from Google Public DNS. During this DNSSEC outage, dns.google.com showed the following for ss:

February 8, 2020 dns.google.com output for ss

There's also a copy thanks to archive.is