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
もちろん、これはすべてにはほど遠いですが、小さな洪水からは十分です。