在 ubuntu 6.06 下的裝法如下。

下載 evasive:
http://www.zdziarski.com/projects/mod_evasive/

安裝編譯 evasive 的套件:
sudo apt-get install apache2-prefork-dev

編譯 evasive:
1. tar zxvf mod_evasive_1.10.1.tar.gz
2. cd mod_evasive
3. 編輯 mod_evasive20.c,把 Mail 指到你的本機或是別的。
4. sudo /usr/bin/apxs2 -i -c mod_evasive20.c


設定 evasive 模組到 apache2:
1. sudo vi /etc/apache2/mods-available/evasive.load
內容:
LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so

2. sudo vi /etc/apache2/conf.d/evasive
內容:
<ifmodule mod_evasive20.c>
    DOSHashTableSize 3097
    DOSPageCount 2
    DOSSiteCount 50
    DOSPageInterval 1
    DOSSiteInterval 1
    DOSBlockingPeriod 10
    DOSEmailNotify you@example.com
    DOSSystemCommand "su - someuser -c '/sbin/... %s ...'"
    DOSLogDir "/tmp/mod_dosevasive"
    DOSWhitelist 127.0.0.1
    DOSWhitelist 127.0.0.*
</ifmodule>


載入 evasive 模組:
sudo a2enmod evasive

重新載入 apache2 設定:
sudo /etc/init.d/apache2 force-reload

測試:
回到剛剛下載的 mod_evasive 目錄,執行 perl test.pl,如果看到 403302 就是 OK 囉!(這部份我是不清楚是怎樣才是 OK 的,因為也有出現過 HTTP/1.1 200 OK

20080703 補充:
HTTP 1.1 狀態碼與它們的用途

HTTP 1.1中的狀態碼。這些狀態碼被分為五大類:
100-199 用於指定客戶端應相應的某些動作。
200-299 用於表示請求成功。
300-399 用於已經移動的文件並且常被包含在定位頭信息中指定新的地址信息。
400-499 用於指出客戶端的錯誤。
500-599 用於支持服務器錯誤。

200 (OK/正常)
200 (SC_OK)的意思是一切正常。一般用於相應GET和POST請求。這個狀態碼對servlet是缺省的;如果沒有調用setStatus方法的話,就會得到200。

302 (Found/找到)
與301有些類似,只是定位頭信息中所給的URL應被理解為臨時交換地址而不是永久的。注意:在 HTTP 1.0中,消息是臨時移動(Moved Temporarily)的而不是被找到,因此HttpServletResponse中的常量是SC_MOVED_TEMPORARILY不是我們以為 的SC_FOUND。

403 (Forbidden/禁止)
403 (SC_FORBIDDEN)的意思是除非擁有授權否則服務器拒絕提供所請求的資源。這個狀態經常會由於服務器上的損壞文件或目錄許可而引起。


參考來源:
http://ssorc.tw/rewrite.php/read-1.html
ubuntu apache2 添加防DDOS攻击模
在Ubuntu上安装Apache的DDos模块mod_evasive (1)
在Ubuntu上安装Apache的DDos模块mod_evasive (2)
在Ubuntu上安装Apache的DDos模块mod_evasive (3)
arrow
arrow
    全站熱搜

    tern 發表在 痞客邦 留言(1) 人氣()