web-dev-qa-db-ja.com

LOIC(DDOS)攻撃を防ぐ方法は?

プログラムLOIC(ニュースの最後の数日で)は多くの被害を引き起こします。この種の攻撃を防ぐためにサーバーで何ができますか?奇妙な接続を受信したときにIPを自動ブロックしますか?ほとんどがシングルユーザーになるからです。

これに対する解決策はすでにありますか?

9
questions

ISC SANS このトピックの日記エントリ では、コメントの1つに非常に強力な手掛かりがあります。

DarkFiber:

私は以前、匿名とそのLOICツールからの攻撃を受け続けていた組織と協力していました。これらのDoS攻撃は特に帯域幅を集中的に使用しないため、簡単に緩和できます。ファイアウォールでIPごとの間隔ごとの接続を制限するだけで、攻撃を阻止できました。適切に構成されたチェックポイントは、これらの攻撃を完全に検出して削除できると思います。ただし、IRCチャンネルを聞くことは、このグループの1歩先を行くための最良の方法です。攻撃する前に、攻撃者がターゲットやベクターをブロードキャストすることはあまりありません。

16
sysadmin1138

@ sysadmin1138の発言に基づいてソースIPでトラフィックを制限するために、「hashlimit」と呼ばれる優れたiptablesモジュールがあります。ルールの例は次のとおりです。

iptables -A INPUT -p tcp --dport 80 -m hashlimit --hashlimit-upto 50/min \
    --hashlimit-burst 500 --hashlimit-mode srcip --hashlimit-name http -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

これにより、最大500パケットが許可されます(接続ではないため、HTTPは接続ごとに複数のトランザクションを実行できるため、これをすべてのパケットで行うか、SYNパケットのみで行うかを検討する必要があります)。 500/minを超える場合は、速度が低下するまで50/minに減速します。これらの制限の外にあるものはすべてDROPを受け取ります。

通常、一部のIPをホワイトリストに登録したいので、おそらくテーブルを作成し、それがポート80の場合はそこにジャンプし、ホワイトリストルールをそこに入れ、最後にドロップします。そうすることで、非HTTPパケットはこれらのホワイトリストルールをチェックせず、すべてのサービスでそのホワイトリストルールセットを呼び出すことができます。

また、おそらく SYN cookie を有効にする必要があるため、DoSがSYNパケットを送信している場合でも、システムへの影響はほとんどありません。

11

基本的に、このようなサービス拒否攻撃には、サーバーが処理できる以上の要求をサーバーに送信することが含まれます。これは、単純な要求を送信する多数のボット(単一のサーバーを停止するのに数十億-数千のトップを必要としないが)、または実行に長いと悪名高い要求を送信する少数のボットです。

2番目の攻撃タイプは最も悪質です。単一のボットがサーバーをダウンさせる可能性があるためです。たとえば、Mが大きくなると、MySQLのLIMIT N OFFSET Mは非常に遅くなることが知られているため、単純な攻撃は、すべてのMySQLワーカースレッドを詰まらせ、500のうち200〜300ページをすばやく連続して要求することです。保護されていないサーバーでは、これはfirebugで実行できます。唯一の解決策は、コストのかかる操作を特定してから、それらを完全に最適化するか、シーケンシャルにして(サイトのその部分が詰まってもサイトの残りの部分がダウンしないようにする)、またはコストのかかる操作を要求するIPを検出することです。特定の待機間隔が守られない限り、その操作の実行を拒否します。

最初の攻撃タイプは、多くのボットを必要とするため、簡単に取り除くことができません。一方で、サーバーから停止するのも困難です。何千ものボットがデータを可能な限り高速で送信している場合、帯域幅は洪水によって消費され、サーバーがそれに対してできることは何もありません。完全にそれらの要求の99%を拒否します)。したがって、ターゲットである可能性がある場合は、フラッド防止を備えたルーターが適しています。

ソース:stackoverflow.com

0
ashmish2

消費される帯域幅は、サイトに向けられたボットネットのサイズに依存すると思います。

から http://www.theregister.co.uk/2010/12/09/Twitter_api_wikileaks_ddos/

「ビザに対する最も壊滅的な攻撃は、水曜日のカリフォルニア時間午後1時少し前に始まりました。オーガナイザーは、IRCを介して、サイトが処理できるよりも多くのトラフィックでサイトを氾濫させるコマンドを送信しました。 "

Roryが以前に指摘したように、上流のプロバイダーからの支援なしでは、一見正当なように見える大量のリクエストを軽減することは非常に困難であり、多くの場合、Tier 2または3 ISPはプロバイダーからの支援が必要になります。深刻な攻撃を効果的に軽減するには、多くの設備投資に耐えられずに、ISPとその上流プロバイダーとの間で調整された取り組みが必要です。

トラフィックフラッドも攻撃の1つのベクトルに過ぎず、効果的に阻止するには適切なボットネットが必要です。 SYNフラッド攻撃は、ほんの一握りのホストから来る必要があるだけで、フロントエンドサーバーがすぐに機能しなくなりますが、tcpスタックが強化されていることを確認し、Webサーバーのセキュリティアプリケーションモジュールを調べて、そのようなフィルターを確認することで、これらの対策を実行できます。境界ネットワークキットで有効になっている。

購入できるtoplayerなどのddos軽減デバイスと、1つのProlexicオファーなどのDDoS軽減管理サービスがあります。

軽減する唯一の方法は、マルチレイヤーアプローチです。自分でトーストします。

0
Rowley

これらすべての提案よりも簡単です。

-A INPUT -d {your_server_ip} -p tcp -m connlimit --connlimit-above 8 --connlimit-mask 24 -j REJECT --reject-with tcp-reset

またはDROPですが、どちらも同じ結果になることはありません。

0
LOIC