厚生労働省検疫所のドメイン forth.go.jp の DNSSEC 署名が 2 月 23 日 0 時 10 分に署名の期限が切れて現在 (2/24 22:35) も署名検証に失敗する状態になっています。新型コロナウイルス COVID-19 の影響でしょうか。 (追記: 20200225084916 UTC に再署名で復活)
DNSSEC の署名を検証している DNS キャッシュサーバ (1.1.1.1 とか 8.8.8.8 とか IIJ とか) をお使いの方々はアクセスできないと思います。必要なときに貴重な情報にアクセスできないのは困りますね。
drill によるトレース
~% drill -t -S forth.go.jp soa ;; Number of trusted keys: 1 ;; Chasing: forth.go.jp. SOA DNSSEC Trust tree: forth.go.jp. (SOA) |---DNSSEC signature has expired: forth.go.jp. 600 IN RRSIG SOA 8 3 600 20200223001003 20190228001003 64740 forth.go.jp. aSMXSVJX6QLDYlz2YWtFKTnHJU6OEpqGa9h+EC31MFN2kdgC72rVzI034VIetNDHtyoNMdYMLppf8LpFs3ZvF9ZFPUIINQ6kUL1LaFmvEiIgHe6bWS72Uhzdh/3tFqsAAKppj6GBZvyZ8T612uDbqetikYCgduGZcNf7C/h/CEk= For RRset: forth.go.jp. 600 IN SOA a1-134.akam.net. root.forth.go.jp. 2019030101 3600 7200 1209600 600 With key: forth.go.jp. 600 IN DNSKEY 256 3 8 AwEAAcCn8faiJWlroR4GIGmag7BwoehMKjHMgfXZPDPX3rkZkYVtVzxyUQeLNdCeaNuooORh+iviTzkYNTcR8V+VHiSdW/J7u0hodauBEc4VPtoXz81eeslvx1jwe+hJYivq4lPHuxqh4Id/scTBDTU+KqmmTdYhHTUANC9KiaVMvehZ ;{id = 64740 (zsk), size = 1024b} |---forth.go.jp. (DNSKEY keytag: 64740 alg: 8 flags: 256) |---DNSSEC signature has expired: forth.go.jp. 600 IN RRSIG DNSKEY 8 3 600 20200223001003 20190228001003 49357 forth.go.jp. NRCHOA15fTkxlW3G09DN/qv/6frRq8LBxT2nRwaLwpFnLiyj91KGwH19qyZfPpczObjjDV9MOcxgAEh6cI6xfq2DYBvQMXgP3R3F5YHISup5ZCgt5xiqURM9XSLinye8+xpeBY6WWF8TGDP1X8MnPrg0thjv8XTvd8345ZXCwwO/XEelhviaNdcm3IfoMxcAAZ18+2XJ71evy+JpmUlHDn9AQh51DcGxJUrUOP7OXQBNfzZ2XNujvCBPedFQ/hqNMXBMJ34ypfk7GkSkh2d+hxsrjpHt0FsmC9LMHGdL6j5RFa6aGvd2F/6hSnawd5eojqMUMqZIFfCivYxHdiKZpQ== For RRset: forth.go.jp. 600 IN DNSKEY 256 3 8 AwEAAcCn8faiJWlroR4GIGmag7BwoehMKjHMgfXZPDPX3rkZkYVtVzxyUQeLNdCeaNuooORh+iviTzkYNTcR8V+VHiSdW/J7u0hodauBEc4VPtoXz81eeslvx1jwe+hJYivq4lPHuxqh4Id/scTBDTU+KqmmTdYhHTUANC9KiaVMvehZ ;{id = 64740 (zsk), size = 1024b} forth.go.jp. 600 IN DNSKEY 257 3 8 AwEAAey5c0+CPF4gPQpB0jo4nW8UkTxbNa5avUcaVCkCXuASxV+Y28wTwcM5L4oAjft5B/Vq105eDC9FCJnm4Rq/F2wrV//zhD9w1bvTUuQ4ecYCLoOvMULJXxB4BPjN9HSTAzobKsD74Sd3Q5ruW1wZiD3sixxKMpccermXJaOfHBPWid/sL1iFIjGXWbr3MF8zXHc5AdSwVVdU4b74mJ5SWgDplJq81uMikzmMxWI3gFej+sn4t1MABLfL2n1W/e8oAfStqGLcbpsbaMFCrTUVwSe/KnyEPhRQVaDaAb8q6j6xnMD3+/YiSWJ3U25s63T/UUd7ExgO77eIi+/okmysb80= ;{id = 49357 (ksk), size = 2048b} With key: forth.go.jp. 600 IN DNSKEY 257 3 8 AwEAAey5c0+CPF4gPQpB0jo4nW8UkTxbNa5avUcaVCkCXuASxV+Y28wTwcM5L4oAjft5B/Vq105eDC9FCJnm4Rq/F2wrV//zhD9w1bvTUuQ4ecYCLoOvMULJXxB4BPjN9HSTAzobKsD74Sd3Q5ruW1wZiD3sixxKMpccermXJaOfHBPWid/sL1iFIjGXWbr3MF8zXHc5AdSwVVdU4b74mJ5SWgDplJq81uMikzmMxWI3gFej+sn4t1MABLfL2n1W/e8oAfStqGLcbpsbaMFCrTUVwSe/KnyEPhRQVaDaAb8q6j6xnMD3+/YiSWJ3U25s63T/UUd7ExgO77eIi+/okmysb80= ;{id = 49357 (ksk), size = 2048b} |---forth.go.jp. (DNSKEY keytag: 49357 alg: 8 flags: 257) |---forth.go.jp. (DS keytag: 49357 digest type: 2) |---jp. (DNSKEY keytag: 2661 alg: 8 flags: 256) |---jp. (DNSKEY keytag: 39595 alg: 8 flags: 257) |---jp. (DS keytag: 39595 digest type: 2) |---. (DNSKEY keytag: 33853 alg: 8 flags: 256) |---. (DNSKEY keytag: 20326 alg: 8 flags: 257) No trusted keys found in tree: first error was: DNSSEC signature has expired ;; Chase failed.
1.1.1.1 の応答
~% drill -D www.forth.go.jp @1.1.1.1 ;; ->>HEADER<<- opcode: QUERY, rcode: SERVFAIL, id: 15363 ;; flags: qr rd ra ; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;; www.forth.go.jp. IN A ;; ANSWER SECTION: ;; AUTHORITY SECTION: ;; ADDITIONAL SECTION: ;; Query time: 13 msec ;; SERVER: 1.1.1.1 ;; WHEN: Mon Feb 24 22:36:48 2020 ;; MSG SIZE rcvd: 33
DNSViz
ふと IIJ が DNSSEC 署名検証を始めたことを思い出して、IIJ Public DNSサービスを Firefox の DoH (DNS over HTTPS) サーバとして設定し、上記の www.forth.go.jp をブラウザで見たところ閲覧できてしまいした。
これはおかしい、ひょっとして IIJ が (中の人はそういうことはしないつもりだとおっしゃっていましたが) RPZ で検証から除外しているのかと思い、署名検証失敗を確認できるサイトを作りました。以下をお試しください。署名検証が適切になされていれば見られないはずです。
しかし、このサイトもやはり IIJ の DoH を設定した Firefox で見えてしまいました。署名検証しているはずなのに検証失敗するはずのサイトが見えてはいけないだろうと調べたところ、原因は DoH を有効にしたときのデフォルトが network.trr.mode = 2 となっていたことでした。2 では DNS Over HTTPS を優先するが、失敗すると DoH から OS に設定されたリゾルバにフォールバックするとのこと。私が普段使用しているのは DNSSEC を無効にした Unbound だったので名前解決できてしまっていたわけです。これでは DNSSEC 対応している DoH を使う意味がありませんね。
network.trr.mode = 3 とすると無事?に http://dnssec-failed.mufj.jp も forth.go.jp も見られなくなったのですが、暫くするとあらゆるサイトが見られなくなりました。これは network.trr.bootstrapAddress を設定していなかったのが原因でした。network.trr.uri に設定された URI のドメイン名が DoH で引けなくなっていたのですね。(なお bootstrapAddress は Firefox 74 で設定不要になるとのこと)
参考:
Copyright by T.Suzuki