0°

Apache防DDOS模块mod_evasive

mod_evasive是Apache(httpd)服务器的防DDOS的一个模块.对于WEB服务器来说,是目前比较好的一个防护DDOS攻击的扩展模块.虽然并不能完全防御DDOS攻击,但在一定条件下,还是起到缓服Apache(httpd)服务器的压力.如果配合iptables、硬件防火墙等防火墙设备配合使用,可能有更好的效果.
下载地址: mod_evasive_1.10

安装加载mod_evasive模块

# tar zxvf mod_evasive_1.10.1.tar.gz
# cd mod_evasive
# /usr/local/apache2/bin/apxs -i -a -c mod_evasive20.c
vi /usr/local/apache2/conf/httpd.conf

加入以下参数:

DOSHashTableSize 3097
DOSSiteCount 50
DOSPageCount 2
DOSPageInterval 1
DOSSiteInterval 1
DOSSiteInterval 60
DOSEmailNotify xxx@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.*

参数说明

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.

mod_evasive原理

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

满足任意一条就返回403并阻止该IP一定时间,该时间由DOSSiteInterval决定.

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论