dig www.cloudflare.com +short198.41.215.162198.41.214.162オプション+shortは、結果をのみ出力します。
DNSSECに関する問題をトラブルシューティングする方法について詳しく学びましょう。
Digは、DNSレコードを取得するためにネームサーバーにクエリを送るコマンドラインツールです。
例えば、digを使ってDNSリゾルバーにwww.cloudflare.comのIPアドレスを尋ねることができます:
dig www.cloudflare.com +short198.41.215.162198.41.214.162オプション+shortは、結果をのみ出力します。
+dnssecを使用して、DNSレコードが署名されていることを確認します:
dig www.cloudflare.com +dnssec +short198.41.214.162198.41.215.162A 13 3 300 20180927180434 20180925160434 35273 cloudflare.com. DYYZ/bhHSAIlpvu/HEUsxlzkC9NsswbCQ7dcfcuiNBrbhYV7k3AI8t46 QMnOlfhwT6jqsfN7ePV6Fwpym3B0pg==この例では、出力の最後の行がRRSIGレコードです。RRSIGは、レコードに付随するDNSSEC署名です。RRSIGを使用して、DNSリゾルバーはDNS応答が信頼できるかどうかを判断します。
Digは、DNSレコードを検証するために使用される公開鍵DNSKEYを取得することもできます:
dig DNSKEY cloudflare.com +short257 3 13 mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+ KkxLbxILfDLUT0rAK9iUzy1L53eKGQ==256 3 13 koPbw9wmYZ7ggcjnQ6ayHyhHaDNMYELKTqT+qRGrZpWSccr/lBcrm10Z 1PuQHB3Azhii+sb0PYFkH1ruxLhe5g==ドメインのDNSレコードはすべて同じ公開鍵で署名されています。したがって、サブドメイン(www.cloudflare.com)の公開鍵ではなく、ルートドメイン(cloudflare.com)の公開鍵をクエリしてください。
DNS応答には2つのレコードが含まれています:
DNSKEYレコード256は、ゾーン署名鍵(ZSK)と呼ばれる公開鍵です。ZSKは、A、MX、CNAME、SRVなどのDNSレコード署名を検証するために使用されます。DNSKEYレコード257は、鍵署名鍵(KSK)と呼ばれます。KSKは、DNSKEY、CDS、およびCDNSKEYレコードの署名を検証するために使用されます。digで+shortオプションを使用しない場合、DNS応答は、応答ヘッダーにadフラグが表示されるとDNSSEC認証されます:
dig www.cloudflare.com[...];; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65326;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1[...];; QUESTION SECTION:;www.cloudflare.com. IN A[...];; ANSWER SECTION:www.cloudflare.com. 15 IN A 198.41.215.162www.cloudflare.com. 15 IN A 198.41.214.162DNSSECの潜在的な問題を視覚化し発見するには:
以下は、権威あるネームサーバーがDSレコードに一致する有効なDNSKEYレコードを提供しない場合に、dnsviz.netが不正な委任を表示する方法の例です:

ドメイン署名の完全な検証(例えば、cloudflare.com)は、トップレベルドメイン(例えば、.com)での鍵署名鍵の検証を含みます。
その後、ルートサーバーレベルで.comの鍵署名鍵を確認することによって、同様の検証が行われます。DNSSECルート鍵は、信頼チェーンを完成させるためにDNSクライアントに配布されます。
DNSSECが有効な場合、レジストラのDNSにDSレコードが必要です。DSレコードには、公開鍵署名鍵のハッシュと鍵に関するメタデータが含まれています。
DSレコードを見つけるためにdigを使用します:
dig +short DS cloudflare.com2371 13 2 32996839A6D808AFE3EB4A795A0E6A7A39A76FC52FF228B22B76F6D6 3826F2B9+traceオプションを使用すると、digはcloudflare.comのネームサーバーまたは.comのネームサーバーから応答が返されるかどうかを確認します。この例では、cloudflare.comのDSレコードがe.gtld-servers.netから返されます:
dig DS cloudflare.com +trace[...]cloudflare.com. 86400 IN DS 2371 13 2 32996839A6D808AFE3EB4A795A0E6A7A39A76FC52FF228B22B76F6D6 3826F2B9[...]com. 172800 IN NS e.gtld-servers.net.[...];; Received 1213 bytes from 2001:502:1ca1::30#53(e.gtld-servers.net) in 37 ms上記の手順を手動で実行する代わりに、サードパーティツールDNSVizを使用する方が簡単です。
権威あるDNSプロバイダーが変更され、レジストラで古いDNSSECレコードが更新または削除されない場合、問題が発生します:
dig A brokendnssec.net @1.0.0.1;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 10663SERVFAIL応答がDNSSECに関連しているかどうかを確認するには、+cdオプションを使用してdigを実行します。+cdオプションは、DNSSEC検証なしでDNS結果を提供します。
dig A brokendnssec.net @1.0.0.1 +dnssec +cd +short104.20.49.61104.20.48.61この例では、+cdオプションを使用したときに適切なDNS応答が受信されるが、DNSSECを使用したクエリがSERVFAIL応答を返す場合、DNSSECが誤って構成されています。この問題は、権威あるネームサーバーが変更されたがDSレコードが更新されない場合によく発生します。また、攻撃者がクエリに対する応答を偽造しようとする場合にも発生する可能性があります。
DNSSEC実装に問題が発見された場合は、ドメインのレジストラに連絡し、DSレコードが権威あるDNSプロバイダーが指定したものと一致していることを確認してください。Cloudflareが権威あるDNSプロバイダーである場合は、CloudflareでのDNSSECの設定に関する指示に従ってください。