企业安全最佳实践-防DDOS攻击
本节主要写中小企业如何应对DDOS攻击:
一.DDOS攻击背景和危害
中小企业在发展过程中,很容易遭受DDOS攻击,主要有以下几种原因:
竞争对手红眼,比如在你做活动的时候攻击你
地下黑产要勒索你,要求收保护费
DDOS攻击的成本低,但非常暴力和有效,往往给企业带来长时间的业务中断。
如果你防不住,那可能会经常被搞,如果你防护了几次,那一般情况下攻击者也会失去兴趣(当然不排除发起更高级的攻击的可能)。
二.中小企业防护DDOS面临的困境
首先中小企业的互联网出口带宽一般都不大,一般小于1G,当被攻击的流量到达一定程度后,不管你的服务是云上还是在托管机房,都会把你的IP封禁(一般24小时),以免影响托管在机房里的其他用户。
可能你会想要买个抗DDOS设备来防护,如果在你的网络入口部署抗DDOS硬件设备,没有多大用,因为流量还没到你的设备上,你的出口已经堵住了,因此抗DDOS设备能发挥作用的前提是你有足够的冗余带宽用于防护,这对大多数中小企业来讲做不到。
所以自主防护这条路是走不通了,要借助第三方抗DDOS方案。
三.选择抗DDOS供应商
如果你的服务器是托管在机房里,而机房有提供抗DDOS服务,可以考虑选择,但往往机房供应商清洗能力有限,如果攻击量非常大的时候,还需要借助上一级运营商的防护;
其他情况下,建议选择云抗DDOS的方案,也就是将DNS解析切换到高防IP,清洗后再回源的方案。
下面主要介绍云抗DDOS的技术方案。
四.抗DDOS防护技术方案
下图是切到抗DDOS中心后的访问示意图:
攻击流量被引导到高防中心后,经过清洗后回源到网站上,实现了抗DDOS目的,可以保障用户的正常访问。
这里需要注意的是:
1.用于抗DDOS的源站IP一定要隐藏好,也就是不可被猜测到,所以建议预留线路用于抗DDOS(比如原来是BGP线路,但可以预留电信线路用于抗D)
2.把主站(易受攻击)的IP和其他业务服务IP区分开,以免扩大攻击影响面,另外IP切换的时候也方便
3.经过抗DDOS中心后,对网站请求的源IP变成抗D供应商的IP段,如果有做防火墙或Nginx上有对访问频率限制的话,应该对这些IP段做白名单,允许访问
4.事先将所有配置都准备好,当发生攻击时,只要将DNS的解析切换到高防IP上即可,这样可以大大降低业务中断时间。
五.演练的必要性
购买抗DDOS服务后,建议定期进行演练,把真实的服务切换到抗DDOS中心测试下,不一定要测试攻击,但至少要测试服务可用性和访问延时。
这样可以保证整个方案是可行的,否则等到那天攻击来临后,手忙脚乱,甚至心里没底都不敢切换过去。
六.什么时候要切到抗DDOS中心
1.如果是有重要活动要求服务不能中断,那建议直接切换到抗DDOS中心。(因为即使第一时间发现攻击,DNS切换过去到解析完全生效也需要15分钟左右时间)
2.如果是平时,不建议直接切换到抗DDOS中心,因为多了一层转发,访问延时会增加,可能会影响用户访问体验(当然现在有抗DDOS供应商提供了BGP高防方案,访问延迟低,可以兼顾到不同运营商的用户)。
七.抗CC攻击方案
此外,DDOS分为2种,一种是耗尽带宽型的,一种是耗尽服务型的(一般叫CC攻击)。从攻击频率来看,DDOS攻击成本相对高所以频率会低点,这种情况下,只有依靠抗DDOS中心来防护。
如果是CC攻击,由于攻击成本非常低,可能会非常频繁,我们公司2016年大大小小遭受10多次攻击,简直不堪其扰,这时候你要分析是不是遭受CC攻击,加上响应时间,这时候即使切换,也会造成至少30分钟的服务不可用时间。
有没有更好的方法呢?
从我们的经验看,一般CC攻击有2种常用手段:
同一UserAgent不同IP 同一IP不同UA
从防护上来看,建议:
1.在Nginx上做限流策略,比如www.abc.com总请求量到一定程度后则丢弃新的请求,这样可以确保后台服务受到保护,为下一步处理争取时间;
2.分析攻击特点,用Nginx封禁,可以封禁攻击者的IP(一般封禁IP段),也可以封禁攻击者的UA;
3.如果实在不行,再切到抗DDOS中心上。
以上的策略目前在我们公司比较有效,可以大大降低服务受影响时间。