LoginSignup
33
34

More than 5 years have passed since last update.

ApacheのDOS攻撃対策

Last updated at Posted at 2014-12-10

mod_evasiveモジュールの利用

このモジュールを使用することで、 特定のIPアドレスからの過度のリクエストに対して、 アクセスブロックを実行、ブロック解除を行うことができる。

<仕組み>

(1)mod_evasiveモジュールが、URLリクエストをApacheサーバーに送信するIPアドレスの記録を取る

(2)その後、あらかじめ設定した許容範囲を超えるリクエストがいずれかのIPアドレスから送信されていないか測定する

(3)許容範囲を超えるリクエストがあった場合、そのIPアドレスからのリクエストは一時的にブロック

<設定>

下記いづれかの条件にマッチした時に、Dos攻撃とみなして、 600秒アクセス禁止(403 Forbidden)にし、XXXX@XXXX.comへ拒否IPをメールで通知する。

条件1: 同一ページへ、2秒間に3回のリクエストがあった場合 条件2: 同一サイトへ、1秒間に30回のリクエストがあった場合

設定ファイル:/etc/httpd/conf/httpd.conf

httpd.conf
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 3
DOSSiteCount 30
DOSPageInterval 2 
DOSSiteInterval 1 
DOSBlockingPeriod 600 
DOSWhitelist 127.0.0.1 192.168.1.*
DOSLogDir “/var/log/mod_evasive”
DOSEmailNotify XXXX@XXXX.com 
</IfModule> 

※DOSHashTableSizeの値を大きくすることで、記録できるIPアドレスの数は多くなる

<その他>

モジュール配布サイト:
http://www.zdziarski.com/blog/?page_id=442
参考サイト:
http://dev.classmethod.jp/cloud/aws/mod_evasive20/
http://blog.livedoor.jp/imura81gt/archives/24866172.html

mod_evasiveのインストールから設定

tar zxvf mod_evasive_1.10.1.tar.gz

cd mod_evasive

/usr/local/apache2/bin/apxs -i -a -c mod_evasive20.c

cd /usr/local/apache2/modules

ls -l mod_evasive20.so

-rwxr-xr-x 1 root root 51287 Mar 1 15:33 mod_evasive20.so

mkdir /var/log/mod_evasive/

chown apache:apache /var/log/mod_evasive/

cd /usr/local/apache2/conf

vi httpd.conf

httpd.conf
LoadModule evasive20_module   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 xxxxx@xxxx.jp ←拒否したIPアドレスをメール送付。
</IfModule>

:wq

service httpd restart

/usr/local/apache2/bin/apachectl -M

cd /usr/local/src/mod_evasive

chmod +x test.pl

/usr/local/src/mod_evasive/test.pl

33
34
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
34