使用apache服務的功能模塊使web服務免受應用層DOS攻擊

一般來說,有兩種形式的 DOS 攻擊:

  1. OSI 模型的三、四層,即網絡層攻擊
  2. OSI 模型的七層,即應用層攻擊

第一種類型的 DOS 攻擊——網絡層,發生於當大量的垃圾流量流向網頁服務器時。當垃圾流量超過網絡的處理能力時,網站就會宕機。

第二種類型的 DOS 攻擊是在應用層,是利用合法的服務請求,而不是垃圾流量。當頁面請求數量超過網頁服務器能承受的容量時,即使是合法訪問者也將無法使用該網站。

在沒有硬件防禦的情況下,使用apache的模塊 mod_evasive ,可以緩解來自應用層的攻擊。

下載mod_eva :https://github.com/jzdziarski/mod_evasive

編譯到apache中:/usr/local/apache24/bin/apxs -i -a -c mod_evasive20.c

此時,模塊被安裝到了apache目錄下的modules下。

編輯httpd.conf,增加如下內容:

<IfModule mod_evasive20.c>
#定義哈希表的大小,
   DOSHashTableSize 3097 
#間隔對同一頁面(或URI)的請求數量的閾值。一旦超過該間隔的閾值,客戶端的IP地址將被添加到黑名單(也就是每個頁面的請求次數,當然這個請求次數是有定義的,由DOSPageInterval定義)
   DOSPageCount 2 
#間隔時間內對網站內任意頁面的請求數,超過次數,則客戶端被拉入黑名單,時間間隔由(DOSSiteInterval定義)
   DOSSiteCount 50 
#網頁訪問計數的間隔
   DOSPageInterval 1
#網站訪問計數的間隔
   DOSSiteInterval 1
#放入黑名單中的時長
   DOSBlockingPeriod 10 
</ IfModule> 

還有一些別的配置,可以參考此模塊作者的github上的說明(地址見上方下載鏈接),這裏簡單說一下:
DOSEmailNotify   只要觸發黑名單,則郵件通知對應的人員
DOSSystemCommand  只要觸發黑名單,執行的系統指令
DOSLogDir         日誌記錄位置,需要此文件夾與apache相同的屬組和屬主
DOSWhitelist 127.0.0.1  白名單中的地址

安裝完成後可以使用ab或者別的工具進行測試,這裏就不再做介紹了 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章