2010年1月18日月曜日

mod_dosdetector-forkを導入する

なんかDos攻撃を食らっているようなので、mod_dosdetector-forkを導入します。
http://wp.serpere.info/archives/tag/mod_dosdetector

導入先はgatekeeper01にします。

■初回のみRPMパッケージ作成 ※作ったrpmファイルは保存しておく。
# yum install rpm-build
# wget http://cloud.github.com/downloads/tkyk/mod_dosdetector-fork/mod_dosdetector-fork-1.0.0.tar.gz
# wget http://cloud.github.com/downloads/tkyk/mod_dosdetector-fork/mod_dosdetector-fork.spec
# cp mod_dosdetector-fork-1.0.0.tar.gz /usr/src/redhat/SOURCES/
# rpmbuild -bb mod_dosdetector-fork.spec
# cp /usr/src/redhat/RPMS/x86_64/mod_dosdetector-fork-1.0.0-1.x86_64.rpm ~

■インストール
# rpm --install mod_dosdetector-fork-1.0.0-1.x86_64.rpm

■設定
# vi /etc/httpd/conf.d/dosdetector.conf

↓以下のコメントを外す

DoSIgnoreContentType image|javascript|css


LogFormat "%{SuspectHardDoS}e %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" dosdetector
CustomLog logs/dos_suspect_log dosdetector env=SuspectDoS

ちなみに代表的な設定部分は以下の通り(デフォルト)
DoSDetection on
DoSPeriod 5
DoSThreshold 20
DoSHardThreshold 35
DoSBanPeriod 30
DoSTableSize 100
DoSShmemName mod_dosdetector

○オプションの主な意味
http://labo.opengroove.com/blog/2009/11/18/mod_dosdetector-%E3%81%A7dos%E5%AF%BE%E7%AD%96/

○備考
CustomLogはバーチャルドメインごとに定義すること

■監視
# tail -f /var/log/httpd/dos_suspect_log

■テスト
# ab -n100 -c100 http://192.168.0.34/

■ちなみにアンインストール
rpm --erase mod_dosdetector-fork

0 件のコメント: