阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 2530阅读
  • 0回复

[已解决]设置IIS防御小规模DDOS攻击实例反向代理

级别: 小白
发帖
23
云币
106
最近几天有公司反馈官网和业务系统的注册页面频繁遭遇DDOS攻击,导致IIS应用程序池CPU占用率100%,访问网站出现503错误。下面总结一下应对措施 QdcuV\B}  
    最近几天有公司反馈官网和业务系统的注册页面频繁遭遇DDOS攻击,导致IIS应用程序池CPU占用率100%,访问网站出现503错误。下面总结一下应对措施。 )*XWe|H_  
    一、启用IIS的CPU监视功能 ^'M^0'_"v  
    对于低频率的DDOS可以采取这种方法。w3wp.exe是应用程序池的关联进程,当WEB访问量大时,w3wp.exe会占用大量的系统资源。在DDOS攻击下,很明显的现象就是w3wp.exe占用CPU达到100%,网站拒绝访问,这个时候远程登录服务都很困难。针对这种情况,做如下优化: , .~ k  
    1、为IIS中的每个网站设置单独的应用程序池。 cN?/YkW?]  
    2、为每个应用程序池设置CPU监视功能:当w3wp.exe的CPU超过50%或更高时,动杀死w3wp.exe进程,监视频率为1分钟。只要有访问请求进来,w3wp.exe便会重新启动,不影响用户访问。 |[mmEYc  
7NWkN7:B  
二、流量清洗 (`E`xb@E,=  
    当黑客发现低层次的DDOS已经不起作用时,便会加大攻击力度。一开始我们官网的平均并发数只有几千,后来加大到了平均1万6千个并发,最高7万个并发,这样上面的CPU监视功能就没有效果了,因为w3wp.exe重启后,会在极短时间内CPU重新达到100%。 c/^jD5U7  
    当时监控到的并发连接数: mVYfyLZ,(  
RPf<-J:t  
幸运的是官网域名刚好做好了备案,客户把迁移到佛山服务器上后,利用高防waf的DDOS防护功能便会清洗掉大部分异常流量,CPU立马正常,客户官网满血复活了。 %xG<hNw/  
这里贴一下waf服务器的参数: p%sizn  
bE mN tp^  
1P1h);*Z  
<DIV id=highlighter_309180 ie? plain>
<DIV alt2? index0 number1>1
<DIV alt1? index1 number2>2<DIV alt2? index2 number3>3<DIV alt1? index3 number4>4[td] 9kF0H a}J  
<DIV alt2? index0 number1><CODE plain?>配置: CPU2核、内存4GB  <DIV alt1? index1 number2><CODE plain?>镜像: Windows Server 2008 R2 标准版 SP1 64位中文版 <DIV alt2? index2 number3><CODE plain?>存储: SATA3(500GB) <DIV alt1? index3 number4><CODE plain?>网络: 带宽10Mbps(经典网络)[/td] W^xO/xu1 /  
k+?gWZ \  
   参数配置不高,但是能抵御很大的DDOS攻击,这得益于佛山机房金盾工程师牛逼的技术实力,偷偷做个广告,嘿嘿。 9$e$L~I#u  
    三、Nginx反向代理 XMkRYI1~  
    但是黑客还经常攻击我们业务系统的注册页面,这次就没有这么幸运了,因为业务系统是在我们实体机房,这就要靠我们自己了。 Ai[@2AyU  
    所以我们采取了前端Nginx反向代理、后端双IIS做负载均衡,利用Nginx很好的性能和HttpLimitReqModul模块限制某时间段内同一ip访问次数。Nginx的优化这里不提,下面只贴出相关配置: U_izKvEh  
首先在nginx.conf的http配置段里增加如下内容: k[ D,du')  
PWx%~U.8~j  
<DIV id=highlighter_114544 ie? plain> ty#6%  
x*'H@!!G  
    这里限制了同一IP每秒的请求数不超过100个,否则多余的请求会直接返回599错误。限制频率要根据实际情况进行配置,配置过低会影响正常的访问,出现页面显示不全等问题 >K4Nn(~ys  
v6=%KXSF  
    然后编辑/etc/nginx/conf.d/upstream.conf: (t V T&eO  
<DIV alt2? index0 number1> 'NCqI  
<DIV alt2? index0 number1><CODE plain?>
_4L6  
好了,简单配置完成。 =. \hCgq  
    下面贴一个统计Nginx访问日志access.log里IP请求频率的小脚本: +"BJjxG  
l-v m`-_#  
<DIV id=highlighter_695925 ie? plain> %~M*<pN  
{'wvb "b  
    把脚本放到和access.log同一目录下执行即可。部分输出如下: *U$]U0M  
(.@peHu)#  
过滤出这些攻击源IP后,加到iptables里: 9{Etv w  
iptables -I INPUT -s {ip} -j DROP; %]0?vw:;j  
本文出自(www.deshengidc.cn)谢绝转载
[ 此帖被锐讯网络1在2017-05-24 21:14重新编辑 ]
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: 93 - 88 = ?
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)