通过清心醉

apache mod_evasive防御

mod_evasive是一款防止某一电脑过多的页面刷新的APACHE模块.

当过多的对页面进行刷新时,会判断为恶意攻击,故而拉如黑名单.

确保安装Perl环境,可以使用如下命令来提供Perl支持:

#yum groupinstall “Perl Support”

 

下载:mod_evasive_1.10.1.tar

将该文件包上传到服务器,解压

然后执行:

#/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) 的返回。

关于作者

清心醉 administrator

发表评论

请输入验证码: