ドメインネームサービス(DNS)攻撃は、接続を拒否、傍受、乗っ取る可能性があるため、あらゆるインターネット接続を脅かします。ビジネスにおけるインターネットの役割がますます大きくなる中、DNSの保護は業務とセキュリティの両面で重要な役割を果たします。
この記事では、次の方法を通じて、さまざまな攻撃からDNSプロトコル、DNSサーバー、DNSへのアクセスを保護する方法を解説します。
DNSセキュリティの概要を知りたい場合は、まずDNSセキュリティとは?知っておくべきすべてのことをお読みください。
DNS攻撃を防ぐ3つの一般的なベストプラクティス
DNSサーバーはインターネットへのすべての接続を処理するだけでなく、ローカルネットワーク上にあるすべてのローカルデバイス(例:プリンター)のホスト名とIPアドレスも解決します。こうした多様な役割により、非常に幅広いデバイス、アプリケーション、サービスがDNSサーバーに接続されるため、攻撃者は可能な限りこれらの接続を悪用します。
攻撃から保護するには、DNSプロトコル、DNSプロトコルが動作するサーバー、DNS処理へのすべてのアクセスを保護するため、ベストプラクティスを適用する必要があります。これらを実装すれば、DNSを保護できるだけでなく、適切に保護されたDNSによってメール、エンドポイント、その他のネットワークシステムも攻撃から守れるため、ネットワークセキュリティ全般も保護できます。
DNSプロトコルを保護する
長年使われてきたDNSプロトコルは、攻撃的な敵対者があふれる現在の環境を想定していませんでした。DNSは平文で通信し、変更を加えない限り、受信したすべての情報が正確かつ真正で、信頼できるものだとみなします。
プロトコルを保護するには、DNS通信を暗号化し、結果を認証する追加のプロトコルを処理に加えます。これらのプロトコルは実装に費用がかからないため、DNSセキュリティを改善する際に通常、最初に取られる対策となります。
DNSの暗号化
DNSの暗号化は、DNSCryptプロトコル、DNS over TLS(DoT)、またはDNS over HTTPS(DoH)によって実現できます。DNSCryptプロトコルにはサーバーエージェントが必要で、エンドポイントエージェントをインストールして完全に暗号化された接続にすることで強化できます。TLSとHTTPSは本質的に、安全で暗号化された通信セッションを作成します。
DNS認証
DNS認証は通常、DNSセキュリティ拡張(DNSSEC)プロトコルによって実現します。DNSSECに対応するURLは、ドメイン名とIPアドレスに加えて公開暗号鍵を公開します。
DNSサーバーがDNSリゾルバーにリクエストを送ると、DNSリゾルバーは公開暗号鍵をダウンロードして確認し、要求されたURLアドレスに関連付けられたIPアドレスの真正性と正確性を検証します。
DNSサーバーを保護する
DNSプロトコルを強化したら、組織はDNSサーバーの保護に取り組むことができます。自社でサーバーを管理する組織は、機密情報を扱う他の高リスクサーバーと同様に、DNSサーバーを隔離、強化、維持、監査する必要があります。社内リソースが不足している組織は、Cloudflare、Google、F5などのサードパーティープロバイダーにDNSサービスを委託できます。
DNSサーバーの隔離
DNSサーバーを隔離すると、サーバー上で実行を許可する開放ポート、アプリケーション、サービスをより厳格に制御できるため、DNS処理の安全性を高められます。隔離によってサーバー全体のアクティビティが減るため、監視と異常検知も改善します。
個別の物理サーバーを用意する余裕がない中小企業や支社では、個別の仮想サーバーを実行できます。ただし、セキュリティチームは重要なリソースを保護するため、仮想マシン環境も適切に保護しなければなりません。
DNSサーバーの強化
DNSサーバーの強化は、周辺アーキテクチャに左右される非常に複雑で個別性の高い作業です。詳細は後述しますが、概要は次のとおりです。
- 不要なサービスを拒否するDNSに不要なサービスをサーバー上で拒否します。
- 堅牢なサーバーアーキテクチャを設計する冗長性と容量を高め、障害やDDoS攻撃への耐性を向上させます。
- ファイアウォールを強化する不要なポートを閉じます。
- レート制限を実装するDDoS攻撃やDNSトンネリング攻撃への耐性を高めます。
- 情報を制限するソフトウェアのバージョン番号、ユーザー名、その他、攻撃者が弱点を探るために利用できる手掛かりを隠します。
DNSサーバーの保守
DNSサーバーの保守では、DNSサーバーとソフトウェアを組織の重要インフラの一部として 優先的に更新・パッチ適用する必要があります。攻撃者はDNSサーバーやサービスを定期的に標的にするため、DNSサーバーは高リスク、高価値で、攻撃を受ける可能性が高いものに分類されます。こうした優先的な保守要件は、ファイアウォールやウイルス対策アプリケーションなど、DNSサーバーを保護する他のセキュリティソリューションにも適用する必要があります。
DNSサーバーの監査
DNSサーバーの監査では、DNSサーバーとDNSリクエストのログファイルを定期的に利用・調査する必要があります。監査は、セキュリティオペレーションセンター(SOC)、マネージドITセキュリティサービスプロバイダー(MSSP)、またはセキュリティ情報・イベント管理(SIEM)システムによって継続的に実施できます。
継続的な監視が望ましいものの、ログファイルを定期的に監査することも可能です。ただし、攻撃をタイムリーに検知するには、間隔を1カ月未満にする必要があります。
ログファイルに記録されたリクエストを確認するだけでなく、監査ではDNS設定も定期的に確認する必要があります。前回の監査以降に変更された設定を調査して、承認済みで正確なものかを検証し、最も古い設定についても定期的に見直して正確性が維持されていることを確認します。
DNSアクセスを保護する
プロトコルとサーバーを強化したら、セキュリティチームはプロトコルの継続的なサービスを監視し、悪意のある変更からサーバーを保護する必要があります。
DNSトラフィックの検査
DNSトラフィックは、次世代ファイアウォール(NGFW)、DNSファイアウォール、侵入防御サービス(IPS)、異常検知を使って検査できます。これによりDNSトンネリングから保護し、DDoS攻撃で使われる不正なDNSクエリをブロックできます。DNS保護は、セキュアサービスエッジ(SSE)、セキュアアクセスサービスエッジ(SASE)、またはゼロトラストネットワークアクセス(ZTNA)ソリューションなど、他のセキュリティ製品に組み込むこともできます。
より高度なセキュリティソリューションで人工知能(AI)と機械学習(ML)アルゴリズムが広く採用されるようになったことで、異常検知を強化できます。過剰なデータ転送や特定の送信元からの過剰なリクエストなどのイベントをきっかけに、自動かつプロアクティブな対策を実行すれば、人間だけのチームよりも迅速に潜在的な攻撃をブロックできます。
DNSフィルタリング
DNSフィルタリングでは、ユーザーがリクエストしたURLと、DNS経由でデータを送信するURLを調べます。既知の悪意あるURLはブロックされ、疑わしいURLは隔離されます。DNSフィルタリングは、DNSトラフィック検査を提供する同じツールに含まれることが多く、セキュアウェブゲートウェイ(SWG)や、Cloudflare、Cisco Umbrella、Palo Alto DNS Security、NS1などが提供するDNSセキュリティサービスにも含まれます。
DNSアクセス制御
DNSアクセス制御は厳格に実装し、信頼できる管理者に限定するとともに、不正アクセスや不正な変更から保護する必要があります。サーバーは、特定のユーザーと信頼できるデバイスを許可リストに登録し、特権アクセス管理(PAM)や多要素認証(MFA)を導入することで保護できます。
MFAの方式は慎重に選択する必要があります。SMSは傍受、なりすまし、SIMスワップ攻撃を受けやすいため、使用すべきではありません。より安全な方法として、認証アプリ、セキュリティドングル、IDカードを使用します。
より強固なMFAでは、次のことも可能です。
- 特定のデバイスへのアクセスを制限する証明書または許可リストに登録したMACアドレスを使用します。
- 特定のネットワークへのアクセスを制限する許可リストに登録したIPアドレスを使用します。
- グループまたはユーザーへのアクセスを制限する許可リストに登録したユーザー/グループを介して制限します。
DNSサーバー攻撃を防ぐためのヒント
ベストプラクティスを要求するのは簡単ですが、それを実装するのは容易ではありません。特に、さまざまな方法で実装できるDNSサーバーではなおさらです。DNSの各コンポーネントにはそれぞれ異なる要件があるため、セキュリティはさらに複雑になります。
- 権威DNSサーバーは組織のDNS情報(ドメイン名とIPアドレスの組み合わせ)を保持します。通常は組織のドメインレジストラがホストしますが、組織が管理することもあります。
- 外部DNSリゾルバーは外部(インターネット)のドメインとアドレスを検索します。通常はインターネットサービスプロバイダー(ISP)またはパブリックDNSリゾルバー(Google、Cloudflareなど)がホストしますが、組織が管理することもできます。
- 内部DNSリゾルバーはローカルの内部ネットワークリソース(プリンター、ネットワーク接続ストレージ(NAS)アレイなど)を検索します。通常はサーバー上でローカルにホストおよび管理されます。
さまざまなニーズに対応するため、詳細を次のカテゴリーに分けて説明します。
- すべてのDNSサーバーを対象とした防止策
- 内部DNSサーバー(リゾルバー)を対象とした防止策
- ホスト型DNSサーバー(権威DNSサーバーおよびリゾルバー)を対象とした防止策
- ドメイン名レジストラサーバー(権威DNSサーバー)を対象とした防止策
すべてのDNSサーバーを対象とした防止策
自社で権威DNSサーバーを管理するのは大規模な組織に限られますが、規模を問わず、多くの組織がDNS名前解決を高速化するため、各支社内の内部DNSリゾルバーを管理しています。採用しているアーキテクチャにかかわらず、すべての組織が次の追加のDNSサーバー保護策を実装すべきです。
- バックアップするDNSサーバー情報を災害復旧ソリューションによって保護します。他の重要データと同様に、次の対策を講じます。
- 人為的ミスを避けるため、自動化を利用する。
- 比較的高頻度でバックアップする(毎日、または少なくとも週1回)。
- 迅速にアクセスできるよう、ローカルにバックアップする。
- ローカル障害に備え、クラウドにバックアップする。
- 削除を防ぐため、オフラインでバックアップする。
- サービスを隔離することで、権威DNSサービスをDNSリゾルバーまたは再帰サービスから分離し、サーバー隔離というベストプラクティスをさらに強化できます。サービスを分離するとセキュリティが簡素化され、DNSをさらに強化できます。
- サービスのレジリエンスを確保することで、冗長サーバーまたは障害時のバックアップDNSサービスを稼働させ、単一障害点を回避できます。
規模が小さく、業務に集中している組織は、さまざまなDNS攻撃をすべて管理・監視する手間をかけたくありません。こうした組織は、DNS機能のできるだけ多くを、MSPやCisco Umbrella、Cloudflare DNS、Google Cloud DNS、F5 Distributed Cloud DNSなどのDNSサーバーソリューションプロバイダーに外部委託しようとします。
ただし、多くの側面を外部委託している場合でも、組織は、すべてのサービス機能を契約条件に従って検証し、すべてのセキュリティおよびコンプライアンス要件を満たしていることについて、最終的な責任を負います。大規模な組織は監査を実施でき、すべての組織が、サービスプロバイダーが侵入テストまたはセキュリティ監査を実施し、合格したことの確認を求めることができます。
内部DNSサーバーを対象とした防止策
最も単純なネットワークを除き、すべてのネットワークでは、プリンター、NAS、その他のネットワークリソースなどのネットワークデバイスへのアクセスを管理するため、内部DNSサーバーを稼働させる必要があります。こうした内部DNSサーバーは各支社内に個別に設定する必要があり、ローカルネットワークリソースの変更に対応するため、一定レベルのローカル管理が必要になる場合があります。
多くの組織は、安全だと想定しているローカルネットワークにベストプラクティスを実装していません。しかし、サイバー攻撃の増加により、こうした想定は非常に危険で、場合によっては高いコストにつながります。内部DNSサーバーであっても、侵害されたデバイスによるDNSトラフィックの傍受や、保護が不十分なローカルサーバーの悪用を防ぐため、ベストプラクティスに従う必要があります。
ベストプラクティスに加え、ローカルDNSサーバーでは、特定の外部DNSリゾルバーまたはDNSサービスを明示的に定義して許可リストに登録する必要があります。ローカルDNSサーバーと外部DNSサーバー間の通信は暗号化し、監視する必要があります。
ホスト型DNSサーバーを対象とした防止策
大規模な組織の中には、DNS機能を完全に自社管理することで制御を維持したいと考えるところもあります。一方、マネージドサービスプロバイダー(MSP)やISPが、一部の顧客に代わってDNSサービスを管理する場合もあります。いずれの場合も、DNSサービスのホスティングには、堅牢なアーキテクチャ、安全な設定、追加の保護レイヤーが必要です。
安全なDNSサーバーアーキテクチャ
サーバーアーキテクチャを慎重に設計すれば、さまざまな種類のDNS攻撃に直面してもリスクを低減し、パフォーマンスを向上できます。
DNSサーバーの災害レジリエンスを確保するには、デバイスまたはプロセスの障害に備え、ローカルサーバーを冗長化するとともに、プライマリDNSリゾルバーとセカンダリDNSリゾルバーの両方を用意する必要があります。
キャパシティープランニングでは、予想トラフィックを大幅に上回る容量要件を設定し、ロードバランサーを使用して、応答レート制限を実装することで、DDoS攻撃に耐えられるようにします。
リゾルバーの利用を、サービス対象ネットワーク(内部ネットワーク、ISP内など)のユーザーに制限することで、ハッカーによるキャッシュポイズニングを防ぎます。ハッカーは、インターネットに公開されたオープンリゾルバーを標的にします。こうしたリゾルバーは、Measurement Factoryのオンラインツールで検出できます。
プライマリDNSサーバーを、ネットワークの分離とファイアウォール設定によってパブリックアクセスから隠します。内部または公開されているDNSサーバーは、隠されたDNSマスターサーバーからのみ更新できるスレーブデバイスにします。これにより、公開サーバーは攻撃者にとって読み取り専用のデバイスになります。
外部DNS機能を、一元化して、より安全で効率的な管理を可能にします。設定項目の多くは細かな内容であり、複数の異なる実装に展開するのは面倒です。ローカルDNSをローカルで管理する必要がある場合でも、外部検索を実行するため、すべてを許可リストに登録した一元管理のDNS機能に接続できます。地理的に分散した環境では、サーバーも分散させる必要がありますが、一元化されたチームがリモートで管理することで、相違、抜け漏れ、古いインスタンスを最小限に抑えられます。
安全なDNSサーバー設定
DNS機能を適切に保護するには、DNSプロトコルとホストを、レジリエンスとセキュリティを考慮して設定する必要があります。こうした詳細を実装することで、アクセス制御のベストプラクティスをさらに改善し、特定の種類の攻撃に対抗できます。
アクセス制御設定では、プライマリおよびセカンダリDNSリゾルバーのIPアドレスを明示的に定義し、ハイジャック、なりすまし、キャッシュポイズニングを防ぐことで、全般的なアクセス制御のセキュリティを向上できます。明示的に定義したアクセスを使用すれば、監視システムや異常検知のアラートを発生させることもできます。具体的に設定するアクセス制御の例を次に示します。
- 特定のIPアドレスとデバイスのMACアドレスを許可リストに登録するマスター・スレーブDNSアーキテクチャ、プライマリDNSサーバー、冗長DNSサーバー用に設定します。
- DNSゾーン転送を明示的に制限することで、内部ネットワークのデバイスやアーキテクチャに関する情報を得るための、許可されていないゾーン転送を防ぎます。
- ファイアウォールルールで、送信DNSトラフィックをブロックするように設定します。ただし、承認済みで許可リストに登録されたDNSリゾルバーへの通信は除きます。
キャッシュポイズニング対策の設定をDNSソフトウェアとサーバーオプションに組み込むことで、ハッカーが偽の応答をキャッシュに挿入しにくくできます。設定オプションには次のものがあります。
- DNSサーバーに保存されたDNSキャッシュをロックするとともに、明確に定義して適用した有効期限(TTL)を設定し、攻撃者による上書きを防ぎます。
- DNSクエリの送信元ポートをランダム化するため、常にUDPポート53を使用するのではなく、ソケットプールを使用します。一部のOSでは、このオプションがデフォルトでサポートされています。
- クエリIDをランダム化することで、攻撃者が連番の次の番号になりすますことを防ぎます。
- 送信して名前解決するドメイン名の文字の大文字・小文字をランダム化するようにします。ネームサーバーは名前解決の際、example.comとExaMPle.comを同一に扱いますが、元のクエリと同じ大文字・小文字で応答します。
DDoS対策の設定によって、DNSを保護するためのサーバーアーキテクチャのDDoS耐性を高めることができます。検討すべき詳細な設定には次のものがあります。
- UDPポート53へのDNS以外のリクエストを破棄する(スプロケットプールを使用している場合は現在のDNSポートへのリクエストも破棄します)。
- 不正なDNSクエリを破棄することで、形式が不正な完全修飾ドメイン名(FQDN)構造やレコードタイプ、DNS ANYリクエストに対処します。
- 要求されているFQDNを把握することで、偽の疑似ランダムサブドメインを防ぎます。
- 保護対象のDNSサーバーへのクエリ総数を制限する。
- 応答時間を制限することで、同じ送信元からのDDoS攻撃を防ぎます。
- 単一のIPアドレスに対してクエリを受け付ける速度(DDoS攻撃を緩和できます)またはデータを配信する速度(トンネリング攻撃を緩和できます)を制限する。
- リクエスターからのNXDomain応答を追跡するとともに、最大しきい値を設定します。
DNSの追加セキュリティ
慎重に設計し強化したDNSサーバーであっても、リスクは低減されるものの、外部からの攻撃に対して脆弱です。リスクをさらに低減するため、外部DNSセキュリティソリューションによって保護レイヤーを追加できます。
DDoS緩和サービスはトラフィックを監視し、追加の帯域幅を提供して、多くの種類のDDoS攻撃をブロックできます。
クラウドベースのDNSフィルタリングおよびセキュリティサービス(Cisco Umbrella、Palo Alto DNS Security、NS1など)は、既知の悪意ある送信元を追跡・ブロックすることでDNSプロセスを保護します。フィルタリングを拡張して、ギャンブルサイトや成人向けコンテンツをホストするサイトなど、不要なサイトもブロックできます。
ドメイン名レジストラが管理するDNSを対象とした防止策
レジストラまたはその他の第三者が管理する権威ドメインネームサーバーについて、次の機能が提供されていれば、DNSレコードの安全性を確保するのに役立ちます。
- DNS変更ロックでは、DNS情報を変更する前に、組織内の指定された担当者が特定の電話番号に電話して確認するなど、具体的なセキュリティプロセスを利用できます。
- IP依存ログインでは、外部のハッカーによるアクセスを制限するため、ログインを許可する単一または範囲のIPアドレスを指定します。ネットワークまたはデバイスに障害が発生した場合の単一障害点を防ぐため、複数のIPアドレスを使用することをお勧めします。
DNS攻撃の種類ごとの防止方法
DNSを保護するために複数の保護レイヤーが必要な理由を完全に理解できるよう、ここでは14種類のDNS攻撃について、その仕組み、検知の可否、攻撃から保護する方法を説明します。
DNSビーコニング
DNSビーコニングは、ポート53または暗号化されたDNS(HTTPS、TLSなど)トラフィックを介してボットネットを動作させるDNSトンネリング攻撃の一種です。このタイプの攻撃は、主にパケット検査または異常分析で検知できます。攻撃を排除するには、制御URLをブラックリストに登録するとともに、エンドポイント上のボットネット感染を排除する必要があります。
DNSキャッシュポイズニング
DNSキャッシュポイズニングは、ローカルDNSサーバーまたはDNSリゾルバーをハッキングし、キャッシュ内のIPアドレスを置き換えます。この攻撃では、正規のWebサイトのIPアドレスが悪意あるIPアドレスに置き換えられ、以後のDNSクエリでユーザーに配信される可能性があります。
攻撃者はキャッシュを直接操作することもできますが、別の手法では、偽装した送信元IPアドレスを使って偽のDNSクエリ「応答」を送信します。この手法は、DNSサーバーからの情報要求に対するDNSリゾルバーの回答に見せかけようとするものです。
このタイプの攻撃を確認する手法を使用していないサーバーは、偽の回答を、今後のDNSクエリに対する権威ある回答として単純に保存してしまいます。いったん汚染されると、情報の有効期限が切れるまで、その後の情報要求はすべてキャッシュから誤った情報を取得します。
DNSキャッシュポイズニングは、次の方法で検知・対処できます。
- DNSSEC
- DNSキャッシュロック
- DNSクエリの大文字・小文字操作
- 厳格なアクセス制御
DNSキャッシュポイズニングの被害を受けた内部ネットワークは、汚染されたDNS情報が拡散しないようリセットする必要があります。
DNSドメインロックアップDDoS攻撃
DNSドメインロックアップ分散型サービス拒否(DDoS)攻撃は、TCP接続を作成してからランダムなパケットをゆっくり送り返し、リソースを消費させることで、正規のDNSサーバーを過負荷状態にします。これは一般的なDDoS手法ですが、DDoS攻撃に備えてDNSを事前に対策しているチームばかりではありません。
DDoS攻撃には、DNSサーバーをDDoS攻撃に対して強化し、DDoS対策サービス(Cloudflareなど)やDNSファイアウォールを導入することで対抗できます。
DNSフラッドDDoS攻撃
DNSフラッドDDoS攻撃は、膨大な量のUDPプロトコルによるDNSリクエストでDNSサーバーを過負荷状態にします。DDoS攻撃は多くの場合、主に被害組織に影響を及ぼしますが、関連するサービスや企業も影響を受ける可能性があります。
フラッド攻撃は、侵害された顧客構内設備(CPE)を使ってネットワーク内で実行することもできます。この形態のDNSフラッドDDoS攻撃は、ボットネットベースのCPE攻撃と呼ばれることがあります。
DNSフラッドDDoS攻撃には、DNSサーバーをDDoS攻撃に対して強化し、DDoS対策サービス(Cloudflareなど)やDNSファイアウォールを導入することで対抗できます。
DNSインターセプション
DNSインターセプションはDNS問い合わせを傍受し、悪意あるリソースにリクエストを再ルーティングして、ユーザーを悪意あるWebサイトへリダイレクトします。最も一般的には、このタイプの攻撃は、フィッシング攻撃を通じてエンドポイント上で実行されます。フィッシングメールに記載されたURLまたはIPアドレスのDNSクエリが、悪意あるDNSサーバーにリダイレクトされます。
このタイプの攻撃では、集中監視を回避できるため、通常はエンドポイント上またはメールセキュリティによる検知が必要です。特にリモートユーザーの場合は注意が必要です。DNSCrypt、セキュアサービスエッジ(SSE)、セキュアウェブゲートウェイ(SWG)、ゼロトラストネットワークアクセス(ZTNA)、セキュアアクセスサービスエッジ(SASE)など、リモートエンドポイントからの問い合わせをリダイレクトするソリューションも、すべてのユーザーとデバイスのDNS通信を集中監視・処理経由に強制すれば、この攻撃を防げる可能性があります。
DNSハイジャック
DNSハイジャックは、マルウェア、侵害されたDNSサーバー、または侵害されたネットワーク機器(ルーターなど)を介し、DNSレコード内の情報を置き換えることで、クエリを悪意あるサイトにリダイレクトします。これらの攻撃はDNSキャッシュポイズニングと実質的に同じ動作をしますが、キャッシュだけでなく、DNSレコードまたは権威ネームサーバーを直接侵害します。
攻撃者は、認証情報を盗むか、DNS情報を保持するデバイスを侵害してサーバーにアクセスします。DNSサーバーはインターネットに直接公開されていることで攻撃にさらされることが多く、ネットワークデバイスも管理アクセスのためにインターネットに公開されている場合や、侵害されたネットワークエンドポイント(フィッシング、盗まれた認証情報、侵害されたVPNサーバーなど)を通じて公開されている場合があります。
DNSハイジャックの最悪の形態では、ドメイン名レジストラの権威DNSレコードを侵害し、組織のURLを悪意あるIPアドレスへのリダイレクトに変えてしまいます。この攻撃では、組織のドメインが多くのウイルス対策製品や脅威インテリジェンスフィードのブラックリストに追加される可能性があり、DNSハイジャックによる問題がさらに悪化します。
このタイプの攻撃は、ログファイルの監視、侵入検知・防御システム(IDSまたはIPS)、次世代ファイアウォール(NGFW)によるパケット検査、異常検知、厳格なアクセス制御で検知または対処できます。ドメイン名レジストラのDNS侵害は検知できない可能性があるため、厳格なアクセス制御と多要素認証で対処する必要があります。
DNS不正クエリDDoS攻撃
DNS不正クエリDDoS 攻撃は、DNSサーバーが処理するために必要なリソースを増大させるよう意図的に設定を不正にしたリクエストで、DNSサーバーを過負荷状態にします。大量に送信されると、処理リソースが枯渇し、DNSサーバーが停止する可能性があります。
DDoS攻撃には、DNSサーバーをDDoS攻撃に対して強化し、DDoS対策サービス(Cloudflareなど)やDNSファイアウォールを導入することで対抗できます。
DNS NXDOMAIN DDoS攻撃
DNS NXDOMAIN(存在しないドメイン)DDoS 攻撃は、存在しないレコードや偽のドメイン名に対するリクエストでDNSサーバーを過負荷状態にします。DNSサーバーはDNSリゾルバーおよびリクエスト元のクライアントと接続するため、正当なDNSクエリを処理できなくなるまでリソースを消費します。DDoS攻撃には、DNSサーバーをDDoS攻撃に対して強化し、DDoS対策サービス(Cloudflareなど)やDNSファイアウォールを導入することで対抗できます。
DNSファントムドメインDDoS攻撃
DNSファントムドメインDDoS攻撃は、存在しないドメインサーバーや応答の遅いドメインサーバーへの接続リクエストでDNSサーバーを過負荷状態にします。DDoS攻撃には、DNSサーバーをDDoS攻撃に対して強化し、DDoS対策サービス(Cloudflareなど)やDNSファイアウォールを導入することで対抗できます。
DNS反射増幅DDoS攻撃
DNS反射増幅DDoS攻撃は、ボットを使って被害者のIPアドレスを送信元とする偽装IPアドレスでDNSクエリを送信し、その偽装されたIPアドレスのリソースにDNS応答を集中させて過負荷状態にします。DNS DDoS攻撃は、ユーザーによるインターネットへの一般的なアクセスを遮断することを狙います。DNS反射増幅DDoS攻撃には、DNSサーバーをDDoS攻撃に対して強化し、DDoS対策サービス(Cloudflareなど)やDNSファイアウォールを導入することで対抗できます。
DNSスプーフィング
DNSスプーフィングは、DNSキャッシュポイズニングまたは正規のDNSサーバーへのなりすましによって、偽造されたDNS IPアドレスをDNSキャッシュに挿入します。DNSハイジャックと似ていますが、DNSレコードそのものではなくキャッシュを標的にします。
DNSスプーフィングは、DNSサーバーの監視や、改ざんに対するサーバーの強化(アクセス制御、許可・拒否リストへの登録など)によって検知・対処できます。DNS応答の真正性を検証するDNSSECなどのサービスやプロトコルも、スプーフィング対策になります。
DNSサブドメインDDoS
DNSサブドメインDDoS攻撃は、存在しないURLサブドメイン(例:idonotexist.esecurityplanet.com、esecurityplanet.com/idonotexist/)へのリクエストでDNSサーバーを過負荷状態にします。DDoS攻撃には、DNSサーバーをDDoS攻撃に対して強化し、DDoS対策サービス(Cloudflareなど)やDNSファイアウォールを導入することで対抗できます。
DNSトンネリング
DNSトンネリングはDNSプロセスを攻撃するのではなく、DNSトラフィックをカモフラージュとして利用し、ユーザーへのマルウェア配信、コマンドの実行、データの外部流出を行います。ほとんどのファイアウォールやサーバーは、デフォルトでポート53のDNS通信を信頼するため、攻撃者はこれを悪用して活動を隠すことができます。また、攻撃者は活動をさらに隠すため、SSH、TCP、HTTPプロトコル上で暗号化されたDNSクエリを使用することもあります。
DNSトンネリングは、DNSトラフィックを検査し、DNSサーバーへのアクセスを厳格に制御するとともに、DNS情報の送信先となるIPアドレスまたはドメインを監視することで検知・ブロックできます。ログを使ってトンネリング攻撃を検知する場合は、複雑または不審なドメインからのリクエストと応答のペアが多数存在し、通常よりもはるかに多くのリクエストが発生していないか確認します。
暗号化されていないDNSの傍受
他の攻撃とは異なり、暗号化されていないDNS情報の傍受は通常、DNSプロセスやネットワークデバイスを侵害・制御したり、アクセスを拒否したりするためには使われません。その代わり、攻撃者はデフォルトで平文のまま送信されるDNSクエリを単に傍受し、インターネットアクセスのリクエストを追跡・監視します。
盗まれた情報は将来の攻撃に向けた情報収集に利用できます。また、システムやプロセスに影響を及ぼさないため、検知はほぼ不可能です。このタイプの攻撃を防ぐには、暗号化されたDNSクエリプロトコルを採用するしかありません。
結論:DNSを保護して事業運営を守る
DNSがなければ、ユーザーはネットワークプリンターを見つけたり、SaaSアプリケーションにアクセスしたり、インターネット上のリソースに接続したりできません。多くの組織では、DNS障害によって組織全体のITシステムが停止し、大きな事業損失や復旧コストが発生する可能性があります。
外部委託のDNSサービス、内部利用に限定した小規模なDNSリゾルバー、堅牢な多機能DNSアーキテクチャのいずれを利用する場合でも、組織はDNSを、通常の攻撃対象となっているミッションクリティカルなリソースとして認識する必要があります。安全かつ運用可能なDNS機能を確保するため、すべての組織は少なくともベストプラクティスを維持し、可能であれば、この重要なITサービスについてさらに高度なセキュリティを実現すべきです。
関連するセキュリティ情報については、以下もご覧ください。
この記事は当初Paul Rubensが執筆し、2017年10月18日に公開され、Chad Kimeによって2023年12月8日に更新されました。





