DNSのキャッシュ・サーバは、DNS amp攻撃の踏み台にされないよう、コンテンツ・サーバとは別のサーバで運用する。またインターネットからはアクセスできないように制限する。ソース・アドレスが不適切なパケットは、インターネット側へ送出しないように、ファイアウォールを設定しておく。
対象OS:Windows 2000 Server/Windows Server 2003
TIPS「分散サービス拒否(DDoS)攻撃を仕掛けるDNS ampとは?」では、DNSのキャッシュ・サーバを踏み台として利用する、DNS ampについて説明した。本TIPSでは、DNS ampの踏み台とされないように、DNSサーバ(キャッシュ・サーバ)を設定する方法について解説する。DNSのコンテンツ・サーバの設定方法については、TIPS「DNS ampの踏み台サーバになるのを防ぐ(コンテンツ・サーバ編)」を参照していただきたい。
DNSサーバを踏み台として利用されないようにするには、次のような対策が必要である。
キャッシュ・サーバは、原則としてインターネットに公開しないように(インターネットからアクセスできないように)設置すればよいので、コンテンツ・サーバと違って特別な設定は必要ない。ソース・アドレスによる制限や不正な要求のブロックなど、通常のサーバのセキュリティ対策を行っておけばよいだろう。以下、簡単に説明する。
Windows Server OSに付属のDNSサービスでは、コンテンツ・サーバ機能とキャッシュ・サーバ(リゾルバ)機能を分離して運用することができないので、代わりに、2種類のサービスを完全に2台のサーバ・コンピュータに分けて運用するのがよい。また、Small Business Serverのように、ドメイン・コントローラやDNSサーバが1台だけですべて担当するような形態のシステムの場合でも、必ず別のDNSサーバ・システムを用意し、コンテンツ・サーバとキャッシュ・サーバを分けていただきたい(インターネットにコンテンツ・サーバを公開する場合)。そして、インターネットに公開される側のDNSサーバ(コンテンツ・サーバ)は、Active Directoryとは独立した、別のスタンドアロンのDNSサーバとして運用するのがよいだろう。DNSのActive Directory統合機能を利用すると、DNSのレコードなどがDNS要求などを通じて、外部へ漏えいする可能性があるからだ。
またキャッシュ・サーバ機能を利用する場合は、必ずファイアウォールなどを利用して、ソース・アドレスによるアクセス制限を行い、不正なクライアントからのアクセスや、ソース・アドレスを詐称したDNS要求パケットなどはすべて拒否するのが望ましい。イントラネットであっても、BOTに感染したコンピュータから不正なDNSパケットが送信される可能性もあるので、DNSサーバでは、ソース・アドレスによるパケット・フィルタなどを設定しておこう。
ファイアウォールの設定については個々のシステムに依存するので詳しくは述べないが、例えばWindows Server 2003の標準ファイアウォール機能であれば、次のようなフィルタを設定することにより、不正なソース・アドレスを持つDNS要求パケットをブロックすることができる。
これはWindows Server 2003のファイアウォールでDNSサーバのパケットの着信許可を設定しているところである。キャッシュ・サーバのDNSでは、UDPの53番ポートあての通信を許可すればよい。ソース・アドレス制限は、上の画面の[スコープの変更]で行う。これをクリックすると次のような画面が表示されるので、アクセスを許可したいネットワーク・アドレス(つまりイントラネットのアドレス)を列挙する。
また、インターネットとイントラネットの境界に設置したファイアウォールでは、イントラネット側から送信される、ソース・アドレスが詐称されたパケットは、インターネット側へ送信(中継)しないようにフィルタを設定しておく(例えば、ソース・アドレスがグローバルIPアドレスになっているようなイントラネット側からの通信は、インターネット側へ中継せず、ファイアウォールでブロックするということ)。
更新履歴
【2011/06/20】「DNSでは、一般的にはUDPの52番ポートあての通信が利用される。」「キャッシュ・サーバのDNSでは、UDPの52番ポートあての通信を許可すればよい。」と記していましたが、いずれも正しくは「53番」でした。お詫びして訂正させていただきます。
【2006/08/26】初版公開。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.