オープンDNSリゾルバーとは何ですか?また、ハッカーによる悪用からサーバーを保護するにはどうすればよいですか?


15

私はコンピューターのセキュリティの最強の背景を持っていませんが、昨日、会社のサーバーの1つがホストによってシャットダウンされました。

WebサイトやAPIを含むいくつかのWebサービスアプリケーションをホストするパブリックIPが割り当てられたサーバーです。私のサーバーは「サービス拒否攻撃を外部エンティティに中継するために使用されているオープンDNSリゾルバを実行している」と言われました。

これは何を意味するのでしょうか?この攻撃はどのように機能しますか?そして、このようにシステムが悪用されないようにするにはどうすればよいですか?

私の場合、問題のサーバーはWindows Server 2012上にあり、Active DirectoryドメインのDNSを提供しています。


使用しているDNSサーバーをお知らせいただければ、おそらく、どの設定をどのように設定する必要があるかを誰かが正確に伝えることができます。BINDは最も一般的なDNSサーバーであり、プライベートアドレススペースは安全なので、その情報がなければ、BINDとすべてのプライベートIPアドレススペースを推測しました。必要に応じて、外部アドレスブロックからの再帰的な要求も許可したいでしょう。
HopelessN00b 14

@ HopelessN00bありがとう、あなたの答えはとても役に立ちました。私はBINDを使用していません(私のホストも私がいると想定し、実行するコマンドを提供してくれました)。IISの役割としてDNSサーバーをセットアップしています。おもしろいです。DNSサーバーを手動で構成しなかったので、なぜこれが必要なのかをよく理解しているかどうかわかりません。無効にすると何が壊れますか?
JSideris 14

ええと、Windows環境ではDNSを無効にしないでください。Active Directoryが破損する可能性があります。Windows Serverのバージョンを教えてください。WindowsDNSボックスを保護する方法を示すために、(おそらく)スクリーンショットで編集できます。
HopelessN00b 14

わかった。今週末、実際にActive Directoryをセットアップしました。Windows Server 2012標準です。
JSideris

回答:


28

「オープンDNSリゾルバー」は、インターネット上のすべてのユーザーの再帰的なDNSルックアップを解決するDNSサーバーです。単純な認証の欠如により、悪意のあるサードパーティが安全でない機器を使用してペイロードを伝播できるという点で、これはオープンSMTPリレーによく似ています。オープンSMTPリレーでは、問題はスパムを転送することです。オープンDNSリゾルバの問題は、DNS増幅攻撃として知られるサービス拒否攻撃を許可することです。

この攻撃の仕組みは非常に簡単です-サーバーは誰からの再帰DNSクエリも解決するため、攻撃者はサーバーに大量のデータを返す再帰DNSクエリを送信することでDDoSに参加させることができます。元のDNS要求パケット。IPアドレスをスプーフィング(偽造)することで、この余分なトラフィックを被害者のコンピューターではなく被害者のコンピューターに転送します。もちろん、サーバーや他のオープンDNSにできるだけ多くのリクエストを送信します。彼らが見つけることができるリゾルバ。このようにして、比較的小さなパイプを持っている人は、パイプ上のすべての帯域幅を使用して犠牲者に大量のトラフィックを送信することにより、サービス拒否攻撃を「増幅」できます。

ArsTechnicaは、最近のSpamhausに対するDNS Amplification DDoS攻撃についてまともな記事を書いており、基本を理解するためにすぐに読む価値があります(そして増幅の優れたビジュアル)。

このような悪用からシステムを保護する最も簡単な方法は、サーバーがローカルサブネットに対して再帰的な検索を実行するアドレスを制限することです。(詳細は、もちろん、使用しているDNSサーバーによって異なります)。


たとえば、BIND 9を使用していて、外部アドレスからのDNS再帰を単に防止したい場合、構成で次のコードを使用します。

options {
    directory "/var/named/master";
    allow-recursion { 127.0.0.1; 10.0.0.0/8; 192.168.0.0/16; 172.16.0.0/12; };

このコード行は、ローカルループバックアドレス(ローカルループバックブロック、/ 8全体に設定できると思う)と3つのプライベートIPv4アドレススペースに対する再帰DNS要求のみを処理するようにBINDサーバーに指示します。


使用していると言うWindows Server 2012には、以下のオプションがあります。

1. DNSサーバーをIISサーバーから分離します。

  • 少なくとも完璧な世界では、IISと同じボックスでDNSを実行する必要はありません。
    • NATされていない内部ボックスにDNSを配置して、外部の世界がそれを取得できないようにし、IISを他の世界がアクセスできる外部向けのボックスに常駐させます。デュアルホーミングまたはファイアウォールルールを使用して、IISサーバーからDNSサーバーへのアクセスを選択的に許可できます。

2.組み込みのWindowsファイアウォールなどのファイアウォールで外部DNS要求をブロックします。

  • 驚いたことに、Windows DNSでは、再帰DNS要求が受け入れられるアドレスを制限することは許可されていないため、これは実際にはMicrosoftが推奨する方法です。
  • ここに画像の説明を入力してください
    • DNSルール(TCPおよびUDP)を選択し、Remote IP addressセクションに移動して、LANで使用中のサブネット、およびActive Directoryへのアクセスを必要とするサーバーの公開IPアドレスを追加します。BINDの例と同様に、IPv4のプライベートアドレス空間がある127.0.0.0/8 10.0.0.0/8 192.168.0.0/16172.16.0.0/12

3. 再帰を無効にします

  • あなたの環境でDNSとADがどのように設定されているかを実際に述べていないので、これがあなたの環境にどのような影響を与えるかは正直わかりません。
  • ここに画像の説明を入力してください
    1. DNSマネージャーを開きます。
    2. コンソールツリーで、該当するDNSサーバーを右クリックし、[プロパティ]をクリックします。
    3. どこ?
    4. DNS /適用可能なDNSサーバー
    5. [詳細設定]タブをクリックします。
    6. [サーバーオプション]で、[再帰を無効にする]チェックボックスをオンにして、[OK]をクリックします。
      • マルチフォレスト環境があり、それを機能させるために条件付きフォワーダーを使用しているため、そのボックスをチェックしません。同様に考慮する必要があるかもしれません。

素晴らしい答えです!
フレッドマジックワンダードッグ14

完璧で、十分に文書化されたソリューション:)。
JSideris 14

2
それでは、8.8.8.8または1.1.1.1はどのようにして自分自身がオープンリゾルバになるのを防ぎますか?
LinuxBabe
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.