こんにちは、Windows プラットフォーム サポート チームの高田です。
今回は、Microsoft Windows DNS, DHCP and IPAM Team のブログ “Upward Referral Responses from Authoritative DNS Servers” (2015 年 9 月 3 日 米国時間公開) を翻訳した記事です。
DNS サーバーの挙動で広く議論されるものの 1 つとして、自身が権限を持たない (自身で保持しないゾーン) に対する名前解決要求を受けた場合の応答が挙げられます。2012 R2 以前の Windows DNS サーバーでは、再帰問い合わせが無効化されている場合、Upward Referral 応答 としてルート ネーム サーバーの一覧を返していました。この挙動により、攻撃者が DNS サーバーにランダムなクエリを送信した場合に、何倍ものサイズの応答を生成させる (増幅させる) ことができるため、攻撃者によって悪用される可能性があります。この何倍ものサイズの応答を生成させる (応答内容を増幅させる) 攻撃による影響は Windows Server 2016 の DNS サーバーで追加された IPv6 ルート ヒント のサポートにより、さらに深刻になる可能性がありました。攻撃者が標的のネットワークにおいてこの DNS Amp (増幅) 攻撃 を行った場合、サーバーは脆弱な状態となります。また、リゾルバーは既にルート サーバーを認知しており、最新のリゾルバーの多くは Upward Referral に含まれる情報を無視するため、この情報はあまり使用されていないことが分かっています。
上記内容を踏まえ、Windows Server 2016 では、再帰問い合わせが無効化されている DNS サーバーは既定でそのような Upward Referral を返しません。その代わり DNS サーバーは SERV_FAIL を返します。
以前のバージョンの Windows DNS サーバー (2012 R2 以前) では、管理者が管理用 DNS サーバー上のルート ヒント ファイルを削除することにより、このような応答内容の増幅を防止することが可能でした。これは Windows DNS サービスを停止し、~\system32\DNS フォルダーにある cache.dns ファイルを削除して、サービスを再起動することで実施可能です。
これとは別に、Windows Server 2016 の Windows DNS サーバーは、DNS 増幅攻撃の防止を手助けする Response Rate Limiting 機能を提供します。また、クライアントに対しては 選択的な再帰問い合わせの制御 と、悪意のあるドメインの解決をフィルターする機能 が提供されることで、DNS システムにはより高いセキュリティが実現されています。
参考情報は以下をご覧ください。
What’s New in DNS Server in Windows Server Technical Preview
Name Resolution Performance of a Recursive Windows DNS Server 2012 R2
Name Resolution Performance of Authoritative Windows DNS Server 2012 R2