比思論壇

標題: Apache 如何防止DDoS攻擊? [打印本頁]

作者: admin    時間: 2011-6-10 13:51
標題: Apache 如何防止DDoS攻擊?
DDoS (distributed denial-of-service) 及 DoS (denial-of-service) 在網路上十分常見,而 DoS 攻擊所傳送的請求跟正常的請求一樣,分別在於每秒鐘發出大量請求到伺服器,使伺服器的負載增加,最常見的情況是伺服器暫停服務。
而 mod_evasive 則是一個預防 Apache 遭受 DDos 攻擊的模組,可以防止同一個 IP 對相同 URI 發出的大量請求,可設定的選項有:
– 限制同一個 IP 在一定秒數內請求一個頁面或檔案的次數。
– 限制同一個 IP 一秒內只可發出 50 個請求。
– 設定被禁止的 IP 封鎖時間。

以下是 mod_evasive 的安裝方法:
1. 先將原來的 httpd.conf 備份起來。

2. 到 http://www.zdziarski.com/projects/mod_evasive/ 下載 mod_evasive。

3. 在指令模式解壓及編譯 mod_evasive:

  1. tar zxvf mod_evasive_1.10.1.tar.gz

  2. cd mod_evasive/

  3. apxs -cia mod_evasive20.c
複製代碼

以上的 apxs 會放在 Apache 的 bin 目錄內;如果 Apache 版本是 1.3 的話,指令要改為:

  1. apxs -cia mod_evasive.c
複製代碼

安裝好 mod_evasive 後,便要修改 httpd.conf 內容。


4. 開啟 httpd.conf,加入以內容:
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
DOSBlockingPeriod 600
DOSHashTableSize — 這是佔用記憶體的大小,如果伺服器比較繁忙,這個數值要設定大一點。
DOSPageCount — 同一 IP 在一個時段內可以存取同一頁面的次數,超過會被禁止。
DOSSiteCount — 同一 IP 在一個網站內可以佔用多少 Object,超過會禁止。
DOSPageInterval — DOSPageCount 內的時段設定。
DOSSiteInterval — DOSSiteCount 的時間設定,以秒為單位。
DOSBlockingPeriod — 當發現疑似攻擊後,使用者會收到 403 Forbidden,這是設定封鎖的時間,以秒為單位。


5. 最後重新啟動 Apache 即可。



作者: admin    時間: 2011-7-1 04:41
yyest 發表於 2011-6-30 08:54
較有技巧的黑客(如果這樣可稱作黑客的話)都會造大量假IP…再攻擊…
若阻了假IP,真正擁有IP的用户反而無 ...


IIS 也有類似這樣的模組Dynamic IP Restrictions
DDOS肉雞攻擊,是沒有完全低檔的能力,只能把傷害降到最低而已。
或者加裝硬體防火牆
IIS 可以加裝一些冰盾等等軟件..
作者: admin    時間: 2011-7-1 04:42
yyest 發表於 2011-6-30 08:54
較有技巧的黑客(如果這樣可稱作黑客的話)都會造大量假IP…再攻擊…
若阻了假IP,真正擁有IP的用户反而無 ...

假IP有多數是外國IP..可以運用封鎖來減到最低程度傷害。
作者: bybds    時間: 2011-7-1 17:55

作者: admin    時間: 2011-7-1 19:33
yyest 發表於 2011-7-1 10:51
好似有看過在那兒可以設定server 的 回應等待時問,time wait 啥來的?
也只能降低server負載了。 ...

是可以設定禁止回應時間的
作者: blueleon    時間: 2011-8-7 12:06
咱还是小鸟,要好好学习
作者: ohye    時間: 2011-9-10 07:38
收藏起来,有机会尝试一下
作者: ohye    時間: 2011-9-10 07:40
阻了假IP,真正擁有IP的用户反而無法正常防問

但对系统是有益的,长期来看,断了黑客攻击的兴趣,对正常访问的用户还是有好处的




歡迎光臨 比思論壇 (http://108.170.5.102/) Powered by Discuz! X2.5