DNSSEC(Domain Name System Security Extensions)とは?

ChatGPTに聞いてみる。

DNSSEC(Domain Name System Security Extensions)は、DNS(Domain Name System)を使用してインターネット上のドメイン名を解決する際にセキュリティを向上させるための技術です。

DNSSECは、デジタル署名を使用してDNSクエリーとレスポンスを保護します。デジタル署名により、DNSレコードが偽造されたり改ざんされたりしないようになります。これにより、ユーザーは、自分が正しいドメインにアクセスしていることを確信できます。

DNSSECの主な仕組みは、ドメイン名のDNSクエリーがDNSサーバーに送信されたときに、サーバーがドメイン名のデータを署名することです。クライアントがDNSサーバーからデータを取得すると、デジタル署名が検証されます。署名が有効である場合、DNSデータが正当であることが保証されます。

DNSSECにより、ユーザーは信頼できるドメイン名を確認し、フィッシングなどの攻撃から保護されることができます。ただし、DNSSECを使用するには、ドメイン名の登録者がDNSSECに対応したレコードを作成する必要があります。

DNSSEC 関連レコード

インターネット10分講座:DNSSEC - JPNIC より説明を引用しつつ、digコマンドで実際に叩いてみる。

RRSIG

リソースレコードの電子署名です。DNSキャッシュサーバはこのRRSIGに記述されている署名を使用し、問い合わせた本来の権威ネームサーバからの応答かどうか、パケット内容が改ざんされていないかどうか、正当性を検証します

dig コマンドに +dnssec をつけると RRSIGを返してくれる。

$ dig toshimaru.net +dnssec | grep RRSIG
toshimaru.net.		300	IN	RRSIG	A 13 2 300 20230306121853 20230304101853 34505 toshimaru.net. 9EBfjNtpDxw6xHuJeyBQhPVcyFQY5jSGqthN0SAI9og2X++tuKuqeAL3 t5vYpg9zAcOmvlgoXae2TKWUprfodg==

DNSKEY

ゾーンを署名する秘密鍵に対応する公開鍵です。DNSキャッシュサーバはこのDNSKEYに記述されている公開鍵を使用し、署名を検証します

$ dig +short toshimaru.net DNSKEY
257 3 13 mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+ KkxLbxILfDLUT0rAK9iUzy1L53eKGQ==
256 3 13 oJMRESz5E4gYzS/q6XDrvU1qMPYIjCWzJaOau8XNEZeqCYKD5ar0IRd8 KqXXFJkqmVfRvMGPmM1x8fGAa2XhSA==