Apache防DDOS模块mod_evasive
一、下载模块
wget http://www.zdziarski.com/bloghttps://linji.cn/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
# 或用以下方法
/usr/sbin/apxs -iac mod_evasive.c
2、对于Apache 2.x 可以用下面的办法;
/usr/local/apache/bin/apxs -i -a -c mod_evasive20.c
# 我用以下的编译成功
/usr/sbin/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>
之后 apache-restart 重启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 https://linji.cn/
perl: perl test.pl
需要了解更多关于evasive模块的使用可以查看解压目录中的README文件。

本文来自:
http://www.centos.bz/2011/10/apache-defence-ddos-modules-mod_evasive/
http://www.linuxsir.org/main/node/244