* mod_evasive [#xb04c521] ** はじめに [#kda13741] 以前から時折WEBサーバへの大量アクセスでサーバのレスポンスが低下するという現象が見られたので、対策ツールとして導入しました。 パスやバージョンは適宜読み替えて下さい。OSは、"CentOS release 6.5 (Final)" です。 ** インストール [#j6a81c74] *** ダウンロード [#qbb59877] [[http://www.zdziarski.com/blog/?page_id=442]] からダウンロードできます。ダウンロード先リンクを wget してファイルを取得します。 $ wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz ダウンロードできたら、展開します。 $ tar zxvf mod_evasive_1.10.1.tar.gz *** apxs の有無を確認する [#v30bd371] apxs が導入済みか確認します。 # updatedb # locate apxs なければ、インストールします。 # yum install httpd-devel *** apxs を用いてインストールする [#m895f9e4] mod_evasive 内の README ファイルに書いてある手順に従い、インストールします。 以下の手順のみで良いはずです。 # cd mod_evasive_1.10.1 # /usr/sbin/apxs -i -a -c mod_evasive20.c ** 設定 [#n146c693] *** ログ出力用のディレクトリを作る [#tcfa1024] 適当に作り、所有者は Apache を動作させるユーザと同じにしておきます。 # mkdir /var/log/mod_evasive # chown apache:apache /var/log/mod_evasive # mkdir /var/log/mod_evasive # chown apache:apache /var/log/mod_evasive *** httpd.conf に設定する [#w034dcd9] /etc/httpd/conf/httpd.conf を開くと、以下のような行が追加されているはずです。 LoadModule evasive20_module /usr/lib64/httpd/modules/mod_evasive20.so 上記を確認したら、下記の設定を記述します。 <IfModule mod_evasive20.c> DOSHashTableSize 3097 DOSPageCount 3 DOSSiteCount 20 DOSPageInterval 2 DOSSiteInterval 1 DOSBlockingPeriod 3600 DOSLogDir "/var/log/mod_evasive" DOSEmailNotify webmaster@hoge.jp </IfModule> ** 参考にさせていただいたページ [#x93a7df4] - [[Apache DoS攻撃にそなえる:http://dev.classmethod.jp/cloud/aws/mod_evasive20/]]([[Developers.IO:http://dev.classmethod.jp/]]) ---- ** 履歴 [#b19e6259] - 2014/10/13 bokupi 新規作成