DNSセキュリティとは?

DNSはセキュリティを最優先とした設計ではないため、DNSシステムの脆弱性は多くのタイプの攻撃で悪用されています。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • DNSSECとは何か、またその仕組みを理解する
  • 最も一般的なDNS攻撃について知る
  • DNSSECおよびその他DNSセキュリティソリューションの違い

関連コンテンツ


さらに詳しく知りたいとお考えですか?

サインアップして、Cloudflareからセキュリティ関連の学習用記事をお受け取りください。

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

DNSセキュリティとは?

DNSセキュリティとは、DNSインフラストラクチャをサイバー攻撃から保護し、迅速かつ信頼性の高いパフォーマンスを維持するための対策方法です。効果的なDNSセキュリティ戦略には、冗長DNSサーバーの構築、DNSSECなどのセキュリティプロトコルの適用、厳格なDNSログの要求など、多数積み重ねられた防御が組み込まれています。

DNSセキュリティが重要な理由は?

多くのインターネットプロトコルと同様に、DNSシステムはセキュリティを考慮した設計がされていないため、いくつかの設計上の制限があります。これらの制限と技術の進歩が相まって、DNSサーバーは、スプーフィング攻撃、アンプ攻撃、DoS(サービス拒否)攻撃、または個人情報の傍受など、さまざまな攻撃に対して脆弱なものとなっています。また、DNSはほとんどのインターネット要求に不可欠な要素であるため、攻撃の格好の標的となり得ます。

さらに、DNS攻撃は、セキュリティチームの注意を真の標的から逸らすために、他のサイバー攻撃と組み合わせて展開されることがよくあります。組織は、DNS攻撃を迅速に軽減するために、他のベクトルから同時に攻撃があった場合の対処に手がかかり過ぎないようにする必要があります。

DNSに関連する一般的な攻撃とは?

攻撃者は、DNSサーバーをターゲットとし悪用する多くの方法を見つけました。最も一般的なものが紹介されています:

DNSスプーフィング/キャッシュポイズニングこれは、偽造DNSデータがDNSリゾルバーのキャッシュに導入されることで、リゾルバーがドメインに対して誤ったIPアドレスを返す攻撃です。トラフィックは正しいWebサイトではなく悪意のあるPCや、攻撃者が意図した別の場所に転送されます。多くの場合、これは、オリジナルサイトの複製で、マルウェアを配布したり、ログイン情報を不正に盗み出すような、悪意のある目的に使われるサイトです。

DNSトンネリング:この攻撃は、他のプロトコルを使用してDNSクエリと応答をトンネリングします。攻撃者は、SSH、TCP、またはHTTPを使用して、マルウェアまたは盗まれた情報をDNSクエリに渡すことができ、ほとんどのファイアウォールはこれを検出できません。

DNSハイジャック:DNSハイジャックでは、攻撃者はクエリを別のドメインネームサーバーにリダイレクトします。これはマルウェア、またはDNSサーバーの改ざんのどちらかによって実行されます。結果は、DNSスプーフィングと似ていますが、根本的に異なる攻撃であり、リゾルバーのキャッシュではなく、ネームサーバーにあるWebサイトのDNSレコードを標的とします。

DNSハイジャック

NXDOMAIN攻撃:これは、DNSフラッド攻撃の一種で、攻撃者は存在しないレコードのリクエストでDNSサーバーを氾濫させ、正当なトラフィックに対してサービス拒否を発生させようとするものです。これは、各リクエストで一意のサブドメインを自動生成する、巧妙な攻撃ツールを使用して実行されます。NXDOMAIN攻撃は、さらに再帰リゾルバーを標的とし、リゾルバーのキャッシュをジャンクリクエストであふれさせることもできます。

ファントムドメイン攻撃:ファントムドメイン攻撃は、NXDOMAIN攻撃と同様の結果をDNSリゾルバーにもたらします。攻撃者はリクエストへの応答が非常に遅いか、まったく応答しない「ファントム」ドメインサーバーを多数セットアップします。その後、リゾルバーにこれらのドメインへの大量のリクエストを送り、リゾルバーは応答を待機するため拘束され、パフォーマンスの低下とサービス拒否につながります。

ランダムサブドメイン攻撃(DNS水責め攻撃):攻撃者は正規のサイトに向けて、存在しない複数のランダムなサブドメインについてDNSクエリを送信します。目的は、ドメインの権威ネームサーバーに対するサービス拒否を発生させ、ネームサーバーからWebサイトを検索できないようにすることです。その副作用として、再帰リゾルバーのキャッシュが悪意のリクエストであふれるため、攻撃者が利用するISPも、攻撃の影響を受けることがあります。

ドメインロックアップ攻撃:攻撃者は、特別なドメインとリゾルバーを設定して他の正当なリゾルバーとのTCP接続を作成することにより、この形式の攻撃を準備します。標的となるリゾルバーがリクエストを送信すると、これらのドメインはランダムなパケットを低速で順次送り返し、リゾルバーのリソースを占有します。

ボットネットベースのCPE攻撃:これらの攻撃は、CPEデバイス(Customer Premise Equipment、これは、モデム、ルーター、ケーブルボックスなど、顧客が使用するためにサービスプロバイダーが提供するハードウェアです)を使用して実行されます。CPEが侵害/危害を受けると、デバイスはボットネットの一部となり、1つのサイトまたはドメインに対してランダムなサブドメイン攻撃を実行するために使用されます。

DNSSECとは?

DNSセキュリティ拡張機能(DNSSEC)は、この問題を軽減するために作成されたセキュリティプロトコルです。DNSSECはデータにデジタル署名することで、データの有効性を確保し、攻撃から保護します。安全なルックアップを保証するために、DNSルックアッププロセスのすべてのレベルで署名を行う必要があります。

この署名プロセスは、ペンで法律文書に署名することに似ています。署名者は、他の人には作成できない一意の署名を行い、法廷の専門家はその署名を見て、文書がその人によって署名されたことを確認できます。こうした電子署名によって、そのデータが改ざんされていないことが確認できます。

DNSSECは、DNSのすべての層で階層的デジタル署名方針を実装します。たとえば「google.com」ルックアップの場合、ルートDNSサーバーは、.COMネームサーバーのキーに署名し、.COMネームサーバーはgoogle.comの権威ネームサーバーのキーに署名します。

セキュリティは改善すべきですが、DNSSECは下方互換性があるように設計されており、追加セキュリティを実装していない従来のDNSルックアップも正確に解決できることを保証しています。DNSSECは、総合的なインターネットセキュリティ戦略の一環として、SSL/TLSなどの他のセキュリティ対策と連携することを目的としています。

DNSSECは、親子のように信頼関係でつながった列車のようになってルートゾーンまで到達します。この信頼連鎖関係では、DNSのどの層も侵害/危害を受けることは許されません。どこかの層が危険にさらされると、リクエストがオンパス攻撃に脆弱になってしまいます。

信頼チェーンを閉じるためには、ルートゾーン自身を確認する必要があります(改ざんまたは不正行為がないことを証明する)。また、これは実際には、人間の介在によって行われます。興味深いことに、ルートゾーン署名式と呼ばれるものでは、世界中から選ばれた個人が会合し、公的に監査を受けた方法で、ルートDNSKEY RRsetに署名します。

DNSSECの仕組みの詳細な説明>>>

DNSベースの攻撃から保護する他の方法は?

DNSゾーンの運用者は、DNSSECに加えてサーバーを保護するためにさらなる対策を講じることができる。インフラストラクチャのオーバープロビジョニングは、DDoS攻撃に打ち勝つための簡単な戦略の1つです。簡単に言うと、ネームサーバーが予想の数倍のトラフィックを処理できれば、ボリュームベースの攻撃がサーバーを圧倒するのは難しくなります。組織は、DNSサーバーの総トラフィック容量を増やす、複数の冗長DNSサーバーを構築する、負荷分散を使用してDNSサーバーのパフォーマンスが低下し始めたときに正常なサーバーにDNSリクエストをルーティングする、などの方法でこれを達成することができます。

もう一つの方策は、今なおDNSファイアウォールです。

DNS Firewallとは?

DNS Firewallは、DNSサーバーに多くのセキュリティとパフォーマンスサービスを提供できるツールです。DNS Firewallは、ユーザーの再帰リゾルバーと、到達しようとしているWebサイトやサービスの権威ネームサーバーの間に設置されます。ファイアウォールは、Rate Limitingサービスを提供し、サーバーを大量のクエリであふれさせようとする攻撃者をシャットダウンすることができます。サーバーが攻撃の結果またはその他の理由でダウンタイムを経験した場合、DNS Firewallは、キャッシュからDNS応答を提供することにより、オペレーターのサイトまたはサービスを維持できます。

セキュリティ機能に加えて、DNS Firewallは、さらにDNSオペレーターにより高速DNSルックアップや帯域幅コスト削減など、パフォーマンス面のソリューションエンジニアリングも提供することができます。CloudflareのDNS Firewallの詳細をお読みください。

セキュリティツールとしてのDNS

DNSリゾルバーは、エンドユーザー(インターネットを閲覧しているユーザー)にセキュリティソリューションを提供するように構成することもできます。一部のDNSリゾルバーは、マルウェアやスパムを配信することが知られているサイトをブロックできるコンテンツフィルタリングや、既知のボットネットとの通信をブロックするボットネット保護などの機能を提供します。これらのセキュリティで保護されたDNSリゾルバーの多くは無料使用でき、ユーザーはローカルルーターの設定を1つ変更するだけで、これらの再帰DNSサービスのいずれかに切り替えることができます。Cloudflare DNSはセキュリティを重視しています。

DNSクエリーはプライベートか?

DNSセキュリティのもう一つの重要な問題は、ユーザーのプライバシーです。DNSクエリーは暗号化されていません。ユーザーが自分のアクティビティを追跡しない1.1.1.1のようなDNSリゾルバを使用している場合でも、DNSクエリは平文でインターネット上を移動します。つまり、クエリーを傍受した人は誰でも、そのユーザーがどのWebサイトを訪問したかを見ることができます。

このようなプライバシーの欠如は、セキュリティをはじめ、場合によっては人権に影響を与えます。DNSクエリが非公開でない場合、政府がインターネットを検閲したり、攻撃者がユーザーのオンライン行動を追跡することが容易になります。

DNS over TLSおよびDNS over HTTPSは、外部から読み取られないようにDNSクエリーを暗号化するための2つの規格です。

CloudflareはDNSセキュリティを提供しているか?

CloudflareのDNSサービスには、DNSSEC、DDoS軽減、マルチDNS機能、負荷分散など、さまざまなセキュリティ機能が組み込まれています。