服務器遭受到DDOS***,能夠說防不勝防,apache
可是做爲apache服務器,能夠安裝一些模塊必定程度上減緩DDOS的***服務器
至於想了解DDOS詳細信息的朋友,能夠到網上搜索一下ide
=================================測試
首先要下載 mod_evasive_1.10.1.tar.gz網站
如今我登錄到服務器,準備把 mod_evasive_1.10.1.tar.gz 傳送到服務器上spa
進行解壓:日誌
# tar zxvf mod_evasive_1.10.1.tar.gzget
mod_evasive/
mod_evasive/.cvsignore
mod_evasive/LICENSE
mod_evasive/Makefile.tmpl
mod_evasive/README
mod_evasive/mod_evasive.c
mod_evasive/mod_evasive20.c
mod_evasive/mod_evasiveNSAPI.c
mod_evasive/test.pl
mod_evasive/CHANGELOG
咱們先不進行安裝, 解壓出來 有一個文件 test.pl ,是用Perl語言寫的,
是測試服務器用的, 咱們先來測試一下服務器(在沒有安裝減緩DDOS的狀況)it
進入到目錄io
# cd mod_evasive
# chmod 755 test.pl
下面進行測試
[root@localhost mod_evasive]# ./test.pl
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
......................下面省略,太多了,均可以正常訪問,沒有任何防護DDOS***
===============================================
好了,下面開始 安裝,安裝後 咱們還會進行測試 , 先後進行對比。
2.安裝 (我這裏使用apache是 2.2.8的版本)
# cd mod_evasive
注意你本身服務器apache的安裝目錄和位置,路徑可能和個人不同
# /usr/local/apache2/bin/apxs -i -a -c mod_evasive20.c
編譯成功。
模塊就自動編譯安裝進 /usr/local/apache2/modules,
自動在httpd.conf裏添加
LoadModule evasive20_module modules/mod_evasive20.so
3.配置
# vi /etc/httpd.conf
在配置文件最後面, 添加下面內容
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 3600
DOSEmailNotify 17rumen@17rumen.com
DOSLogDir "/var/log/mod_evasive"
</IfModule>
保存退出,
新建目錄:
mkdir /var/log/mod_evasive
從新啓動apache2,配置完畢。
[root@localhost mod_evasive]# /usr/local/apache2/bin/apachectl stop
[root@localhost mod_evasive]# /usr/local/apache2/bin/apachectl start
4.再次測試
./test.pl
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
能夠看到已經有一些訪問出現 403 Forbidden, 說明配置成功,
必定狀況下抵擋防護DDOS的***, 固然若是是服務器機器承受不了,或者
帶寬不夠, DDOS仍是比較難防的,不過咱們抵擋一部分算一部分。呵呵
===========================================
最後說明配置文件的一些參數表明意思,這裏我就很少說了,本身看
這個也是我網上覆制下來的。
說明:
DOSHashTableSize 3097
#記錄和存放黑名單表大小,若是服務器訪問量很大,能夠加大該值.
DOSPageCount 5
#同一個頁面在同一時間內能夠被同一個用戶訪問的次數,超過該數字就會被列爲***,同一時間的數值能夠在DosPageInterval參數中設置.
DOSSiteCount 100
#同一個用戶在同一個網站內能夠同時打開的訪問數,同一個時間的數值在DOSSiteInterval中設置。
DOSPageInterval 2
#設置DOSPageCount中時間長度標準,默認值爲1。
DOSSiteInterval 2
設置DOSSiteCount中時間長度標準,默認值爲1。
DOSBlockingPeriod 3600
#被封時間間隔秒,這中間會收到 403 (Forbidden) 的返回。
DOSEmailNotify 17rumen@17rumen.com
#設置受到***時接收***信息提示的郵箱地址。
DOSLogDir "/var/log/mod_evasive" #***日誌存放目錄,注意這個目錄的權限,是運行apache程序的用戶。