Apache用のDos対策モジュールmod_dosdetectorの改造版を入れてみた
本家との違いは
DoSチェックの対象としないアクセスを環境変数で指定できる
不要なサブリクエストの生成処理を取り除くことでパフォーマンスが改善されている
共有メモリ処理が改善されている
みたいです
便利だと思ったのが除外するファイルをcontent-typeで指定しないといけないのだが
改造版だとURLで除外できる
本家の場合は DoSIgnoreContentType image|javascript|css
改造版は SetEnvIf Request_URI “\.(gif|jpe?g|ico|js|css|png)$” NoCheckDoS
改造版のサイトはこちら
入れ方は以下
wget
tar xvzf mod_dosdetector-fork-1.0.0.tar.gz
cd mod_dosdetector-fork-1.0.0
make
make install
mv dosdetector-sample.conf /etc/httpd/conf.d/dosdetector.conf
設定ファイルを変更
vi /etc/httpd/conf.d/dosdetector.conf
私はこのように設定したがこれでいいのかまだわからない
SetEnvIf Request_URI “\.(gif|jpe?g|ico|js|css|png)$” NoCheckDoS
DoSDetection on
DoSPeriod 10
DoSThreshold 10
DoSHardThreshold 25
DoSBanPeriod 60
DoSTableSize 100
DoSShmemName mod_dosdetector#以下はVirtualHostを使ってるなら<VirtualHost>内にも書き込み(.htaccessにも書けるらしい
LogFormat “%{SuspectHardDoS}e %h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” dosdetector
CustomLog logs/dos_suspect_log dosdetector env=SuspectDoSRewriteEngine On
RewriteCond %{ENV:SuspectHardDoS} =1
RewriteRule .* – [R=503,L]