Windows下,Apache防止ddos攻击,安装配置mod_evasive模块

一,简介
mod_evasive 是Apache服务器的防DDOS的一个模块。虽然并不能完全防御DDOS攻击,但在一定条件下,还是起到缓解Apache服务器的压力。如配合iptables、硬件防火墙等防火墙设备配合使用,可能有更好的效果。

官方地址: http://www.zdziarski.com https://github.com/jzdziarski/mod_evasive
mod_evasive,Helps to prevent HTTP DoS (DDoS) attacks or server brute force attacks.


二,安装配置
在http://www.apachelounge.com/download/下载apache对应的mod_evasive。 里面readme.txt有安装配置的方法。

httpd.conf中的配置文件如下:

LoadModule evasive2_module modules/mod_evasive2.so
<IfModule evasive2_module>
  DOSDisplayToken     On
  DOSHashTableSize    3097
  DOSSiteCount        100
  DOSSiteInterval     1
  DOSPageCount        6
  DOSPageInterval     1
  DOSBlockingPeriod   30
  DOSLogDir           "${SRVROOT}/logs/mod_evasive"
</IfModule>


三,相关参数
DOSHashTableSize 3097: 定义哈希表大小,记录黑名单的尺寸。
DOSSiteCount 100:允许客户机的最大并发连接。每个站点被判断为dos攻击的读取部件(object)的个数  一旦超过,用户ip将被列入黑名单 
DOSSiteInterval 1:全站访问计数器间隔。 读取站点间隔秒  
DOSPageCount 30:允许客户机访问同一页的间隔。每个页面被判断为dos攻击的读取次数。一旦超过,用户ip将被列入黑名单  
DOSPageInterval 1:网页访问计数器间隔。 同一页面的规定间隔时间。  
DOSBlockingPeriod 60:加入黑名单后拒绝访问时间。被封时间间隔秒  规定列入黑名单内ip的禁止时限,在时限内,用户继续访问将收到403 (Forbidden)的错误提示,并且计时器将重置。  
DOSEmailNotify xxxx@gmail.com:有IP加入黑名单后通知管理员,需要系统有邮件组件。  
DOSSystemCommand "sudo iptables -A INPUT -s %s -j DROP":IP加入黑名单后执行的系统命令。   
DOSLogDir "/tmp":日志目录。
DOSWhiteList 127.0.0.1:防范白名单,不阻止白名单IP。

 

四,测试

然后使用apache的ab压力测试工具,可以测试apache是否可以有效防止ddos攻击。我在测试的时候,发现虽然请求被拦截了,但是cpu和内存使用率还是很高。是否可以设置拦截后不提醒用户,以减少负载。 百度了一下没搜到mod_evasive该怎么做。 这个问题暂时先放这里。

 

 

 

修改时间 2018-04-29

声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。
随机推荐
WordPress 语言文件
JavaScript 使用 html2canvas 生成图片
WordPress 常用的路径
WordPress 获取当前主题文件夹的路径
Web 自定义组件
JavaScript 使用 qrcode 生成二维码
HTML input datetime 日期时间选择器
WordPress 用户信息