
mod_evasive 是Apache服務(wù)器的防CC攻擊的一個(gè)模塊,它可以檢測(cè)和限制同個(gè)IP的請(qǐng)求次數(shù),達(dá)到一定條件時(shí)執(zhí)行命令(如使用iptables封禁IP),雖然并不能完全防御CC攻擊,但在一定條件下能起到緩解Apache服務(wù)器的壓力。
1)預(yù)安裝:
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文件的內(nèi)容如下:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097(哈希表大小,無(wú)需修改)
DOSPageCount 2(允許單IP的最大并發(fā)連接(瞬間值)
DOSSiteCount 50(允許單臺(tái)機(jī)在指定秒數(shù)內(nèi)訪問(wèn)同一頁(yè)的次數(shù))
DOSPageInterval 1 單頁(yè)請(qǐng)求檢測(cè)時(shí)間(默認(rèn)1秒)
DOSSiteInterval 1 全站請(qǐng)求檢測(cè)時(shí)間(默認(rèn)1秒)
DOSBlockingPeriod 3600 黑名單封禁時(shí)間(默認(rèn)3600秒)
DOSEmailNotify someone@somewhere.com有新黑名單記錄通知管理員
DOSSystemCommand “iptables -A INPUT -s %s -j DROP” 進(jìn)黑名單執(zhí)行命令
</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