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

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

级别: 小白
发帖
23
云币
106
最近几天有公司反馈官网和业务系统的注册页面频繁遭遇DDOS攻击,导致IIS应用程序池CPU占用率100%,访问网站出现503错误。下面总结一下应对措施 "n7rbh3VW  
    最近几天有公司反馈官网和业务系统的注册页面频繁遭遇DDOS攻击,导致IIS应用程序池CPU占用率100%,访问网站出现503错误。下面总结一下应对措施。 <E&1HeP  
    一、启用IIS的CPU监视功能 h" P4  
    对于低频率的DDOS可以采取这种方法。w3wp.exe是应用程序池的关联进程,当WEB访问量大时,w3wp.exe会占用大量的系统资源。在DDOS攻击下,很明显的现象就是w3wp.exe占用CPU达到100%,网站拒绝访问,这个时候远程登录服务都很困难。针对这种情况,做如下优化: I&q:w\\z8|  
    1、为IIS中的每个网站设置单独的应用程序池。  C!Y|k.`p  
    2、为每个应用程序池设置CPU监视功能:当w3wp.exe的CPU超过50%或更高时,动杀死w3wp.exe进程,监视频率为1分钟。只要有访问请求进来,w3wp.exe便会重新启动,不影响用户访问。 E`=y9r* Z  
}Xrs"u,  
二、流量清洗 (|bMtT?"x  
    当黑客发现低层次的DDOS已经不起作用时,便会加大攻击力度。一开始我们官网的平均并发数只有几千,后来加大到了平均1万6千个并发,最高7万个并发,这样上面的CPU监视功能就没有效果了,因为w3wp.exe重启后,会在极短时间内CPU重新达到100%。 jt S+y)2  
    当时监控到的并发连接数: c<y.Y0  
>XSe  
幸运的是官网域名刚好做好了备案,客户把迁移到佛山服务器上后,利用高防waf的DDOS防护功能便会清洗掉大部分异常流量,CPU立马正常,客户官网满血复活了。 tURIDj%#p  
这里贴一下waf服务器的参数: 'R*xg2!i  
7 I&7YhFI  
<{[AG3/Zj4  
<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] gK-:t  
<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] ~V`D@-VND  
&A*oQ3  
   参数配置不高,但是能抵御很大的DDOS攻击,这得益于佛山机房金盾工程师牛逼的技术实力,偷偷做个广告,嘿嘿。 o~NeS|a  
    三、Nginx反向代理 /A9Mv%zjk  
    但是黑客还经常攻击我们业务系统的注册页面,这次就没有这么幸运了,因为业务系统是在我们实体机房,这就要靠我们自己了。 P9B@2#  
    所以我们采取了前端Nginx反向代理、后端双IIS做负载均衡,利用Nginx很好的性能和HttpLimitReqModul模块限制某时间段内同一ip访问次数。Nginx的优化这里不提,下面只贴出相关配置: nxsQDw\hy  
首先在nginx.conf的http配置段里增加如下内容: uZ]B?Z%y#  
f8#WT$Ewy  
<DIV id=highlighter_114544 ie? plain> k {s#wJA  
9x;/q7  
    这里限制了同一IP每秒的请求数不超过100个,否则多余的请求会直接返回599错误。限制频率要根据实际情况进行配置,配置过低会影响正常的访问,出现页面显示不全等问题 `]LaX&u  
q&<#)#+  
    然后编辑/etc/nginx/conf.d/upstream.conf: p0qQ(  
<DIV alt2? index0 number1> |Mo# +{~c  
<DIV alt2? index0 number1><CODE plain?>
`RthX\Tof  
好了,简单配置完成。 "2HRuqf  
    下面贴一个统计Nginx访问日志access.log里IP请求频率的小脚本: pvI(hjMYPk  
7v?tSob:b  
<DIV id=highlighter_695925 ie? plain> l YH={jJ  
6N~ jt  
    把脚本放到和access.log同一目录下执行即可。部分输出如下: cuq7eMG6z  
DECX18D  
过滤出这些攻击源IP后,加到iptables里: fOE:~3Q  
iptables -I INPUT -s {ip} -j DROP; %f6l"~y  
本文出自(www.deshengidc.cn)谢绝转载
[ 此帖被锐讯网络1在2017-05-24 21:14重新编辑 ]
发表主题 回复主题
« 返回列表上一主题下一主题

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