Apache防DDOS模块mod_evasive,ddosmod_evasive但配置iptable


博客不时的有人拿来做压力测试,于是准备配置iptables限制每个IP的并发数。但配置iptables才发现,由于Linux内核版本比较低,iptables不支持connlimit模块,于是想到把conlimit模块编译到内核中,无奈openvz vps不支持编译内核。所以使用了Apache的防DDOS模块mod_evasive,具体安装配置如下:


一、下载模块


wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz


tar xzvf mod_evasive_1.10.1.tar.gz


cd mod_evasive


二、安装模块


1、对于Apache 1.x 请用下面的编译方法;


/usr/local/apache/bin/apxs -iac mod_evasive.c


2、对于Apache 2.x 可以用下面的办法;


/usr/local/apache/bin/apxs-i -a -c mod_evasive20.c


三、配置模块


在配置文件httpd.conf加入如下代码:


在Apache v1.x 版本中,要加入;


<IfModule mod_evasive.c>


DOSHashTableSize 3097


DOSPageCount 2


DOSSiteCount 50


DOSPageInterval 1


DOSSiteInterval 1


DOSBlockingPeriod 10


</IfModule>


在Apache v2.x加入;


<IfModule mod_evasive20.c>


DOSHashTableSize 3097


DOSPageCount 2


DOSSiteCount 50


DOSPageInterval 1


DOSSiteInterval 1


DOSBlockingPeriod 10


</IfModule>


之后重启httpd。


相关参数说明:


DOSHashTableSize 3097:定义哈希表大小。


DOSPageCount 2:允许客户机访问同一页的间隔。


DOSSiteCount 50:允许客户机的最大并发连接。


DOSPageInterval 1:网页访问计数器间隔。


DOSSiteInterval 1:全站访问计数器间隔。


DOSBlockingPeriod 10:加入黑名单后拒绝访问时间。


四、对mod_evasive测试验证


可以使用apache的ab工具,也可以使用evasive解压目录中的test.pl脚本测试。


ab工具:ab -n 1000 -c 50 http://www.centos.bz/


perl: perl test.pl


需要了解更多关于evasive模块的使用可以查看解压目录中的README文件。


相关内容

    暂无相关文章