一、mod_evasive 介紹
mod_evasive 是Apache(httpd)服務器的防DDOS的一個模塊。對于WEB服務器來說,是目前比較好的一個防護DDOS攻擊的擴展模塊。雖然并不能完全防御DDOS攻擊,但在一定條件下,還是起到緩服Apache(httpd)服務器的壓力。如配合iptables、硬件防火墻等防火墻設備配合使用,可能有更好的效果。
mod_evasive 的官方地址: http://www.zdziarski.com/
二、mod_evasive 工作原理
Apache模塊mod_evasive利用Hash表儲存相應的HTTP請求,利用設定規則判斷是否拒絕對方的請求。
三、mod_evasive 安裝
代碼如下:
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
tar zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive/
apxs -i -a -c mod_evasive20.c
#編譯、安裝、并加載模塊
#注:apxs 用于編譯模塊工具;如果是用系統自帶的軟件包,一般位于/usr/sbin目錄。如果您是自己編譯安裝Apache(httpd)的,你應該自己來指定路徑;
在編譯安裝完成后,會自動插入一行到Apache 配置文件中,對于Apache 2.x 版本中,應該在其配置文件中有類似下面的一行;
代碼如下:LoadModule evasive20_module lib/httpd/modules/mod_evasive20.so
四、配置mod_evasive
代碼如下:
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
#加入以下配置
<IfModule mod_evasive20.c>
DOSHashTableSize 3097 #表大小
DOSPageCount 2 #限制單位時間內同一IP請求同一網頁次數
DOSSiteCount 10 #限制單位時間內同一IP請求網站次數
DOSPageInterval 1 #網頁存取間隔
DOSSiteInterval 1 #網站存取間隔
DOSBlockingPeriod 10 #限制訪問時間
DOSEmailNotify #疑似攻擊時郵件通知
DOSSystemCommand "su - onovps -c iptables -I INPUT -s %s --dport 80 -j DROP"
#疑似攻擊時用防火墻限制IP訪問80端口
DOSLogDir "/var/log/ #日志目錄
DOSWhiteList 127.0.0.1 #添加白名單
</IfModule>
如果您不知道把這些插入到哪,用下面的辦法做也是可以的;
在/etc目錄中創建一個文件,比如mod_evasive.conf;
代碼如下:[root@localhost ~]#touch /etc/mod_evasive.conf
然后把根據自己的Apache版本來加入相應的內容;
接著我們再修改 httpd.conf ,在最后一行加入
代碼如下:Include /etc/mod_evasive.conf
修改完成后,我們要重啟Apache服務器使配置生效:
代碼如下:/etc/init.d/httpd restart
五、測試mod_evasive
防DDOS的模塊做好后,我們可以要驗證,可以用Apache 自帶的ab工具,系統默認安裝在/usr/sbin目錄中;比如;
新聞熱點
疑難解答