Apache防DDOS模块mod_evasive的安装配置和使用

2019年6月28日

Apache防DDOS模块mod_evasive的安装配置和使用

星期四, 09/23/2010 - 18:11 — wdlinux

Apache防DDOS模块mod_evasive的安装配置和使用
前些天,朋友的网站访问很慢,查服务器的连接数也不多,资源占用也少.怀疑有攻击,便想装上mod_evasive试试,试后一切正常,很爽
安装配置如下

cd /usr/local/src
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
tar zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive
apxs -i -a -c mod_evasive20.c
vim  /etc/httpd/conf/httpd.conf

<IfModule mod_evasive20.c>
    DOSHashTableSize    3097
    DOSPageCount        10
    DOSSiteCount        100
    DOSPageInterval     2
    DOSSiteInterval     2
    DOSBlockingPeriod   360
    DOSEmailNotify ***@qq.com
    DOSLogDir "/var/log/mod_evasive"
    #DOSWhiteList 192.168.12.*

    #DOSSystemCommand "sudo iptables -A INPUT -s %s -j DROP"

</IfModule>

 

__________________________________________________________________

 

<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 **[email protected]

#设置受到攻击时接收攻击信息提示的邮箱地址。有IP加入黑名单后通知管理员。

DOSSystemCommand "sudo iptables -A INPUT -s %s -j DROP"

#IP加入黑名单后执行的系统命令。

DOSLogDir "/var/log/mod_evasive"#手动创建目录mod_evasive,攻击日志存放目录,注意这个目录的权限,是运行apache程序的用户。锁定机制临时目录

#白名单
DOSWhiteList 127.0.0.1
DOSWhiteList 192.168.12.*

</IfModule>

 

 

如果您不知道把这些插入到哪,用下面的办法做也是可以的;
在/etc目录中创建一个文件,比如mod_evasive.conf;
 
#touch /etc/mod_evasive.conf
然后把根据自己的Apache版本来加入相应的内容;
接着我们再修改 httpd.conf ,在最后一行加入
Include /etc/mod_evasive.conf
修改完成后,我们要重启Apache服务器;
service apachectl restart
--------------------------------对mod_evasive测试验证 ;
1 防DDOS的模块做好后,我们可以要验证,可以用Apache 自带的ab工具,系统默认安装在/usr/sbin目录中;比如;
ab -n 1000 -c 50 http://****

注:上面的例子的意思是,如果您的服务器是google的WEB服务器,我们要发送数据请求包,总共1000个,每次并发50个;
2 另外一个测试工具就是mod_evasive的解压包的目录中test.pl, 修改test.pl IP地址

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
 
测试结果
 
这个时候,你可以到你的/var/log/mod_evasive目录下面发现有日志文件
类似文件:dos-192.168.12.201 ,192.168.12.201 表示记录了攻击的ip
 
邮件内容:
To: ***@qq.com
Subject: HTTP BLACKLIST 192.168.12.202
mod_evasive HTTP Blacklisted 192.168.12.202

 

 

 

mod_evasive 介绍

mod_evasive
是Apache(httpd)服务器的防DDOS的一个模块。对于WEB服务器来说,是目前比较好的一个防护DDOS攻击的扩展模块。虽然并不能完全防御
DDOS攻击,但在一定条件下,还是起到缓服Apache(httpd)服务器的压力。如配合iptables、硬件防火墙等防火墙设备配合使用,可能有
更好的效果。
mod_evasive 的官方地址: http://www.zdziarski.com

相关参数
DOSHashTableSize 3097:定义哈希表大小。  
DOSSiteCount 50:允许客户机的最大并发连接。  
DOSPageCount 2:允许客户机访问同一页的间隔。  
DOSPageInterval 1:网页访问计数器间隔。  
DOSSiteInterval 1:全站访问计数器间隔。  
DOSSiteInterval 60:加入黑名单后拒绝访问时间。  
DOSEmailNotify [email protected]:有IP加入黑名单后通知管理员。  
DOSSystemCommand "sudo iptables -A INPUT -s %s -j DROP":IP加入黑名单后执行的系统命令。  
DOSLogDir "/tmp":锁定机制临时目录。  
DOSWhiteList 127.0.0.1:防范白名单,不阻止白名单IP。

没有评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注