web-dev-qa-db-ja.com

オープンDNSリゾルバーとは何ですか?ハッカーによるサーバーの誤用を防ぐにはどうすればよいですか?

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

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

これは何を意味するのでしょうか?この攻撃はどのように機能しますか?そして、このように悪用されることからシステムをどのように保護できますか?

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

15
JSideris

「オープン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; };

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


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

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

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

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

  • 驚いたことに、Windows DNSでは、再帰的なDNS要求が受け入れられるアドレスを制限することはできません。そのため、これは実際にはマイクロソフトが推奨する方法です。
  • enter image description here
    • DNSルール(TCPおよびUDP)を選択し、Remote IP addressセクションを追加し、LANで使用中のサブネットと、Active Directoryへのアクセスを必要とするサーバーのパブリック向けIPアドレスを追加します。 BINDの例と同様に、IPv4プライベートアドレススペースは127.0.0.0/810.0.0.0/8192.168.0.0/16および172.16.0.0/12

3. 再帰を無効にする

  • DNSとADが環境でどのように構成されているかをまだ明言していないため、これが環境にどのような影響を与えるかは正直わかりません。したがって、これが最後のオプションです。
  • enter image description here
    1. DNSマネージャーを開きます。
    2. コンソールツリーで、該当するDNSサーバーを右クリックし、[プロパティ]をクリックします。
    3. どこ?
    4. DNS /該当するDNSサーバー
    5. 詳細設定タブをクリックします。
    6. [サーバーオプション]で、[再帰を無効にする]チェックボックスをオンにし、[OK]をクリックします。
      • マルチフォレスト環境があり、そのためには条件付きフォワーダーを使用するため、このボックスをオンにすることはしません。あなたも同様に検討する必要があるかもしれません。
28
HopelessN00b