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

防火墙、CDN、WAF等防御CC攻击的几种方式

级别: 论坛版主
发帖
3273
云币
10681
— 本帖被 服务器之家 执行加亮操作(2014-12-24) —
一,防御方式 q8lK6p\:W  
1)JavaScript方式输出入口 vP2QAGk <  
演示可以看下面这张图: Y^G3<.B  
O o:jP6r  
第一次访问的时候,不是直接返回网页内容,而且返回这段JS程序。 ,+RO 5n  
作用就是计算出入口变量的值,然后在访问的网址后面加上类似于”?jdfwkey=hj67l9″的字串,组合成新的网址,然后跳转,当防火墙验证了jdfwkey的值(hj67l9)是正确的之后,就放行,一段时间内就不会再出这个判断程序的页面。 }M9al@"  
i<?4iwX%i*  
2)301或者302转向方式输出入口 D^{:UbN  
原理和1类似,区别在于把入口直接输出在了HTTP头部信息里,不重复叙述了。 #.)>geLC>9  
$Da^z[8e  
2.5)还有一些把入口通过其他方式输出的,比如cookie,类似于1和2,原理都是在第一次访问的时候设置一道槛。这个就不单独计算为一条了。 H-W) Tq_?-  
SDwSlwf  
3)屏蔽代理 -(.7/G'Vk>  
由于一部分的CC攻击是利用代理服务器发起的,所以有些时候防CC会屏蔽掉带x-forward-for这个值的IP,对匿名代理无效。 ;cr6Xop#?  
#77UKYj2L-  
4)判断速率 k ))*z FV  
由于CC攻击是持续的发起请求,所以发起攻击的IP在单位时间内的请求数量会明显比正常多出很多,通过把请求频率过高的IP屏蔽掉来防御。 A]9JbNV  
\gkajY-?  
5)验证码 [//f BO  
这个基本是最后的无敌大招了,必须在用户输入验证码后才能访问。 uH[0kh  
`[CJtd2\  
二,防御效果(突破方式) 8tMte!E  
1中的防护方式用的最早并且用的最多的是金盾防火墙。也正是由于用的人太多了,市面上已经有突破金盾防火墙的软件在出售,原理就是通过JS解析引擎计算出jdfwkey的值。 *F*X_O  
7 L\?  
突破2的方式更简单,和1差不多,只不过是直接在HTTP头中,连JS引擎都省了。 DcA'{21  
[R>   
3无法硬性突破,也就是说,如果屏蔽了带x-forward-for的IP,那么它就不可能访问到。 PuaosMn(9  
u2]g1XjeG  
突破4的方式就是限制请求速度,但是这对于攻击者是一个挑战,限制单个攻击源的请求速度,并且保证攻击效果,这就要求攻击者拥有更多倍的攻击源(肉鸡)。 E+zn\v  
29^bMau)v  
对于5,验证码识别是个大话题,目前阶段几乎不可能应用到CC攻击中,未来也不太可能。但是网络上有很多的打码平台,如果和这些平台对接的话,人工识别验证码,就OVER了(应该不会有人去搞,太麻烦)。 H>f{3S-%  
C4tl4df9  
对于所有的防护方式,如果是把网站域名解析到了别处,通过其他机器转发请求来防御CC攻击流量的(比如CDN),都可以通过添加HOST值的方式将流量发到真实机器上,使这些防护失效。找查网站真实IP的方法很多很复杂,不能保证100%都能找得到,本文不做叙述。 |vz;bJG  
=bWq 3aP)P  
三,负作用 #\BI-zt  
有些IP,我们会要求它一直可以访问到网站内容,比如蜘蛛,比如交易类网站的支付宝异步通知。 +3>/,w(x  
但是收集这些IP,几乎是无法100%准确的收集到的(可能有人会想到useragent,一句话:攻击者可以伪造)。 qk,y|7 p  
%E"/]!}3  
下面要讲的,就不再考虑上述的这个问题了。 xm5FQ) T  
tcEf ~|3  
对于1和2,对访客几乎不会造成影响,判断过程是由浏览器动完成的。 YBIe'(p  
T1HiHvJ  
对于3,由于个别的网络环境,在没有使用代理的情况下,也会在浏览器访问时强行加上x-forward-for的值,最终的导致的就是这个访问无法访问。其实在现在这个年代,除了CC攻击中使用的代理IP外,剩的带x-forward-for的IP,几乎都是这样的情况,也就是访客本地网络环境强加上的。早些年设置代理主要是因为那个时候网速差,用于提高速度。现在搬梯子时设置的SSH代理一般不会加上x-forward-for。 cGta4;  
Q 02??W  
对于4,可能会造成误封。而且这个判断攻击的阀值也没法精确的设置,只能凭经验以及分析网站的具体情况。 r/sRXM:3cZ  
hX| UE  
对于5,对用户体验会产生影响,并且长期下去,对网站形象也会产生影响。 j jT 2k  
BON""yIC   
总结下来就是,几乎所有方式,都会产生或多或少的负作用,所以,任何一种防护方式,在没事的时候不要开,只在被攻击的时候开启。 Q EGanpz  
L_ qv<iM$  
四,什么样的网站容易被CC攻击 D.R|HqZ  
在我处理过的CC攻击中,主要消耗的是CPU和内存,通常在带宽被占满前CPU和内存已经爆掉。 TL{pc=eBo  
而对于静态网站,也就是生成HTML页面的网站,静态请求占用的CPU和内存是极低的,所以几乎不太可能出现生成HTML后被CC攻击挂掉的情况。 ,tF" 4|#  
所以,被CC的主要都是动态网站,比如Discuz,Wordpress等。 soQzIx  
MQH8Q$5D  
五,都是什么人在攻击 ilcy/  
1)无聊恶作剧 _<F@(M5  
2)打击报复 9hLmrYNM1  
3)敲诈勒索 gc:p@<  
4)同行恶意竞争  ~uZLe\>K  
%%,hR'+|  
六,尾声 f.84=epv  
今天遇到的一起攻击事件,某网站被敲诈1万块(也就是前文中的截图,网站有金盾防护,但是被肉鸡穿透)。于是理了理思绪,写下了这些经验之谈,与大家分享。 0R5^p  
MN M>  
原创文章,转载请以超链接方式注明出处:http://www.yundaiwei.com/post/299.html ^@LhUs>3  
[ 此帖被服务器之家在2014-12-24 19:30重新编辑 ]
本人非阿里云员工,所有言论不代表阿里云公司观点。
有偿提供:环境安装、配置、优化,数据迁移,安全加固,攻击防护,故障排除,长期代维等技术服务。
级别: 攻城狮
发帖
575
云币
250
只看该作者 沙发  发表于: 2014-12-24
封 http_user_agent 屡试不爽  Vq)gpR  
偶尔有useragent也随机的cc攻击,可以封 http_refferer,总归有共同点,通过tail日志几秒就看得出来 gC_s\WU  
nginx一个简单的if判断return一个503之类,或者apache一个简单的deny配置 o!l3.5m2d  
一般一分钟内搞定
级别: 架构狮
发帖
1438
云币
1888

只看该作者 板凳  发表于: 2014-12-25
级别: 码农
发帖
149
云币
110
只看该作者 地板  发表于: 2014-12-29
Re防火墙、CDN、WAF等防御CC攻击的几种方式
百度cdn 无视 1ocJ+  
级别: 码农
发帖
149
云币
110
只看该作者 4楼 发表于: 2014-12-29
Re防火墙、CDN、WAF等防御CC攻击的几种方式
具体的应该是ECS+SLB+百度cdn
级别: 科学怪人
发帖
9985
云币
21878

只看该作者 5楼 发表于: 2014-12-29
一些防CC攻击手段方法,对搜索引擎并不友好。
级别: 菜鸟
发帖
71
云币
11
只看该作者 6楼 发表于: 2015-01-01
Re防火墙、CDN、WAF等防御CC攻击的几种方式
        
级别: 架构狮
发帖
1490
云币
1775
只看该作者 7楼 发表于: 2015-01-06
版主建议CDN加个 黑名单功能吧
级别: 新人
发帖
2
云币
3
只看该作者 8楼 发表于: 2017-03-16
回 1楼大韵科技的帖子
人家用的大量的肉机来攻击,看起来完全没有任何规律,跟普通用户差不多,这种情况则怎么办?
发表主题 回复主题
« 返回列表上一主题下一主题

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