Windows Server OSに付属のDNSサービスでは、コンテンツ・サーバ機能とキャッシュ・サーバ(リゾルバ)機能を分離して運用することができないので、代わりに、2種類のサービスを完全に2台のサーバ・コンピュータに分けて運用するのがよい。また、Small Business Serverのように、ドメイン・コントローラやDNSサーバが1台だけですべて担当するような形態のシステムの場合でも、必ず別のDNSサーバ・システムを用意し、コンテンツ・サーバとキャッシュ・サーバを分けていただきたい(インターネットにコンテンツ・サーバを公開する場合)。そして、インターネットに公開される側のDNSサーバ(コンテンツ・サーバ)は、Active Directoryとは独立した、別のスタンドアロンのDNSサーバとして運用するのがよいだろう。DNSのActive Directory統合機能を利用すると、DNSのレコードなどがDNS要求などを通じて、外部へ漏えいする可能性があるからだ。
ファイアウォールの設定については個々のシステムに依存するので詳しくは述べないが、例えばWindows Server 2003の標準ファイアウォール機能であれば、次のようなフィルタを設定することにより、不正なソース・アドレスを持つDNS要求パケットをブロックすることができる。
DNSサービスに対するファイアウォールの許可設定
DNSでは、一般的にはUDPの53番ポートあての通信が利用される。
名前。プロトコルが分かるような、適当な名前を付けておく。
ポート番号。DNSの問い合わせと応答では、通常は、UDPの53番ポートが利用される。
スコープの定義。要求を受け付けるネットワーク・アドレスを限定する。
これはWindows Server 2003のファイアウォールでDNSサーバのパケットの着信許可を設定しているところである。キャッシュ・サーバのDNSでは、UDPの53番ポートあての通信を許可すればよい。ソース・アドレス制限は、上の画面の[スコープの変更]で行う。これをクリックすると次のような画面が表示されるので、アクセスを許可したいネットワーク・アドレス(つまりイントラネットのアドレス)を列挙する。