Denial of Service 或者可以稱為 “阻絕服務攻擊”。這個名稱您也經常聽見,在很多地方都發生。其實 Denial of Service 所傳送的請求和正常的是一樣,只是每分鐘傳送數以十計以上請求傳送至伺服器中。令伺服器每秒處理十分大量的工作。受到這一種攻擊,輕則只有伺服器暫時停止服務。重則張會把伺服器中的硬件破壞。有不少例子都是由於伺服器在同一時間處理十分大量的工作後,CPU 最後壞了。
最近我的其中一個網站受到這些不明來歷的 Denial of Service 攻擊,令伺服器停了。不過搜尋了不少網站,終於找到了一個方法。不過不知道是否可行的。我所使用的是 mod_dosevasive。雖然是第一次用,不過是否真的能夠防止就必須等到下一次受到攻擊使知道。
mod_dosevasive 的使用方法:
首次下載 mod_dosevasive 1.1 版本。
然後解壓 mod_dosevasive_1.10.tar.gz
tar zxvf mod_dosevasive_1.10.tar.gz
把您的 httpd.conf 備份
開始安裝 mod_dosevasive
Apache 1.3.x:
cd mod_dosevasiveapxs -cia mod_dosevasive.c
Apache 2.0.x:
cd mod_dosevasiveapxs -cia mod_dosevasive20.c
修改您的 httpd.conf 加入
Apache 1.3.x:
<IfModule mod_dosevasive.c>DOSHashTableSize 3097DOSPageCount 5DOSSiteCount 100DOSPageInterval 2DOSSiteInterval 2DOSBlockingPeriod 600</IfModule>
Apache 2.0.x:
<IfModule mod_dosevasive20.c>DOSHashTableSize 3097DOSPageCount 5DOSSiteCount 100DOSPageInterval 2DOSSiteInterval 2DOSBlockingPeriod 10DOSBlockingPeriod 600</IfModule>
這樣使完成。httpd.conf 當中的設定方面解釋:
DOSHashTableSize這是佔中您記憶體的大少。當數目越大處理越快,當您的伺服器是很多人流的,您必須加大這個數字。
DOSPageCount同一頁同一人時能夠在同一個時區中請求幾多次,多於會禁止。時區可以在 DOSPageInterval 中設定。
DOSSiteCount同一個網站同一人在伺服器中所佔有幾多個 [...]








