DDos 攻击自打出现以后,就成为最难防御的攻击方式。仅仅在过去的一年里,DDoS 的数次爆发就让人大开眼界。
事件
2016年4月,黑客组织对暴雪娱乐发动了 DDoS 攻击,魔兽世界、守望先锋多款游戏出现宕机的情况。 2016年5月,黑客组织针对全球银行机构发动 DDoS 攻击,导致约旦、韩国、摩纳哥等国的央行系统陷入瘫痪。 2016年9月,法国主机商 OVH 受到 DDoS 攻击,峰值达到1Tbps 2016年10月,DynDNS 受到 DDoS 攻击,北美众多网站无法访问,受影响的网站均排前列。
在你不经意之间,DDoS 可能已经在互联网上横行无忌了。
在谈攻防史之前,我们先来看看 DDoS 的攻击原理,知己知彼,百战不殆。
什么是Ddos 攻击?
DDoS 攻击是分布式拒绝服务攻击(Distributed Denial of Service)的缩写,核心是拒绝服务攻击,通过使目标电脑的网络或系统资源耗尽,使服务暂时中断或停止,导致其正常用户无法访问。而攻击的形式,又分为带宽消耗型和资源消耗型。带宽消耗型通过 UDP 洪水攻击、ICMP 洪水攻击以及其他攻击类型;资源消耗型包含 CC攻击、SYN 洪水攻击、僵尸网络攻击等。不同的攻击类型,我们的应对措施有所不同。不过在我们的日常工作中,我们所使用的 DDoS 攻击普遍是带宽消耗型攻击,也就是说,黑客会针对你的服务器发送海量 UDP 包、SYN 包,让你的服务器的带宽被攻击流量占满,无法对外提供服务。举个例子:用户通过网络来访问你的服务器就如同客人过桥来找你,但是由于你的钱只够建立一个双向四车道的桥,但是攻击者派了 100 辆大卡车,堵在你的桥门口,导致没有正常客人能够过桥来找你。
在这种情况下,你如果想要让你的客人能够继续访问,那就需要升级你的大桥,来让有空余的车道给你的客人来通过。但是,在中国的带宽由三大运营商移动联通电信提供接入,互联网带宽的成本是非常高的,而攻击者使用肉鸡攻击,攻击的成本要低很多,所以我们无法去无限制的升级我们的带宽。
在互联网的初期,人们如何抵抗 DDoS 攻击?
DDoS 并不是现在才出现的,在过去,黑洞没有出现的时候,人们如何抵抗 DDoS 攻击呢? 在互联网初期,IDC 并没有提供防护的能力,也没有黑洞,所以攻击流量对服务器和交换机造成很大的压力,导致网内拥塞,回环,甚至是服务器无法正常工作,很多IDC往往采用拔网线之类简单粗暴的办法来应对。后来,一些 IDC 在入口加入了清洗的程序,能够对攻击流量进行简单的过滤,这样就大大的减轻了服务器和内网交换机的压力。但是机房的承载能力也是有上限的,如果攻击总量超出了机房的承载能力,那么会导致整个机房的入口被堵死,结果就是机房的所有服务器都因为网络堵塞而无法对外提供服务。
后来,黑洞出现了,但是那时候的黑洞也是在机房的入口配置,只是减轻了服务器的压力,如果攻击的总量超出了机房的承载能力,最终还是因入口被堵塞而导致整个机房的服务器无法对外提供服务。在这种情况下,宣告了攻击者的得手,没有必要再尽心攻击,但是如果攻击者并没有因为目标无法访问而停手,那么机房入口仍有拥塞的风险。
后来,黑洞进一步升级,在机房黑洞之上采用了运营商联动黑洞。在遇到大流量攻击时,DDoS防御系统调用运营商黑洞,在运营商侧丢弃流量,可以大大缓解DDoS攻击对机房带宽的压力。
云计算平台也广泛采用了此类黑洞技术隔离被攻击用户,保证机房和未受攻击用户不受DDoS攻击影响。 不仅如此,云计算平台的优势在于提供了灵活可扩展的计算资源和网络资源,通过整合这些资源,用户可以有效缓解DDoS带来的影响。
黑洞是如何抵挡 DDoS 攻击的
目前最常用的黑洞防御手段的流程图如上图所示。攻击时,黑客会从全球汇集攻击流量,攻击流量汇集进入运营商的骨干网络,再由骨干网络进入下一级运营商,通过运营商的线路进入云计算机房,直到抵达云主机。 而我们的防御策略刚好是逆向的,云服务商与运营商签订协议,运营商支持云服务厂商发布的黑洞路由,并将黑洞路由扩散到全网,就近丢弃指定IP的流量。当云服务商监测到被攻击,且超出了免费防御的限度后,为了防止攻击流量到达机房的阈值,云计算系统会向上级运营商发送特殊的路由,丢弃这个 IP 的流量,使得流量被就近丢弃在运营商的黑洞中。
为什么托管服务商不会替你无限制承担攻击?
一般来说,服务商会帮你承担少量的攻击,因为很多时候可能是探测流量等,并非真实的攻击,如果每次都丢入黑洞,用户体验极差。 DDoS攻击是我们共同的敌人,大多数云计算平台已经尽力为客户免费防御了大多数的DDoS,也和客户共同承担DDoS的风险。当你受到了大规模 DDoS 攻击后,你不是唯一一个受害者,整个机房、集群都会受到严重的影响,所有的服务的稳定性都无法保障。 除此之外,在上面我们说到,目前 DDoS 都是带宽消耗型攻击,带宽消耗攻击型想要解决就需要提升带宽,但是,机房本身最大的成本便是带宽费用。而带宽是机房向电信、联通、移动等通信运营商购买的,运营商的计费是按照带宽进行计费的,而运营商在计费时,是不会将 DDoS 的攻击流量清洗掉的,而是也算入计费中,就导致机房需要承担高昂的费用。如果你不承担相应的费用,机房的无奈之下的选择自然便是将你的服务器丢入黑洞。
当你的主机被攻击后,服务商如何处理?
目前随着大家都在普遍的上云,我们在这里整理了市场上的几家云计算服务提供商的黑洞策略,来供你选择。
AWS
AWS 的 AWS Sheild 服务为用户提供了 DDoS 防御服务。该服务分为免费的标准版和收费的高级班,免费的标准版不承诺防护效果,存在屏蔽公网 IP 的可能。付费版只需要每月交 3000 美元,则可以享受防护服务。
Azure
Azure 为用户提供了免费的抗 DDoS 攻击的服务,但是不承诺防护的效果。如果攻击的强度过大,影响到了云平台本身,则存在屏蔽公网 IP 的可能。
阿里云
阿里云的云盾服务为用户提供 DDoS 攻击的防护能力,在控制成本的情况下,会为用户免费抵御 DDoS 攻击,当攻击超出阈值后,阿里云就会对被攻击 IP 实行屏蔽操作。 阿里云免费为用户提供最高 5Gbps 的恶意流量的攻击防护,你可以在各个产品(ECS、SLB、EIP等)的产品售卖页面看到相关的说明和条款。在其帮助文档也说明了相关的服务的限制。
腾讯云
腾讯云也为用户提供了免费的 DDoS 攻击防护服务,其免费提供的防御服务的标准如下:外网 IP 被攻击峰值超过 2Gbps 会执行 IP 封堵操作(丢入黑洞),一般黑洞的时长为2小时,大流量攻击时,封堵的时长从24小时到72小时不等。
普通 IDC
普通的 IDC 大多不提供防御能力,如果受到攻击,会存在被拔网线的可能。
如何合理的借助云计算的能力来抵抗 DDoS 攻击
合理的借助云计算的能力,可以让我们尽可能的减少被攻击时的损失:
1,充分利用云平台的弹性可扩展资源。设计可以横向扩展的系统架构,避免IP资源或者CPU资源耗尽,不仅可以有效缓解DDoS攻击的影响,而且可以提升系统可靠性。
2,缩小攻击半径。在设计系统时分离应用层和数据层,分离网络访问层和系统服务层,充分利用云服务提供商提供的云数据库、云存储、负载均衡、云网络等产品,可以有效缓解DDoS攻击的危害。
3,考虑选择合适的DDoS防护方案,主动抵御可能出现的DDoS攻击。
4,准备应对DDoS预案,第一时间响应并实施应对方案。