Linux系統 上目前最常見的Web server 是Apache,也是目前市面上兩大web server 其中一套,相對駭客也會利用各種攻擊方式攻擊網站,如果Linux 系統使用Apache+PHP+HTML 架設的網站 ,我們可以在APACHE 套件中加掛 evasive 提高網站的安全性,其相關設定如下
APACHE 安全性-防DDOS攻擊 --外掛軟體
(一) mod_evasive
DDoS (distributed denial-of-service) 及 DoS (denial-of-service) 在網路上十分常見,而 DoS 攻擊所傳送的請求跟正常的請求一樣,分別在於每秒鐘發出大量請求到伺服器,使伺服器的負載增加,最常見的情況是伺服器暫停服務。
而 mod_evasive 則是一個預防 Apache 遭受 DDos 攻擊的模組,可以防止同一個 IP 對相同 URI 發出的大量請求,可設定的選項有:
–限制同一個 IP 在一定秒數內請求一個頁面或檔案的次數。
–限制同一個 IP 一秒內只可發出 50 個請求。
–設定被禁止的 IP 封鎖時間。
–限制同一個 IP 一秒內只可發出 50 個請求。
–設定被禁止的 IP 封鎖時間。
以下是 mod_evasive 的安裝方法:
1. 先將原來的 httpd.conf 備份起來。
2. wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz下載 mod_evasive。
3. 在指令模式解壓及編譯 mod_evasive:
tar zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive/
apxs -cia mod_evasive20.c
cd mod_evasive/
apxs -cia mod_evasive20.c
以上的 apxs 會放在 Apache 的 bin 目錄內;
Ps:如果沒有apxs 這個指令,請使用yum –y install http* 更新相關套件
4. 開啟 httpd.conf,加入以內容:
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
DOSBlockingPeriod 600
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,這是設定封鎖的時間,以秒為單位。
DOSPageCount — 同一 IP 在一個時段內可以存取同一頁面的次數,超過會被禁止。
DOSSiteCount — 同一 IP 在一個網站內可以佔用多少 Object,超過會禁止。
DOSPageInterval — DOSPageCount 內的時段設定。
DOSSiteInterval — DOSSiteCount 的時間設定,以秒為單位。
DOSBlockingPeriod — 當發現疑似攻擊後,使用者會收到 403 Forbidden,這是設定封鎖的時間,以秒為單位。
5.最後重新啟動 Apache 即可。