mod_evasive是一款防止某一电脑过多的页面刷新的APACHE模块.
当过多的对页面进行刷新时,会判断为恶意攻击,故而拉如黑名单.
确保安装Perl环境,可以使用如下命令来提供Perl支持:
#yum groupinstall “Perl Support”
将该文件包上传到服务器,解压
然后执行:
#/usr/local/apache/bin/apxs -i -a -c mod_evasive20.c
/* 注释:
/usr/local/为你的apache目录
在bin目录里有个apsx文件
由于安装LAMP的方式不同,目录位置不同,自己修改即可
*/
如果提示:
apxs:Error: Command failed with rc=65536
执行:
yum install libtool
如果提示:
mod_evasive20.c: In function ‘access_checker’:
mod_evasive20.c:142: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:146: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:158: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:165: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:180: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:187: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:208: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:212: warning: implicit declaration of function ‘getpid’
mod_evasive20.c:215: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:221: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:222: error: ‘conn_rec’ has no member named ‘remote_ip’
mod_evasive20.c:228: error: ‘conn_rec’ has no member named ‘remote_ip’
apxs:Error: Command failed with rc=65536
将这几行的remote_ip修改成client_ip
(为了方便不同版本需要修改的,作者修改好了的发上来:mod_evasive20)
然后重新安装.
查看httpd.conf文件中已经自动添加了
LoadModule evasive20_module modules/mod_evasive20.so
至此,完成了mod_evasive的安装,重启apache服务后,它就开始工作了,这个时候您如果不作任何别的设置,它也可以使用默认配置为您提供良好的防攻击能力,当然,您也可以自己进行一些参数的定制配置,添加如下参数:
<IfModule mod_evasive20.c>
DOSHashTableSize 3000
DOSPageCount 5
DOSSiteCount 50
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
</IfModule>
简单说明:
DOSHashTableSize 3000 记录和存放黑名单的哈西表大小,如果服务器访问量很大,可以加大该值
DOSPageCount 5 同一个页面在同一时间内可以被同一个用户访问的次数,超过该数字就会被列为攻击,同一时间的数值可以在DosPageInterval参数中设置。
DOSSiteCount 50 同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在DOSSiteInterval中设置。
DOSPageInterval 2 设置DOSPageCount中时间长度标准,默认值为1。
DOSSiteInterval 2 设置DOSSiteCount中时间长度标准。
DOSBlockingPeriod 10 被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。
关于作者