ドメイン ネーム システム (DNS) は、本来オープン プロトコルとして設計されています。したがって、外部からの攻撃を受けやすくなっています。Windows Server 2008 の DNS では、セキュリティ機能の追加により、DNS インフラストラクチャに対する攻撃を防止する機能が強化されました。どのセキュリティ機能を使用するかを検討する前に、DNS セキュリティに対する一般的な脅威と、組織内の DNS セキュリティのレベルを把握しておく必要があります。
DNS セキュリティに対する脅威
DNS インフラストラクチャに対する一般的な攻撃方法は次のとおりです。
-
フットプリント : 機密性の高いネットワーク リソースの DNS ドメイン名、コンピューター名、および IP アドレスが含まれた DNS ゾーン データを攻撃者が入手する手段です。一般的に、攻撃者はこの DNS データを使ってダイアグラムまたはネットワーク (フットプリント) への攻撃を開始します。通常、ドメインやコンピューターをユーザーが簡単に記憶および識別できるようにするため、DNS ドメイン名やコンピューター名はそのドメインの機能やコンピューターの場所を表しています。攻撃者は、DNS のこの原則を利用して、ネットワーク内でのドメインの機能やコンピューターの場所を割り出します。
-
サービス拒否 (Denial of Service) 攻撃 : 再帰クエリを使ってネットワーク内の 1 台以上の DNS サーバーを過負荷状態にし、ネットワーク サービスを利用できないようにする攻撃方法です。DNS サーバーがクエリであふれ、CPU 使用率が最大限に達して、DNS サーバー サービスが使用できなくなります。ネットワーク上で DNS サーバーが正常に動作していないと、DNS を利用したネットワーク サービスをネットワーク ユーザーに提供できません。
-
データ改ざん : DNS を使ってネットワークに侵入した攻撃者が、自分で作成した IP パケットに有効な IP アドレスを指定し、それらのパケットがネットワーク内の有効な IP アドレスから送られてきたように見せかける攻撃方法です。これは、一般に IP スプーフィング (なりすまし) と呼ばれます。攻撃者は、有効な IP アドレス (サブネットの IP アドレス範囲内にある IP アドレス) を使ってネットワークにアクセスし、データの破壊などの攻撃を行います。
-
リダイレクト : DNS 名の解決を求めるクエリを、攻撃者の制御下にあるサーバーへリダイレクトする攻撃方法です。リダイレクトする 1 つの方法として、誤った DNS データを使って DNS サーバーの DNS キャッシュを汚染し、それ以降のクエリが攻撃者の制御下にあるサーバーに送信されるようにします。たとえば、本来は widgets.tailspintoys.com の名前解決を求めるクエリに対して、紹介応答が tailspintoys.com ドメイン以外の名前のレコード (malicious-user.com など) を返した場合、DNS サーバーは malicious-user.com のデータをキャッシュに格納し、widgets.tailspintoys.com に対するクエリを malicious-user.com のデータを使って解決してしまいます。安全性の低い動的更新を利用するなど、攻撃者が DNS データへの書き込みアクセス権を取得したときにリダイレクト攻撃が成功します。
DNS セキュリティに対する脅威の軽減
DNS は、上記のような DNS セキュリティの一般的な問題を軽減するように構成できます。次の表は、DNS セキュリティを決定する際に重視すべき 5 つの主な領域を示しています。
DNS セキュリティの領域 | 説明 |
---|---|
DNS 名前空間 |
DNS 名前空間の設計に DNS セキュリティを組み込みます。詳細については、「DNS 展開を保護する」を参照してください。 |
DNS サーバー サービス |
DNS サーバー サービスの既定のセキュリティ設定を見直し、DNS サーバー サービスをドメイン コントローラー上で実行する場合は Active Directory のセキュリティ機能を適用します。詳細については、「DNS サーバー サービスを保護する」を参照してください。 |
DNS ゾーン |
DNS ゾーンの既定のセキュリティ設定を見直し、DNS ゾーンをドメイン コントローラー上でホストする場合は、セキュリティで保護された動的更新と Active Directory のセキュリティ機能を適用します。詳細については、「DNS ゾーンのセキュリティ保護」を参照してください。 |
DNS リソース レコード |
DNS リソース レコードの既定のセキュリティ設定を見直し、DNS リソース レコードをドメイン コントローラー上でホストする場合は Active Directory のセキュリティ機能を適用します。詳細については、「DNS リソース レコードをセキュリティで保護する」を参照してください。 |
DNS クライアント |
DNS クライアントが使用する DNS サーバーの IP アドレスを制御します。詳細については、「DNS クライアントを保護する」を参照してください。 |
DNS セキュリティの 3 つのレベル
以下では、DNS セキュリティの 3 つのレベルについて説明します。
低レベルのセキュリティ
低レベルのセキュリティは、セキュリティ対策を行っていない標準の DNS 展開です。DNS データの整合性を重視しないネットワーク環境、または外部接続による脅威のないプライベート ネットワークでのみ、このレベルの DNS セキュリティを展開します。低レベルの DNS セキュリティには、次の特徴があります。
-
組織の DNS インフラストラクチャは、すべてインターネットから見ることができます。
-
標準の DNS 解決は、ネットワークにあるすべての DNS サーバーによって実行されます。
-
すべての DNS サーバーは、インターネット向けのルート サーバーを参照するルート ヒントを使用するように構成されます。
-
すべての DNS サーバーは、他のすべてのサーバーへのゾーン転送を許可します。
-
すべての DNS サーバーは、それらのすべての IP アドレス上でリッスンするように構成されます。
-
キャッシュ汚染の防止はすべての DNS サーバーで無効になります。
-
すべての DNS ゾーンについて動的更新が許可されます。
-
送信元アドレスと宛先アドレスの両方について、ユーザー データグラム プロトコル (UDP) および TCP/IP のポート 53 がネットワークのファイアウォール上で開かれた状態になります。
中レベルのセキュリティ
中レベルのセキュリティでは、ドメイン コントローラー上で DNS サーバーを実行することも、DNS ゾーンを Active Directory ドメイン サービス (AD DS) に格納することもせずに利用できる DNS のセキュリティ機能を使用します。中レベルの DNS セキュリティには、次の特徴があります。
-
組織の DNS インフラストラクチャは、制限付きでインターネットから見ることができます。
-
すべての DNS サーバーは、名前をローカルに解決できない場合、フォワーダーを使用して内部 DNS サーバーの特定の一覧を参照するように構成されます。
-
すべての DNS サーバーは、そのゾーンのネーム サーバー (NS) リソース レコードで指定されているサーバーにのみゾーン転送を行います。
-
DNS サーバーは指定した IP アドレスでリッスンするよう構成されています。
-
キャッシュ汚染の防止は、すべての DNS サーバーで有効です。
-
すべての DNS ゾーンについて、セキュリティで保護されていない動的更新が許可されません。
-
内部 DNS サーバーは、送信元アドレスと宛先アドレスの制限された一覧を使用し、ファイアウォールを通じて外部 DNS サーバーと通信します。
-
ファイアウォールの前面に配置された外部 DNS サーバーは、インターネットのルート サーバーを参照するルート ヒントを使用するように構成されます。
-
すべてのインターネット名前解決は、プロキシ サーバーとゲートウェイを使って実行されます。
高レベルのセキュリティ
高レベルのセキュリティでは、中レベルのセキュリティと同じ構成が使用されます。また、DNS サーバー サービスをドメイン コントローラー上で実行し、DNS ゾーンを AD DS に格納することによって得られるセキュリティ機能を利用します。さらに、高レベルのセキュリティでは、DNS とインターネットとの通信を完全に排除します。これは一般的な構成ではありませんが、インターネット接続が必要な場合にお勧めします。高レベルの DNS セキュリティには、次の特徴があります。
-
組織の DNS インフラストラクチャでは、内部 DNS サーバーとインターネットとの通信が一切行われません。
-
ネットワークでは、内部 DNS ルートと名前空間を使用します。この場合、DNS ゾーンに対するすべての権限は内部用です。
-
フォワーダーを使用するように構成された DNS サーバーは、内部 DNS サーバーの IP アドレスのみを使用します。
-
すべての DNS サーバーは、指定された IP アドレスにのみゾーン転送を行います。
-
DNS サーバーは指定した IP アドレスでリッスンするよう構成されています。
-
キャッシュ汚染の防止は、すべての DNS サーバーで有効です。
-
内部 DNS サーバーは、内部名前空間のルート ゾーンをホストする内部 DNS サーバーを参照するルート ヒントを使用するように構成されます。
-
すべての DNS サーバーは、ドメイン コントローラー上で動作します。DNS サーバー サービスでは、DNS サーバーに対する管理作業を特定のユーザーのみが行えるように随意アクセス制御リスト (DACL) が構成されます。
-
すべての DNS ゾーンは AD DS に格納されます。DACL は、特定のユーザーのみが DNS ゾーンを作成、削除、または変更できるように構成されます。
-
DACL は、DNS リソース レコードの DNS データを特定のユーザーのみが作成、削除、または変更できるように構成されます。
-
DNS ゾーンに対して、セキュリティで保護された動的更新を構成します。ただし、トップレベルおよびルートのゾーンについては動的更新を一切許可しません。