自分のメモとして
Apacheに対するDoS攻撃対策としてmod_evasiveをインストール
OS : ubuntu20.4
###インストール
sudo apt-get install apache2 apache2-utils -y
sudo apt-get install libapache2-mod-evasive -y
###Apacheモジュールとして有効になっているかどうか確認
sudo apachectl -M | grep evasive
###mod_evasiveの設定
sudo vim /etc/apache2/mods-enabled/evasive.conf
DOSHashTableSize 3097
DOSPageCount 3 (←1秒間に3回アクセスがあった場合)
DOSSiteCount 50 (←サイトに50回アクセスがあった場合)
DOSPageInterval 2
DOSSiteInterval 1
DOSBlockingPeriod 60 (←60秒間アクセスを拒否)
DOSWhitelist 127.0.0.1 192.168.1.*
DOSEmailNotify example@example.com
DOSLogDir “/usr/local/apache2/logs/mod_evasive_log”
(設定項目について)
DOSHashTableSize
各子プロセスでのハッシュテーブル・サイズ。
サイズを大きくするとパフォーマンスは良くなりますがメモリを消費。
DOSSiteCount
同じサイトから「DOSSiteInterval」で指定した時間(秒)内にアクセスがあった場合「403」を返す
DOSSiteInterval
「DOSSiteCount」の設定値(秒)
DOSPageCount
同じページに「DOSPageInterval」で指定した時間(秒)内にアクセスがあった場合「403」を返す
DOSPageInterval
デフォルト:1秒間隔
DOSBlockingPeriod
IPアドレスを遮断する時間(秒)。この遮断されている間のアクセスには403 (Forbidden)を返します
DOSWhitelist
検出対象外とするIPアドレス
DOSEmailNotify
ブラックリスト登録時にメール通知を行うアドレス
DOSLogDir
ログファイルの設定
###テスト
sudo perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl
###参考サイト
https://ficus-forum.myvnc.com/t/awstats/27/3