1、下载mod_evasive_1.10.1.tar.gz

wget http://www.sfr-fresh.com/unix/privat/mod_evasive_1.10.1.tar.gz
tar xzvf mod_evasive_1.10.1.tar.gz
cd mod_evasive
/usr/local/apache/bin/apxs -i -a -c mod_evasive20.c

模块就自动编译安装进 /usr/local/apache2/modules,
自动在httpd.conf里添加
LoadModule evasive20_module modules/mod_evasive20.so


2、修改httpd.conf,关于mod_evasive的相关参数

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
#记录和存放黑名单表大小,如果服务器访问量很大,可以加大该值.
    
DOSPageCount 5       
#同一个页面在同一时间内可以被同一个用户访问的次数,超过该数字就会被列为***,同一时间的数值可以在DosPageInterval参数中设置.

DOSSiteCount 100
#同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在DOSSiteInterval中设置。

DOSPageInterval 2
#设置DOSPageCount中时间长度标准,默认值为1。

DOSSiteInterval 2
设置DOSSiteCount中时间长度标准,默认值为1。

DOSBlockingPeriod 3600
#被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。

DOSEmailNotify 137xxxxxxx0@139.com
#设置受到***时接收***信息提示的邮箱地址。

DOSLogDir "/var/log/mod_evasive"
#***日志存放目录,注意这个目录的权限,是运行apache程序的用户。

</IfModule>


3、测试DDOS模块

在mod_evasive_1.10.1.tar.gz解压目录下面有个测试脚本,是用perl写的,如果你看到这样的截图,就表示该模块安装成功。

chmod 755 test.pl
./test.pl
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden


4、测试结果

这个时候,你可以到你的/var/log/mod_evasive目录下面发现有一个日志文件,同时你的手机也会收到该报警短信。
 原文地址 http://blog.chinaunix.net/u/25264/showart_1856383.html