Apacheではサーバーへの大量パケットが投げられるというDDOS攻撃の対策として
mod_evasive
というモジュールを利用することが出来ます。
これは大量アクセスへ対策するもので、デフォルトのままで
- 同一ページへ1秒間に2回以上のアクセスでブロックリスト追加
- 同一サイトへ1秒間に50回以上のアクセスでブロックリスト追加
- 最後のアクセスから10秒後にブロックリスト解除
という挙動をしてくれるものです。
手順として
httpd -l
を実行。出て来る一覧に
mod_so.c
が存在することを確認します。
無ければhttpd24u-develというものをインストールする必用があるようです。
コマンドで
evasive~~
が存在しないことを確認します。存在していれば既に導入済みです。
インストールします
sudo yum install epel-release
sudo yum install --enablerepo=epel mod_evasive
設定します。
sudo nano /etc/httpd/conf.d/mod_evasive.conf
デフォルトではこのようになっていました。
DOSHashTableSize 3097 プロセスのハッシュテーブルサイズ
DOSPageCount 2 同一ページへのアクセス数
DOSSiteCount 50 同一サイトへのアクセス数
DOSPageInterval 1 何秒間に上記アクセス数をカウントするか
DOSBlockingPeriod 10 何秒後に解除するか
Apacheの再起動
sudo systemctl restart httpd.service
インストールの確認
ひとまずこれでOKです。