dong5300 发表于 2017-1-5 11:16:19

apache DDos防范模块 mod_evasive

服务器环境:ubuntu server9.04、apache
mod_evasive是apache防范DDOS攻击的模块,其原理大致如下:
有新访问到达时:

[*]查看黑名单中是否有该客户IP。
[*]将IP和请求URL一起HASH;查找HASH表看过去1秒是否连续请求同一页。将IP和请求URL一起HASH;查找HASH表看过去1秒是否请求超过50个连接。

满足任意一条就返回403并阻止该IP一定时间,该时间由DOSSiteInterval决定。
1、安装mod_evasive
sudo apt-get install libapache2-mod-evasive

2、配置mod_evasive
sudo vi /etc/apache/conf.d/mod_evasive
#添加以下:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSSiteCount 50
DOSPageCount 2
DOSPageInterval 1
DOSSiteInterval 1
DOSSiteInterval 60
DOSEmailNotify crdd1130@gmail.com
#DOSSystemCommand "sudo iptables -A INPUT -s %s -j DROP"
DOSLogDir "/tmp"
#bai ming dang
DOSWhiteList 127.0.0.1
DOSWhiteList 127.0.0.*
</IfModule>
参数详解:
DOSHashTableSize 3097:定义哈希表大小。
DOSSiteCount 50:允许客户机的最大并发连接。
DOSPageCount 2:允许客户机访问同一页的间隔。
DOSPageInterval 1:网页访问计数器间隔。
DOSSiteInterval 1:全站访问计数器间隔。
DOSSiteInterval 60:加入黑名单后拒绝访问时间。
DOSEmailNotify xxxx@gmail.com:有IP加入黑名单后通知管理员。
DOSSystemCommand "sudo iptables -A INPUT -s %s -j DROP":IP加入黑名单后执行的系统命令。
DOSLogDir "/tmp":锁定机制临时目录。
DOSWhiteList 127.0.0.1:防范白名单,不阻止白名单IP。
页: [1]
查看完整版本: apache DDos防范模块 mod_evasive