本文へスキップ
IPeek

DNSSEC チェック

ドメインは署名され検証されているか?

チェック中…

DNSSECとは?

DNSSEC(DNS Security Extensions)は、DNSレコードに暗号署名を行い、リゾルバーがレコードが改ざんされていないことを検証できるようにすることで、キャッシュポイズニングやなりすましから防御します。レコードの意味を変えることなく、通常のDNSの上に信頼の連鎖を追加します。IPeekは検証を行うDNS-over-HTTPSリゾルバーに照会し、ドメインが署名され認証されているかを報告します。

DNSSECが信頼の連鎖を構築する仕組み

DNSSECは、各ゾーンを秘密鍵で署名し、対応する公開鍵をDNSに公開することで機能します。レコードが署名され(RRSIG)、鍵が公開され(DNSKEY)、ゾーンの鍵のフィンガープリント(DSレコード)が親ゾーンに置かれます。これによりあなたのゾーンが親に結び付き、親がさらにその親に結び付き、ルートまで連続する信頼の連鎖が形成されます。検証を行うリゾルバーは、その連鎖をルートから下へたどり、各署名を確認し、署名が検証された応答のみを信頼します。

DNSSECチェック結果の読み解き方

IPeekは、ドメインがDNSSECで署名されているか、また検証を行うリゾルバーがそれを認証するかを報告します。認証された結果(多くはAD、すなわちAuthenticated Dataフラグとして示されます)は、信頼の連鎖が無傷で、レコードが検証されたことを意味します。ドメインが署名されていなければ、DNSSECが単に有効化されていないだけで、一般的でありエラーではありませんが、レコードが保護されていないことを意味します。署名されたドメインが検証に失敗するのはより深刻で、壊れた連鎖、通常はレジストラでのDSレコードの欠落や不一致を示します。

よくあるDNSSECの問題と修正方法

最もよくある失敗は壊れた信頼の連鎖で、ゾーンは署名されているのに親のDSレコードが欠落、古い、または現在の鍵と一致しない状態です。これにより検証を行うリゾルバーがSERVFAILを返し、検証リゾルバーの背後にいるユーザーにとってドメインが完全にオフラインになることがあります。通常、鍵のロールオーバー時や、DSレコードをレジストラにアップロードせずにDNSSECを有効化したときに起こります。レジストラのDSレコードがゾーンのアクティブな鍵と一致するようにし、DSの更新が伝播する前に古い鍵を決して削除しないことで修正します。

よくある質問

ドメインがDNSSECで署名されているとはどういう意味ですか?

DNSSECで署名されたドメインは、DNSレコードに暗号署名を持ち、検証を行うリゾルバーが応答が本物で改変されていないことを確認できます。ただし署名だけでは不十分で、信頼の連鎖がドメインに届くよう、親ゾーンも一致するDSレコードを保持していなければなりません。署名され適切に委任されたドメインは、なりすましとキャッシュポイズニングから保護されます。

ドメインがDNSSECで署名されていないのは問題ですか?

いいえ、署名されていないドメインはエラーではありません。多くのドメインはDNSSECを使っていません。単にレコードに暗号的保護がなく、理論上は転送中になりすましやポイズニングを受けうることを意味します。DNSSECを有効化するとその保護が追加されますが、任意であり、DNSプロバイダーとレジストラの両方で正しい設定が必要です。

DSレコードとは何で、なぜ重要なのですか?

DS(Delegation Signer)レコードは、あなたのゾーンの署名鍵のフィンガープリントで、レジストラの親ゾーンに公開されます。署名されたゾーンを、その上の信頼の連鎖に結び付けます。DSレコードが欠落しているか現在の鍵と一致しないと、検証を行うリゾルバーはドメインを検証できず、完全に失敗させることがあるため、DSを同期させておくことが極めて重要です。

DNSSEC結果のADフラグは何を意味しますか?

ADはAuthenticated Dataの略です。検証を行うリゾルバーがADフラグを立てると、応答のDNSSEC署名が確認され、信頼の連鎖が正常に検証されたことを示します。署名されたドメインでADがない場合、検証失敗か、リゾルバーが検証を行わなかったことを示しうります。IPeekは検証を行うリゾルバーを使うため、フラグは本物の認証を反映します。

DNSSECで署名されたドメインが検証に失敗するのはなぜですか?

通常の原因は壊れた信頼の連鎖です。レジストラのDSレコードが欠落、古い、またはゾーンのアクティブな鍵と一致しておらず、多くは鍵のロールオーバー後に起こります。すると検証を行うリゾルバーがSERVFAILを返し、影響を受けるユーザーにとってドメインが到達不能になることがあります。レジストラのDSレコードを現在の署名鍵に揃えることで修正します。