本次安装采用标准Apache2.2 , 经过测试在Lampp下 同样有效。
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
我下载在
/backup/soft/
安装 mod_evasive 之前,你要用安装Apache(httpd)服务器软件包,还要安装httpd-devel或 apache-dev。
Apache 1.x 请用下面的编译方法: #/usr/sbin/apxs -iac mod_evasive.c
Apache 2.x 可以用下面的办法:
#tar zxvf mod_evasive_1.10.1.tar.gz
测试一下,没安装的版本
cd /backup/soft/mod_evasive
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
#cd mod_evasive
#/usr/sbin/apxs -i -a -c mod_evasive20.c
如果编译的时候报如下错误:
cannot open /httpd/build/config_vars.mk: No such file or directory at /usr/sbin/apxs line 201.
表示还需要安装apr-devel,使用yum -y install apr-devel即可安装。
lampp下继续报错是apxs 的问题,直接安装一个新的。
没有apxs的话,安装 httpd-devel
yum install httpd-devel
安装完毕apexes一ban般在/usr/sbin 下。
配置
修改httpd.conf
增加下面一行。
LoadModule evasive20_module modules/mod_evasive20.so
apache 1.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>
参数说明:
DOSHashTableSize 3097:存放黑名单的hash表大小,可以自己调整
DOSPageCount 2:设定同一个页面在同一个时间内可以被同一个用户访问的次数,超过则被列为攻击
DOSSiteCount 50:同一个用户在同一个网站内可以同时打开的访问数
DOSPageInterval 1:设置DOSPageCount中时间长度标准
DOSSiteInterval 1:设置DOSSiteCount中时间长度标准
DOSBlockingPeriod 10:被封时间间隔,期间会收到ForBidden的返回
还有2个参数可以用:
DOSEmailNotify root@localhost :设置受到攻击时的邮件提醒地址
DOSLogDir /var/www/html/DosLog : 设置攻击日志存放目录
测试是否生效。
cd /backup/soft/mod_evasive
chmod 755 test.pl
./test.pl
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
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
连续访问被403了。
You must be logged in to post a comment.
这个不错,可以试下。学习了。贵站不错哦。
欢迎常来啊:)