Apache

インストール [#j2ba74cd]

 # cd /var/log/
 # mkdir mod_evasive
 # chown apache:apache mod_evasive
 # yum install mod_evasive			<--epelのレポジトリがインストールされていればyumでインストール可能。
 # cd /etc/httpd/conf.d/
 # cp -p mod_evasive.conf mod_evasive.conf.org
 # vi mod_evasive.conf
 :%s/^/#/g
 #LoadModule evasive20_module modules/mod_evasive20.so
 >
 LoadModule evasive20_module modules/mod_evasive20.so
 # vi バーチャルホスト.confまたはhttpd.conf
 ※下記設定例を追加する
 # service httpd configtest
 # service httpd graceful

パラメーター説明 [#lcba3706]

 # DOSHashTableSize
 各子プロセスでのハッシュテーブル・サイズ。サイズを大きくするとパフォーマンスは良くなりますがメモリを消費します。
 # DOSEmailNotify
 メールの通知先
 # DOSSystemCommand
 ブラックリスト登録された際に実行されるコマンド
 # DOSLogDir
 ログの吐き出し先
 
 # DOSPageInterval
 「DOSPageCount」の設定値(秒)
 # DOSPageCount
 リクエストできるページリロード回数の上限
 # DOSSiteCount
 リクエストできるページ数の上限
 # DOSSiteInterval
 「DOSSiteCount」の設定値(秒)
 
 # DOSBlockingPeriod
 IPアドレスを遮断する時間(秒)。この遮断されている間のアクセスには403 (Forbidden)を返します
 # DOSWhitelist
 ホワイトリスト、IPアドレスベースで記述

設定例 [#i8ee469a]

 <IfModule mod_evasive20.c>
 DOSPageInterval        1
 DOSPageCount           1000
 #DOSSiteInterval         1
 #DOSSiteCount			5
 DOSBlockingPeriod       10
 DOSLogDir               /var/log/mod_evasive
 DOSWhitelist			127.0.0.1 
 DOSHashTableSize        3097
 #DOSEmailNotify         someone@somewhere.com
 </IfModule>