设为首页 收藏本站
查看: 902|回复: 0

[经验分享] Azure上Linux VM防DDOS***:使用Apache mod_evasive

[复制链接]

尚未签到

发表于 2018-11-20 13:55:37 | 显示全部楼层 |阅读模式
  部署在云端的虚拟机和web服务,很容易受到DoS护着DDoS的服务***,让一些新上线的业务苦不堪言,当然各个云服务提供商也有不同层面DDOS的防护,然而由于防护粒度,***复杂度的关系,未必可以满足你的需求,本文介绍如何对使用了Apache httpd的用户做一些简单的配置,从而有效防护一些简单的DDOS***。
  

  mod_evasive模块是httpd对web服务器的一个DoS和DDoS防护模块,针对单个IP地址客户端对单个页面,访问总量等参数,对疑似DDOS的IP地址进行屏蔽,配置简单而且简单有效,具体步骤将会在以下步骤中详述。
  

  本文测试使用Azure作为公有云平台,采用CentOS 6.5和自带的Apache httpd 2.2作为demo环境。
  


  •   安装apache httpd
      

    DSC0000.jpg

    DSC0001.jpg

  2. 安装mod_evasive:
  

DSC0002.jpg

  3. 检查配置文件,并对mod_evasive进行配置:
  

DSC0003.jpg

  

  3.1 在配置文件的首行,可以看到加载了mod_evasive模块:
  # mod_evasive configuration
LoadModule evasive20_module modules/mod_evasive20.so
  

  3.2 DOSHashTableSize是存放DOS数据的表,如果你的用户访问数量比较高,建议设置高一写,本测试中使用默认值:
  
    DOSHashTableSize    3097
  

  3.3 DOSPageCount,该参数定义了在指定时间内(默认1秒)来自同一个IP地址对同一个页面的访问次数,如果超过这个次数,那么这个IP地址就会被放到黑名单,禁止掉,默认为2,可能有点太低了,在本次测试中,调整为10(不排除一个某个公司的员工都是通过一个代理地址出来,而非DDOS的情况,这个需要综合考虑)
      DOSPageCount        10
  

  3.4 DOSSiteCount指定了在特定间隔内(默认1秒)来自同一个IP地址对网站的访问总量,一旦超过,该IP地址就被放入黑名单,暂时使用默认
      DOSSiteCount        50
  

  3.5  DOSPageInterval 和DOSSiteInterval分别是3.3和3.4提到的时间间隔,默认是1秒
      # The interval for the page count threshhold; defaults to 1 second
    # intervals.
    DOSPageInterval     1
      DOSSiteInterval     1

  

  3.6 DOSBlockingPeriod就是被你加到黑名单的IP地址,你希望他多长时间无法访问你的网站,以秒计,测试中设置为180(3分钟)
      DOSBlockingPeriod   180
  

  3.7 其他的是是否需要邮件提示,一旦发现DDOS需要执行的命令,日志文件地址等,大家可以自行配置
      #DOSEmailNotify      you@yourdomain.com

  

  4. 重新启动httpd服务,并进行验证:
  [azureuser@centostest ~]$ sudo service httpd restart
  Stopping httpd:                                            [  OK  ]
  Starting httpd:                                            [  OK  ]
DSC0004.jpg

  5. 验证下mod_evasive是否被正确加载


DSC0005.jpg

  

  6.那么最后一步是验证我们的配置是否工作,mod_evasive自带了一个非常简单的测试工具,其目的是模拟DDOS,使用同一个IP地址向同一个页面发起100次访问,那么mod_evasive就会把这个地址加入黑名单,并拒绝访问,我们看一下效果:
DSC0006.jpg

  

  7. 如何知道该地址被加入了黑名单昵?事实上mod_evasive也会将该信息写入syslog:
DSC0007.jpg

  

  到此为止所有的测试和验证结束,可以看到mod_evasive是一个简单易用的DDOS工具:)




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-637439-1-1.html 上篇帖子: LAMP环境(linux+apache+mysql+php)配置 下篇帖子: 太乱了的apache,我自己都无语了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表