web-dev-qa-db-ja.com

NTP IPTablesのリフレクション攻撃に対処する

同じ場所にあるサーバーで NTPリフレクション/増幅攻撃 を処理しています。この質問は、NTPリフレクション攻撃への対応に固有のものであり、一般にDDoSに向けられたものではありません。

こちらがトラフィックです。

router network traffic graph

それは私たちのルーターに少しのCPUをかき混ぜています:

router CPU usage graph

残念ながら、上流のプロバイダーにトラフィックをブラックホール化させるほどの大きさではありません。つまり、トラフィックが通過してきます。

次のルールを使用して、ポート123から発信されるNTP=トラフィックをブロックします。

-p udp --sport 123 -j DROP

これは、IPTablesのfirstルールです。

私はたくさん検索しましたが、IPTablesを使用してNTPリフレクション攻撃を軽減する方法についての情報はあまりありません。そして、そこにある情報の一部は正しくないように見えます。これはIPTablesですか?ルールは正しいですか?NTPリフレクション/増幅攻撃を軽減するために、アップストリームネットワークプロバイダーに連絡する以外に追加または実行できることはありますか?

また、これらの攻撃者はネットワークを使用している必要があるため、

  • パケット内のIPアドレスのスプーフィングを許可する
  • 2010年頃のパッチが適用されていないNTPコード

これらのIPアドレスを報告できるグローバルクリアリングハウスはありますか?スプーフィングされたパケットの許可を停止するように修正され、NTPサーバーにパッチを適用しますか?

16
Jeff Atwood

基本的に、DDoS攻撃がインターネットへのパイプをすべて満たすことができれば幸運です(これは、UDPリフレクション攻撃の目的です-パイプを満たすためです)。アップストリームリンクが1 Gbpsのトラフィックを消費する可能性があり、合計で2 Gbpsのトラフィックがリンクを下りる場合、その半分は、パケットをリンクに送り込んでいるルーターまたはスイッチによってドロップされます。攻撃者は攻撃トラフィックの半分がドロップされることを気にしませんが、顧客はそうします:TCP接続での50%のパケット損失はひどいものになりますひどい =これらの接続のパフォーマンスと信頼性に関するもの。

あります  ボリュームDDoS攻撃を阻止する3つの方法:

  1. 攻撃トラフィックがそれを満たさないほど十分に大きいパイプを用意します。
  2. 攻撃パケットがパイプを下る前に停止します。
  3. NTPリフレクション攻撃を受けていない別のIPアドレスにシフトします。

Iptablesでそれらをブロックしても、スクワットは行われません。それまでに、攻撃トラフィックは正当なトラフィックを絞り出してフロアにドロップさせたので、攻撃者は勝ちました。攻撃トラフィックを転送している上流のルーターまたはスイッチを(おそらく)制御していないため、そうです。上流のネットワークプロバイダーに連絡して、somethingを停止してもらう必要があります。ネットワークリンクに到達することによる攻撃トラフィック

  • 攻撃ポートのすべてのトラフィックをブロックします(ほとんどのISPが$REASONSのコロコロカスタマーアクセスルーターで喜んで行うことではありません)。

  • 攻撃の送信元IPアドレスをフィルターで除外します(S/RTBHを使用すると、もっとも可能性が高くなりますが、すべてのプロバイダーがすでに利用できるものではありません)。

  • 最悪の場合、宛先IPアドレスをブラックホール化

IPのブラックホール化は、動作を継続できる他のIPアドレスを取得した場合にのみ機能することに注意してください。プロバイダーが唯一のIPアドレスをブラックホール化した場合、インターネットから離れているため、攻撃者は成功しました。そもそも。

20
womble

私はあなたがあなた自身のルーター/ファイアウォールで終わるあなたのISPへのパイプを持っていると仮定します。次に、そのルーター/ファイアウォールの背後に独自のマシンがあります。 ISPはトラフィックをブロックしないので、自分で処理する必要があります。ルーター/ファイアウォールの負荷を最小限に抑えながら、ルーター/ファイアウォールでトラフィックをブロックして、背後のマシンにトラフィックが到達しないようにする必要があります。

あなたのルールは、標準ポートでntpサーバーから来たものをすべてドロップするのに適しています。実際にntpを使用している場合は、ファイアウォールルールに穴を開ける必要がある場合があることを覚えておいてください。

ファイアウォールが接続追跡を使用している場合(ほとんどの場合)、「raw」テーブルを使用して、パケットが接続追跡マシンに到達する前にパケットをドロップすることができます。

iptables -t raw -A PREROUTING -p udp --sport 123 -j DROP

5
Peter Green

NTP abuse(およびうまくいけば、NTP patching))のIPを報告できるようです

http://openntpproject.org/

スプーフィングされたIPを許可するレポートネットワークについては、 あまり見つかりません

私たちの測定結果は、調査した自律システムとネットブロックの約25%でスプーフィングが依然として蔓延していることを示しています。さらに重要なことに、スプーフィングされたトラフィックの単一のエントリポイントは、攻撃者にスプーフィングされたトラフィックをインターネット全体に送信する手段を提供します。 ISPは、フィルタリング[RFC2827]を使用して、発信トラフィックがスプーフィングされないようにすることができます。

おそらく唯一の方法は、ISPに直接連絡することですか?

1
Jeff Atwood