[apache] 防止DDOS

  這時候又要先忍不住抱怨一下 hostmonster .

  又來一次 ,無預警的網站掛點 , 只有噴   Fatal error :

  一定又是他們升級 Zend 然後路徑又改了

  改成怎樣沒人知道 ….

  用 live chat 不理人 , 完全沒人上線服務

  賣送拉 .. 把 pic.segaa.net 搬回家了

  正式放棄  hostmonster … 凸O凸

  bye ~~~  fuck hostmonster

  不過搬回家之後 , 才知道被轟炸的恐怖  Q___Q

  不只流量的問題 , cpu loading 更是一大挑戰阿 -_-

  mysql 的cpu time 常常飆高到 9x%

  先來弄個 apache 防止 ddos 的外掛

 這邊搜尋到的是非官方的外掛
 

 1. 下載

segaa  $ wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz
segaa  $ tar zxvf mod_evasive_1.10.1.tar.gz
segaa  $ cd mod_evasive

 2. 加入 apache 

segaa  $ apxs -cia mod_evasive20.c
segaa  $ chmod 755 /usr/local/libexec/apache2/mod_evasive20.so

 3. 編輯 httpd.conf  ,確認是否自動加入這行

LoadModule evasive20_module   libexec/apache2/mod_evasive20.so

 4. 最後加入以下設定 , 下面是參照別人文章的說明 , 也可自行參閱 REDME 自行調整相關參數

#記錄和存放黑名單的哈西表大小,如果服務器訪問量很大,可以加大該值
DOSHashTableSize 3097
#同一個頁面在同一時間內可以被統一個用戶訪問的次數,超過該數字就會被列為攻擊
DOSPageCount 3
#同一個用戶在同一個網站內可以同時打開的訪問數,同一個時間的數值在DOSSiteInterval中設置。
DOSSiteCount 40
#設置DOSPageCount中時間長度標準,默認值為1。
DOSPageInterval 2
#DOSSiteInterval 2 設置DOSSiteCount中時間長度標準,默認值為1。
DOSSiteInterval 2
#被封時間間隔秒,這中間會收到 403 (Forbidden) 的返回。
DOSBlockingPeriod 10
#設置受到攻擊時接收攻擊信息提示的郵箱地址。
#DOSEmailNotify you@yourdomain.com
#受到攻擊時Apache運行用戶執行的系統命令
#DOSSystemCommand 「su – someuser -c 『/sbin/… %s …』」
#攻擊日誌存放目錄,BSD上默認是 /tmp
#DOSLogDir 「/var/lock/mod_evasive」

 5. 設好之後重新啟動 apache 就套用了

segaa   $ apachectl restart

分類未分類

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *