以下のコマンドでインストールする。
su yum install httpd-devel -y cd /usr/local/src git clone https://github.com/stanaka/mod_dosdetector.git cd mod_dosdetector make make install exit
sudo vim /etc/httpd/conf/httpd.conf
以下のように設定する。ELB配下ではクライアントのIPはX-Forwarded-Forに格納されているので、DoSForwardedをonにする必要がある。
<IfModule mod_dosdetector.c> DoSDetection on DoSForwarded on DoSPeriod 60 DoSThreshold 5 DoSHardThreshold 10 DoSBanPeriod 60 DoSTableSize 100 DoSIgnoreContentType image/* </IfModule>
以下のコマンドで再起動する。
sudo /etc/init.d/httpd restart vim ~/site/webroot/.htaccess
mod_dosdetectorは環境変数がセットされるだけなので、htaccessで環境変数に応じたステータスを返すようにする。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{ENV:SuspectDoS} .+ RewriteRule .* - [R=503,L] RewriteCond %{ENV:SuspectHardDoS} .+ RewriteRule .* - [R=503,L] </IfModule>