ddos-学童から生き残る方法

DDoS攻撃は、分散型サービス拒否攻撃の略です。 これは、感染したコンピューターの束がサーバーに多くの要求を送信するときです。 その結果、サーバーはすべてのリソースをこれらの要求の処理に費やし、ユーザーが実際にアクセスできなくなります。 攻撃のサイズは異なる場合があり、専門家とCisco Guardのみが大規模な攻撃から救うことができます:)、そのようなソリューションには少なくとも月額1000ドルかかります。 しかし、神に感謝するそのような攻撃は非常にまれです。 ほとんどの場合、学童が通常行う単純な攻撃を目にします(彼らはすべてに興味を持っています)。 独自のボットネットを作成するのは難しくありません。購入することもできます:)。 ただし、このような攻撃は、Webプロジェクトに損害を与える可能性もあります。 攻撃が小さく、専門家に多額のお金を払いたくない場合はどうすればよいですか?


1.mod_evasive-(mod_dosevasive)HTTP DoSまたはDDoS攻撃またはブルートフォース攻撃(Apache用モジュール)

このモジュールは、httpでの小さな洪水とddos攻撃に役立ちます。
インストールは複雑ではありません。

アーカイブをダウンロードする
wget www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz

今、あなたは解凍する必要があります
tar zxvf mod_dosevasive_1.10.1.tar.gz
cd mod_dosevasive


Apache 2用にmod_dosevasiveをコンパイルする:

/usr/local/apache/bin/apxs2 -i -a -c mod_dosevasive20.c

/ usr / local / apacheは、apacheパスに置き換えます(apacheがwhereis apacheを見る)

httpd.confの編集
追加(どこで表示されると思いますか)
LoadModule evasive20_module lib/apache2/modules/mod_evasive20.so

さらにファイルの最後に
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 15
DOSEmailNotify email@for-notify.com
DOSSystemCommand ""


-DOSHashTableSize:これは、WWWサーバーへの要求を処理するハッシュテーブルのサイズです。
-DOSPageCount:指定された時間間隔中の同じIPからの1ページへの要求の数。
-DOSSiteCount:ドメインのすべてのページへのリクエストの数。つまり、1つのIPアドレスからドメインの異なるページへのリクエストが50以上受信された場合、そのようなIPはブロックされます。
-DOSPageInterval:DOSPageCountディレクティブの間隔(秒単位)
-DOSSiteInterval:DOSSiteCountディレクティブの間隔(秒)
-DOSBlockingPeriod:IPをブロックする量(秒単位)
-DOSEmailNotify:通知に使用できます。このようなIPがブロックされたことを示す電子メールメッセージを送信します。
-DOSSystemCommand:このディレクティブは、IPがブロックされたときにコマンドの一部を実行するために使用されます。 これを使用して、ファイアウォールテーブルにIPアドレスを追加できます。
(例:「/ sbin / iptables -A INPUT -p tcp --dport 80 -s%s -j REJECT」%sがIPモジュールから渡されます)
-DOSWhiteList:ホワイトIPアドレスのリスト。マスクによっても可能です(例:127.0.0。*)

2.スクリプト(D)DoS Deflate。
ddos攻撃から保護するためのスクリプトです。 それは非常に簡単に動作し、王冠で実行されます:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
次に、接続数の制限を超えたipをブロックします(これは構成で設定できます)。

3. iptablesのいくつかのルール

1つのIPから最大10接続
iptables -A INPUT-p tcp --dport 80 -m iplimit --iplimit-above 10 -j REJECT

10を超えるSYNをブロックする
iptables -I INPUT -p tcp --syn --dport 80 -j DROP -m iplimit --iplimit-above 10

40
iptables -p tcp --dport 80 -m iplimit --iplimit-above 40 --iplimit-mask 24 -j REJECT


攻撃が単一の「左」リクエストである場合、ブロックすることができます
iptables -I INPUT 1 -p tcp --dport 80 -m string --string "GET / HTTP/1.0" --algo kmp -j DROP

もちろん、これはすべてにはほど遠いですが、小さな洪水からは十分です。

Source: https://habr.com/ru/post/J71694/


All Articles