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

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

级别: 论坛版主
发帖
3273
云币
10681
— 本帖被 服务器之家 执行加亮操作(2014-12-24) —
一,防御方式 &k}B66  
1)JavaScript方式输出入口 $G"\@YC<  
演示可以看下面这张图: SQ2v  
U.t][#<3  
第一次访问的时候,不是直接返回网页内容,而且返回这段JS程序。 <Y}m/-sD5  
作用就是计算出入口变量的值,然后在访问的网址后面加上类似于”?jdfwkey=hj67l9″的字串,组合成新的网址,然后跳转,当防火墙验证了jdfwkey的值(hj67l9)是正确的之后,就放行,一段时间内就不会再出这个判断程序的页面。 \l /}` w  
h?SRX_  
2)301或者302转向方式输出入口 |au`ph5  
原理和1类似,区别在于把入口直接输出在了HTTP头部信息里,不重复叙述了。 rY^uOrR>j*  
FD 8Lk  
2.5)还有一些把入口通过其他方式输出的,比如cookie,类似于1和2,原理都是在第一次访问的时候设置一道槛。这个就不单独计算为一条了。 ]9w)0iH  
N}B&(dJ  
3)屏蔽代理 `IwZVz  
由于一部分的CC攻击是利用代理服务器发起的,所以有些时候防CC会屏蔽掉带x-forward-for这个值的IP,对匿名代理无效。  eu$VKLY*  
L QV@]z&  
4)判断速率 /Ls|'2J<$  
由于CC攻击是持续的发起请求,所以发起攻击的IP在单位时间内的请求数量会明显比正常多出很多,通过把请求频率过高的IP屏蔽掉来防御。 o<!H/PN  
c{y'&3\  
5)验证码 er3~gm  
这个基本是最后的无敌大招了,必须在用户输入验证码后才能访问。 n8;L_43U  
#`|Nm3b  
二,防御效果(突破方式) }a5TY("d9H  
1中的防护方式用的最早并且用的最多的是金盾防火墙。也正是由于用的人太多了,市面上已经有突破金盾防火墙的软件在出售,原理就是通过JS解析引擎计算出jdfwkey的值。 :3Q:pKg  
xtv%C  
突破2的方式更简单,和1差不多,只不过是直接在HTTP头中,连JS引擎都省了。 7:vl -ZW  
lF/ Xs  
3无法硬性突破,也就是说,如果屏蔽了带x-forward-for的IP,那么它就不可能访问到。 t`Z3*?UqI  
\D z? h  
突破4的方式就是限制请求速度,但是这对于攻击者是一个挑战,限制单个攻击源的请求速度,并且保证攻击效果,这就要求攻击者拥有更多倍的攻击源(肉鸡)。 |Ol29C$@|  
O8\f]!O(  
对于5,验证码识别是个大话题,目前阶段几乎不可能应用到CC攻击中,未来也不太可能。但是网络上有很多的打码平台,如果和这些平台对接的话,人工识别验证码,就OVER了(应该不会有人去搞,太麻烦)。 *Ts$Hj[  
Ij4q &i"  
对于所有的防护方式,如果是把网站域名解析到了别处,通过其他机器转发请求来防御CC攻击流量的(比如CDN),都可以通过添加HOST值的方式将流量发到真实机器上,使这些防护失效。找查网站真实IP的方法很多很复杂,不能保证100%都能找得到,本文不做叙述。 hizM}d-"C  
+0%r@hTv&>  
三,负作用 aIa<,  
有些IP,我们会要求它一直可以访问到网站内容,比如蜘蛛,比如交易类网站的支付宝异步通知。 nn:'<6"oV  
但是收集这些IP,几乎是无法100%准确的收集到的(可能有人会想到useragent,一句话:攻击者可以伪造)。 tb~E.Lm\  
Ojl X<y.  
下面要讲的,就不再考虑上述的这个问题了。 MhHh`WUGh  
bv]SR_Tiq  
对于1和2,对访客几乎不会造成影响,判断过程是由浏览器动完成的。 Sq,>^|v4&e  
)m =xf1  
对于3,由于个别的网络环境,在没有使用代理的情况下,也会在浏览器访问时强行加上x-forward-for的值,最终的导致的就是这个访问无法访问。其实在现在这个年代,除了CC攻击中使用的代理IP外,剩的带x-forward-for的IP,几乎都是这样的情况,也就是访客本地网络环境强加上的。早些年设置代理主要是因为那个时候网速差,用于提高速度。现在搬梯子时设置的SSH代理一般不会加上x-forward-for。 z-gMk@l  
y'^U4# (  
对于4,可能会造成误封。而且这个判断攻击的阀值也没法精确的设置,只能凭经验以及分析网站的具体情况。 @u/CNx,`X  
B6IKD  
对于5,对用户体验会产生影响,并且长期下去,对网站形象也会产生影响。 aeN #<M&$<  
&)Qq%\EP4  
总结下来就是,几乎所有方式,都会产生或多或少的负作用,所以,任何一种防护方式,在没事的时候不要开,只在被攻击的时候开启。 r?[[.zm"7  
$<)]~* *K  
四,什么样的网站容易被CC攻击 Wu{_QuAB  
在我处理过的CC攻击中,主要消耗的是CPU和内存,通常在带宽被占满前CPU和内存已经爆掉。 'q:7PkN!p  
而对于静态网站,也就是生成HTML页面的网站,静态请求占用的CPU和内存是极低的,所以几乎不太可能出现生成HTML后被CC攻击挂掉的情况。 n!Y_SPg   
所以,被CC的主要都是动态网站,比如Discuz,Wordpress等。 Co(N8>1  
1HNP@9ga  
五,都是什么人在攻击 Ow>u!P!  
1)无聊恶作剧 00i MU  
2)打击报复 s/hWhaS<  
3)敲诈勒索 iupkb  
4)同行恶意竞争 l9|K,YVW  
)s:kQ~+  
六,尾声 FD E?O]^  
今天遇到的一起攻击事件,某网站被敲诈1万块(也就是前文中的截图,网站有金盾防护,但是被肉鸡穿透)。于是理了理思绪,写下了这些经验之谈,与大家分享。 S{l)hwlE  
5%9Uh'y#  
原创文章,转载请以超链接方式注明出处:http://www.yundaiwei.com/post/299.html oZ/"^5  
[ 此帖被服务器之家在2014-12-24 19:30重新编辑 ]
本人非阿里云员工,所有言论不代表阿里云公司观点。
有偿提供:环境安装、配置、优化,数据迁移,安全加固,攻击防护,故障排除,长期代维等技术服务。
级别: 攻城狮
发帖
575
云币
250
只看该作者 沙发  发表于: 2014-12-24
封 http_user_agent 屡试不爽 d_$0  
偶尔有useragent也随机的cc攻击,可以封 http_refferer,总归有共同点,通过tail日志几秒就看得出来 A3 TR'BFw-  
nginx一个简单的if判断return一个503之类,或者apache一个简单的deny配置 Ji,;ri2i  
一般一分钟内搞定
级别: 架构狮
发帖
1438
云币
1888

只看该作者 板凳  发表于: 2014-12-25
级别: 码农
发帖
149
云币
110
只看该作者 地板  发表于: 2014-12-29
Re防火墙、CDN、WAF等防御CC攻击的几种方式
百度cdn 无视 lWk/vj<5  
级别: 码农
发帖
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 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)