DNSサーバの基本事項(役割や問合せ方法)を簡単にまとめた後、DNSキャッシュポイゾニングの仕組みと対策について簡単にまとめます。
1.DNSサーバの役割
(1)コンテンツサーバ(権威サーバ)
・ゾーン情報を管理します。
・自らが管理のゾーン情報のみ回答します。それ以外は「レコード無し」と回答します。
・非再帰的問合せのみ回答します。
・一般的にインターネット上に公開します。
(2)キャッシュサーバ(フルサービスリゾルバ)
・クライアント(リゾルバ)からの要求により、コンテンツサーバに問合せを行います。(再帰問合せと呼ぶ)
・問合せた結果をキャッシュします。
・セキュリティ上、クライアント(リゾルバ)は限定する必要があります。
2.問合せ方法
問合せ方法には2通りあります。
(1)再帰的問合せ
リゾルバから要求を受けたDNSサーバが他のDNSサーバへの問合せを繰り返し最終結果をリゾルバに回答します。
(2)反復問合せ
再帰問合せの結果を回答するために、DNSサーバへ反復して問合せる方式。
3.キャッシュポイゾニング
キャッシュポイゾニングとは、悪意のユーザがDNS問合わせを行い、DNSコンテンツサーバから回答が送信されるより前に偽の回答を行い、偽のIPアドレスをキャッシュさせる手法です。
対策としては、ソースポートをランダムにして、偽の回答を行うことを難しくすることなどが考えられます。またDNSSECを使用すれば根本的に解決しますが、デジタル証明書の管理などが必要なこともあり未だに普及していません。
またオープンリゾルバ(組織外からの名前解決にも応答してしまう)は避けるべきです。コンテンツサーバとキャッシュサーバを同一サーバで構成した場合、オープンリゾルバになり易いので注意が必要です。
スポンサード リンク