Apache防DDOS模块mod_evasive的安装配置、使用、下载
mod_evasive是什么?
mod_evasive回避演习模块Apache来提供HTTP DoS或DDoS攻击或暴力攻击事件中的回避动作。它也被设计成一个检测和网络管理工具,可以很容易地配置为与ipchains的防火墙,路由器,以及诸如此类。目前mod_evasive报告通过电子邮件和syslog设施的滥用。
检测是通过创建一个内部的IP地址和URI的动态哈希表,并从以下任何拒绝任何单一的IP地址:
1.超过每秒几次请求相同的页面
2.在相同的孩子每秒进行超过50个并发请求
3.做出任何请求,而暂时被列入黑名单(阻塞)
4.这种方法曾在单服务器脚本攻击以及分布式攻击,但就像其他回避的工具,只是作为有用带宽和处理器消耗点(如需要接收/处理量的带宽和处理器无效的请求/响应),这就是为什么它是一个好主意,这与最大程度的保护你的防火墙和路由器整合。
此模块实例化单独为每个侦听器,因此具有一个内置的清理机制和缩放功能。正因为如此每个孩子设计的,合法的要求决不妥协(甚至从代理服务器和NAT地址),但只照本宣科攻击。即使是一个用户多次点击“重装”应该不会受到影响,除非他们做恶意。mod_evasive是通过完全可修改Apache的配置文件,轻松纳入您的Web服务器,且易于使用。
下载:wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
mod_evasive备用下载地址:
tar zxvf mod_evasive_1.10.1.tar.gz #解压
cd mod_evasive #进入目录
/www/wdlinux/apache/bin/apxs -i -a -c mod_evasive20.c 安装(注意修改apache的apxs路径)
这时候,mod_evasive模块已正确安装,并自动加入到httpd.conf,我们可以检查该文件/etc/httpd/conf/httpd.conf,看到下面这行:
LoadModule evasive20_module /usr/lib/httpd/modules/mod_evasive20.so
vi /www/wdlinux/apache/conf/httpd.conf 编辑配置
<IfModule mod_evasive20.c>
DOSHashTableSize 3097 #定义哈希表大小。
DOSSiteCount 100 #允许客户机的最大并发连接。
DOSPageCount 2 #允许客户机访问同一页的间隔。
DOSPageInterval 1 #网页访问计数器间隔。
DOSSiteInterval 1 #全站访问计数器间隔。
DOSBlockingPeriod 3600 #加入黑名单后拒绝访问时间。
DOSEmailNotify #有IP加入黑名单后通知管理员。
DOSSystemCommand “sudo iptables -A INPUT -s %s -j DROP” #IP加入黑名单后执行的系统命令。
DOSLogDir “/tmp” #锁定机制临时目录。
DOSWhiteList 127.0.0.1 #防范白名单,不阻止白名单IP。
</IfModule>
该设置不支持nginx+apache环境,仅支持apache环境