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

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

级别: 小白
发帖
23
云币
106
最近几天有公司反馈官网和业务系统的注册页面频繁遭遇DDOS攻击,导致IIS应用程序池CPU占用率100%,访问网站出现503错误。下面总结一下应对措施 {Gr"oO`&"  
    最近几天有公司反馈官网和业务系统的注册页面频繁遭遇DDOS攻击,导致IIS应用程序池CPU占用率100%,访问网站出现503错误。下面总结一下应对措施。 uGS^*W$  
    一、启用IIS的CPU监视功能 ;?!pcvUi  
    对于低频率的DDOS可以采取这种方法。w3wp.exe是应用程序池的关联进程,当WEB访问量大时,w3wp.exe会占用大量的系统资源。在DDOS攻击下,很明显的现象就是w3wp.exe占用CPU达到100%,网站拒绝访问,这个时候远程登录服务都很困难。针对这种情况,做如下优化: aW$))J)0  
    1、为IIS中的每个网站设置单独的应用程序池。 ${, !Ll7)  
    2、为每个应用程序池设置CPU监视功能:当w3wp.exe的CPU超过50%或更高时,动杀死w3wp.exe进程,监视频率为1分钟。只要有访问请求进来,w3wp.exe便会重新启动,不影响用户访问。 iMs(Ywak]  
'5SO3/{b  
二、流量清洗 'lR f  
    当黑客发现低层次的DDOS已经不起作用时,便会加大攻击力度。一开始我们官网的平均并发数只有几千,后来加大到了平均1万6千个并发,最高7万个并发,这样上面的CPU监视功能就没有效果了,因为w3wp.exe重启后,会在极短时间内CPU重新达到100%。 Hbz,3{o5  
    当时监控到的并发连接数: ZUeA&&{  
$*dY f  
幸运的是官网域名刚好做好了备案,客户把迁移到佛山服务器上后,利用高防waf的DDOS防护功能便会清洗掉大部分异常流量,CPU立马正常,客户官网满血复活了。 ZfIeq<8 _  
这里贴一下waf服务器的参数: [fXC ;c1  
J~rjI24  
,DWC=:@X  
<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] !fG`xZ~  
<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] b 'yW+  
3ocRq %%K  
   参数配置不高,但是能抵御很大的DDOS攻击,这得益于佛山机房金盾工程师牛逼的技术实力,偷偷做个广告,嘿嘿。 +jz%:D  
    三、Nginx反向代理 f%TP>)jag!  
    但是黑客还经常攻击我们业务系统的注册页面,这次就没有这么幸运了,因为业务系统是在我们实体机房,这就要靠我们自己了。 &5;y&dh  
    所以我们采取了前端Nginx反向代理、后端双IIS做负载均衡,利用Nginx很好的性能和HttpLimitReqModul模块限制某时间段内同一ip访问次数。Nginx的优化这里不提,下面只贴出相关配置: 9mH+Ol#(  
首先在nginx.conf的http配置段里增加如下内容: H3" D$Nv  
I45\xP4i  
<DIV id=highlighter_114544 ie? plain> ;Ajy54}7  
KdTna6nY  
    这里限制了同一IP每秒的请求数不超过100个,否则多余的请求会直接返回599错误。限制频率要根据实际情况进行配置,配置过低会影响正常的访问,出现页面显示不全等问题 q5(Z   
yzmwNsu  
    然后编辑/etc/nginx/conf.d/upstream.conf: mdD9Q N01  
<DIV alt2? index0 number1>  <E&"]  
<DIV alt2? index0 number1><CODE plain?>
jF%[.n[BU  
好了,简单配置完成。 T~'9p`IW  
    下面贴一个统计Nginx访问日志access.log里IP请求频率的小脚本: auT$-Ki8  
#NLLl EE  
<DIV id=highlighter_695925 ie? plain> hV4B?##O  
E8.xmTq  
    把脚本放到和access.log同一目录下执行即可。部分输出如下: /!Kl  
P&@[ j0  
过滤出这些攻击源IP后,加到iptables里: spt='!)4  
iptables -I INPUT -s {ip} -j DROP; y:+s*x6Vg  
本文出自(www.deshengidc.cn)谢绝转载
[ 此帖被锐讯网络1在2017-05-24 21:14重新编辑 ]
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 27 + 58 = ?
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)