Apache2.4 Dos攻撃に対処 mod_dosdetectorの導入方法

CentOS7、Apache2.4の環境で
Dos攻撃に対処するための mod_dosdetectorを導入する方法です。

ネット上で導入サンプル記事は たくさんあるのですが、どうしてもmod_dosdetectorが動かず。いくつかの情報を合わせ、動きましたので、まとめました。

インストール

オリジナルのhttps://github.com/stanaka/mod_dosdetector では、Apache2.4に未対応のため、そこからForkして作成されたmod_dosdetector-forkをインストールします。

◆ダウンロード/インストール

◆設定ファイルのサンプルをコピーして配置
$ cp dosdetector-sample.conf /etc/httpd/conf.d/dosdetector.conf

◆設定
$ vi /etc/httpd/conf.d/dosdetector.conf

※.htaccess の中で RewriteEngine On している場合、mod_rewrite部分は .htaccessに記述しないと有効になりません。

設定項目の説明

DoSDetection
DoS判定を行うかの設定。offにして apache再起動すれば停止する

DoSPeriod
DoS判定を行う時間を設定。(秒)

DoSThreshold
DoSPeriodの間に、この数だけアクセスがあると環境変数SuspectDoS=1がセットされます

DoSHardThreshold
DoSPeriodの間に、この数だけアクセスがあると環境変数SuspectHardDoS=1がセットされます

DoSBanPeriod
DoS判定されたIPを解除するまでの時間(秒)
環境変数SuspectDoS=1 の維持時間
※SuspectHardDoS=1 を維持する時間ではない
SuspectHardDoSは、アクセス数が DoSHardThreshold より少なくなったら直ちに解除される模様。

DoSTableSize
保持するIPアドレスの数。多すぎるとその分リソースを消費する。

apache構文チェック/反映

$ apachectl configtest
$ systemctl reload httpd

reloadで反映されない場合は
$ systemctl restart httpd


この記事をシェア