dnscrypt.pl DNSSEC Outage: 2017-08-06

Updated: August 6, 2017

Overview

This page gives some details on the dnscrypt.pl DNSSEC outage on August 6, 2017. This site has had multiple DNSSEC outages.

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 August 6, 2017:

August 6, 2017 dnscrypt.pl DNSSEC outage

OpenDNS & Google Public DNS

OpenDNS does not support DNSSEC while Google Public DNS currently does, and thus, Google's users saw SERVFAIL for queries under dnscrypt.pl during this outage.

With OpenDNS, without DNSSEC, queries succeed:

$ dig mx dnscrypt.pl. @resolver1.opendns.com.

; <<>> DiG 9.4.2-P2 <<>> mx dnscrypt.pl. @resolver1.opendns.com.
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31993
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;dnscrypt.pl. IN MX

;; ANSWER SECTION:
dnscrypt.pl. 3600 IN MX 10 dc0.dnscrypt.pl.

;; Query time: 183 msec
;; SERVER: 208.67.222.222#53(208.67.222.222)
;; WHEN: Sun Aug 6 21:34:13 2017
;; MSG SIZE rcvd: 49


With Google Public DNS, because of DNSSEC, queries fail:

$ dig +dnssec mx dnscrypt.pl. @8.8.8.8

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

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;dnscrypt.pl. IN MX

;; Query time: 328 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Aug 6 21:34:13 2017
;; MSG SIZE rcvd: 40

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: dnscrypt.pl.
[B] dnscrypt.pl. 86400 IN DNSKEY 257 3 13 ;{id = 55059 (ksk), size = 256b}
dnscrypt.pl. 86400 IN DNSKEY 256 3 13 ;{id = 55894 (zsk), size = 256b}
dnscrypt.pl. 86400 IN DNSKEY 256 3 7 ;{id = 1802 (zsk), size = 1024b}
dnscrypt.pl. 86400 IN DNSKEY 257 3 7 ;{id = 5991 (ksk), size = 2048b}
dnscrypt.pl. 86400 IN DNSKEY 257 3 5 ;{id = 65416 (ksk), size = 2048b}
dnscrypt.pl. 86400 IN DNSKEY 256 3 5 ;{id = 1651 (zsk), size = 1024b}
[B] dnscrypt.pl. 86400 IN A 178.62.233.48
;; Error: No keys with the keytag and algorithm from the RRSIG found
;;[S] self sig OK; [B] bogus; [T] trusted

Logfile examples