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>