Apache防DDOS模块mod_evasive

上一篇 / 下一篇  2016-04-01 14:16:41 / 个人分类:linux



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

二、mod_evasive 工作原理
Apache模块mod_evasive利用Hash表储存相应的HTTP请求,利用设定规则判断是否拒绝对方的请求。


三、配置mod_evasive

apache配置文件:/etc/httpd/conf/httpd.conf中
增加如下内容:

LoadModule evasive20_module   modules/mod_evasive20.so

    <IfModule mod_evasive20.c>
        DOSHashTableSize    3097      //记录和存放黑名单的哈西表大小,如果服务器访问量很大,可以加大该值
        DOSPageCount        2         //同一个页面在同一时间内可以被统一个用户访问的次数,超过该数字就会被列为攻击,同一时间的数值可以在DosPageInterval参数中设置。
        DOSSiteCount        50         //同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在DOSSiteInterval中设置。
        DOSPageInterval     1          //设置DOSPageCount中时间长度标准,默认值为1。
        DOSSiteInterval     1         //设置DOSSiteCount中时间长度标准, 默认值为1。
        DOSBlockingPeriod   10        //被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。
        DOSEmailNotify         "test1@test.cn,test2@test.cn"      //发送邮件通知的
        DOSSystemCommand       "sudo /sbin/iptables -I INPUT -s %s -p tcp --dport 80 -j DROP"    //执行系统命令增加防火墙规则
        DOSLogDir  "/var/log/"         //日志存储目录
    </IfModule>

四、测试mod_evasive   
可以用Apache 自带的ab工具

/usr/local/apache/bin/ab -n 100 -c 5 http://192.168.146.103/test.php


httpd的访问日志access_log里,可以看到原来是200响应,后面变成403响应
DOSLogDir  "/var/log/" 日志存储目录下会生成:dos-ip的日志文件

注:ab执行后,也会有统计结果,但发现里面的Failed requests显示数量会和access_log中的对不上;
Complete requests:      100
Failed requests:        0
所以测试时,还是要看下access_log。



五、配置参数详解
DOSHashTableSize 3097:定义哈希表大小。  
DOSSiteCount 50:允许客户机的最大并发连接。  
DOSPageCount 2:允许客户机访问同一页的间隔。  
DOSPageInterval 1:网页访问计数器间隔。  
DOSSiteInterval 1:全站访问计数器间隔。  
DOSSiteInterval 60:加入黑名单后拒绝访问时间。  
DOSEmailNotify xxxx@gmail.com:有IP加入黑名单后通知管理员。  
DOSSystemCommand "sudo /sbin/iptables -I INPUT -s %s -p tcp --dport 80 -j DROP":IP加入黑名单后执行的系统命令。  
DOSLogDir "/tmp":锁定机制临时目录,日志目录。  
DOSWhiteList 127.0.0.1:防范白名单,不阻止白名单IP。
    
 

TAG: Apache Linux DDOS mod_evasive linux

 

评分:0

我来说两句

Open Toolbar