* 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 新規作成

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS