2016年2月24日 星期三

以 mod_evasive 阻擋 D.o.S 攻擊

在 CentOS 下有裝 EPEL 的話,使用 yum 安裝即可
$ yum install mod_evasive
編輯mod_evasive設定檔 

$ vim /etc/httpd/conf.d/mod_evasive.conf

    # 用來儲存黑名單的檔案大小
    DOSHashTableSize    3097
    # 同一個網址在 DOSPageInterval 內被同一個IP存取幾次時,要阻擋此IP
    DOSPageCount        2
    # 同一個IP在 DOSSiteInterval 存取了網站幾次時,要阻擋此IP
    DOSSiteCount        50
    DOSPageInterval     1
    DOSSiteInterval     1
    # 被加入阻擋名單的IP要被擋多久,預設為10秒
    # 若被阻擋期間持續攻擊時,此時間會一直加上去,所以不用設很大
    DOSBlockingPeriod   10

    #用這個目錄來記錄log檔
    DOSLogDir           "/var/lock/mod_evasive"

    # 設定白名單
    DOSWhitelist   127.0.0.1
    DOSWhitelist   192.168.*.*


建立可供 apache 寫入log的 mod_evasive 目錄

$ mkdir /var/lock/mod_evasive; chown apache /var/lock/mod_evasive

重載 apache
$ service httpd reload

沒有留言: