freebsdddos:在FreeBSD上使用mod_dosevasive对抗DDos攻击

  mod_dosevasive是个Apache上可选模块它能应对些基于HTTP拒绝服务攻击就是常说Dos或者DDos攻击这种攻击是让很多大小网站WebSite都头疼攻击方式mod_dosevasive从Apache1.3开始出现虽然不能完全彻底防止大规模DDos攻击但是对于普通攻击来说还是非常不错选择

  我服务器(http://www.toplee.com/blog/) 就曾经收到过类似测试攻击(就是估计别人是为了练手并非真要针对我)搞得很头疼些朋友应用也遇到过类似烦恼基本上都通过安装 mod_dosevasive得到了较好解决下面我就来以我在FreeBSD上安装基于Apache2.2.2mod_dosevasive经过给大家分享下经验顺便进步讲述下mod_dosevasive特性

  mod_dosevasive通过对来访IP地址和访问URI建立内部动态哈希表来检测是否有攻击如果有如下行为将拒绝该IP访问:

  1. 每秒对同页面请求数超过平时(原文:Requesting the same page more than a few times per second)

  2. 每秒同个子进程有超过50次并发请求

  3. 临时被拒绝(在blacklist中)时候还不断进行请求

  mod_dosevasive可以非常方便和防火墙、路由器等进行整合步提高抗拒绝服务能力和别防攻击工具mod_dosevasive同样收到带宽、系统处理能力等原因影响所以要想应对大规模攻击最好方式就是把mod_dosevasive和您防火墙和路由器进行整合而不是简单安装成为独立Apache模块

  mod_dosevasive在apache2.2.2上安装思路方法:

  、使用源码安装:

  1、下载

#cd /tmp (任何别目录都行)
#wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz


  2、解压缩

#tar -zxvf mod_dosevasive_1.10.1.tar.gz
#cd mod_dosevasive


  3、以动态模块方式编译

  # apxs -i -a -c mod_dosevasive20.c

  4. 修改/etc/httpd/conf/httpd.conf文件加入对模块支持:

  LoadModule dosevasive20_module libexec/apache22/mod_dosevasive20.so

   2、使用FreeBSDport进行安装(强烈推荐此方式)

#cd /usr/ports/www/mod_dosevasive20
#make  clean


  至此完成了mod_dosevasive安装重启apache服务后它就开始工作了这个时候您如果不作任何别设置它也可以使用默认配置为您提供良好防攻击能力当然您也可以自己进行些参数定制配置可选参数如下:

  在您httpd.conf文件中加入类似下面部分

  Apache 1.3.x

<IfModule mod_dosevasive.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
</IfModule>


  Apache 2.x

<IfModule mod_dosevasive20.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
</IfModule>


  参数简单介绍说明:

  DOSHashTableSize 3097 记录和存放黑名单哈西表大小如果服务器访问量很大可以加大该值

  DOSPageCount 5 同个页面在同时间内可以被统个用户访问次数超过该数字就会被列为攻击时间数值可以在DosPageInterval参数中设置

  DOSSiteCount 50 同个用户在同个网站WebSite内可以同时打开访问数个时间数值在DOSSiteInterval中设置

  DOSPageInterval 2 设置DOSPageCount中时间长度标准默认值为1

  DOSSiteInterval 2 设置DOSSiteCount中时间长度标准

  DOSBlockingPeriod 10 被封时间间隔秒这中间会收到 403 (Forbidden) 返回

  其他可选参数:

  DOSEmailNoty [email protected] 设置受到攻击时接收攻击信息提示邮箱地址

  DOSCommand “su – someuser -c ‘/sbin/… %s …’” 受到攻击时Apache运行用户执行系统命令

  DOSLogDir “/var/lock/mod_dosevasive” 攻击日志存放目录BSD上默认是 /tmp

  下面是我服务器上看到些日志情况:

#cd /tmp
#ll |wc -l
    2303
#ls
......
dos-218.64.69.71        dos-219.80.33.54        dos-222.214.156.211
dos-218.64.79.59        dos-219.82.143.127      dos-222.214.2.148 
dos-218.64.81.162       dos-219.82.46.245       dos-222.214.206.162  
dos-218.65.102.178      dos-220.113.43.61       dos-222.214.207.191 
......
#more dos-218.64.69.71
30611




  可以看到这个ip地址有30611次访问攻击被记录!!!



Tags:  freebsd攻击 mod_dosevasive下载 mod_dosevasive freebsdddos

延伸阅读

最新评论

发表评论