Ubuntu 16.04
 

mod_evasive を利用する
2016/06/15
 
mod_evasive モジュールを有効にして、DoS アタック対策を設定します。
[1] mod_evasive をインストールして設定します。
root@www:~#
apt-get -y install libapache2-mod-evasive
root@www:~#
a2enmod evasive

root@www:~#
vi /etc/apache2/mods-enabled/evasive.conf
# 3行目:同一ページへの DOSPageInterval (以下で設定) 秒あたりのリクエスト数のしきい値

DOSPageCount  
5
# 4行目:同一サイトの DOSSiteInterval (以下で設定) 秒あたりのリクエスト数のしきい値

DOSSiteCount  
50
# 5行目:DOSPageCount の間隔 (秒)

DOSPageInterval  
1
# 6行目:DOSSiteCount の間隔 (秒)

DOSSiteInterval  
1
# 7行目:リクエスト数がしきい値を超えた場合にアクセスをブロックする時間 (秒)

DOSBlockingPeriod  
300
# 9行目:コメント解除して設定 : ブラックリストされた IP を設定したアドレスへ通知

DOSEmailNotify  
root@localhost
# 11行目:コメント解除して設定 : ログ保管ディレクトリ

DOSLogDir   "
/var/log/mod_evasive
"
root@www:~#
mkdir /var/log/mod_evasive

root@www:~#
chown www-data /var/log/mod_evasive

root@www:~#
systemctl restart apache2
[2] パッケージに付属しているテストツールで動作確認します。
root@www:~#
perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl

HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
.....
.....
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
.....
.....
HTTP/1.1 403 Forbidden

# ブロックされると 403 Forbidden になる

# 設定した場所へログが記録される

root@www:~#
ll /var/log/mod_evasive

total 12
-rw-r--r--  1 www-data www-data    5 Jun 16 14:36 dos-127.0.0.1

# メール送信設定をした場合は以下のようなメールが送信される

From www-data@www.srv.world  Thu Jun 15 19:36:03 2016
X-Original-To: root@localhost
To: root@localhost
Date: Thu, 16 Jun 2016 14:36:03 +0900 (JST)
From: www-data@www.srv.world (www-data)

To: root@localhost
Subject: HTTP BLACKLIST 127.0.0.1

mod_evasive HTTP Blacklisted 127.0.0.1
 
Tweet