
mod_evasive 是Apache服務器的防CC攻擊的一個模塊,它可以檢測和限制同個IP的請求次數,達到一定條件時執行命令(如使用iptables封禁IP),雖然并不能完全防御CC攻擊,但在一定條件下能起到緩解Apache服務器的壓力。
1)預安裝:
yum install httpd-devel
2)獲得mod_evasive,解壓,安裝。
cd /usr/src
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
tar xzf mod_evasive_1.10.1.tar.gz
cd mod_evasive
/usr/sbin/apxs -cia mod_evasive20.c
3)添加配置文件
vi /etc/httpd/conf/httpd.conf,在LoadModule evasive20_module /usr/lib/apache/mod_evasive20.so下面添加引用httpd-evasive.conf文件。
LoadModule evasive20_module /usr/lib/apache/mod_evasive20.so
Include /etc/httpd/conf/extra/httpd-evasive.conf
httpd-evasive.conf文件的內容如下:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097(哈希表大小,無需修改)
DOSPageCount 2(允許單IP的最大并發連接(瞬間值)
DOSSiteCount 50(允許單臺機在指定秒數內訪問同一頁的次數)
DOSPageInterval 1 單頁請求檢測時間(默認1秒)
DOSSiteInterval 1 全站請求檢測時間(默認1秒)
DOSBlockingPeriod 3600 黑名單封禁時間(默認3600秒)
DOSEmailNotify someone@somewhere.com有新黑名單記錄通知管理員
DOSSystemCommand “iptables -A INPUT -s %s -j DROP” 進黑名單執行命令
</IfModule>
4)重啟apache
/etc/init.d/httpd restart
教程參考
1、https://library.linode.com/web-servers/apache/mod-evasive
2、http://www.kwx.gd/CentOSApp/CentOS-DA-mod-evasive.html
3、mod_evasive官方博客http://www.zdziarski.com/blog/?page_id=442