apache2でmod_evasive設定
- apache2
- IT
- サーバ
目的
DOS攻撃対策として apache2でmod_evasive設定 する。
環境
- debian
- apache2
モジュール確認・インストール
- すでにevasiveがインストールされているかどうか確認する
sudo apache2ctl -M | grep evasive
以下が表示されればインストール済み
evasive20_module (shared)
表示されなければインストール
sudo apt install libapache2-mod-evasive
evasive設定
設定ファイルを開く
sudo nano /etc/apache2/mods-available/evasive.conf
以下のように修正
-
DOSHashTable不正アクセスリストに割り当てられるメモリ容量
-
DOSPageCount
-
同一ページに対して「DOSPageInternal」で設定した時間内(秒)に「DOSPageCount」以上のアクセスがあった場合、不正アクセス対象
-
DOSSiteCount
-
同一URLに対して「DOSSiteInternal」で設定した時間内(秒)に「DOSSiteInternal」以上のアクセスがあった場合、不正アクセス対象
-
DOSPageInternal
-
DOSSiteInternal
-
DOSBlockingPeriod
-
最後のアクセスから「DOSBlockingPeriod」(秒)の後に不正アクセス対象リストから除外
-
DOSWhitelist
-
不正アクセスリストから除外
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSWhitelist 127.0.0.1
#DOSEmailNotify you@yourdomain.com
#DOSSystemCommand "su - someuser -c '/sbin/... %s ...'"
#DOSLogDir "/var/log/mod_evasive"
</IfModule>
設定を反映
sudo systemctrl restart apache2
動作確認
以下コマンドを実行して403がでたら成功
for ((i=1; i 20; i++)); do curl -I localhost; done
以上
参考サイト
他の記事はこちら