DDoS 防护的历史
在流量清洗产品问世前,通常会采用以下办法:路由黑洞技术、路由器 ACL、防火墙访问控制等。主要技术原理为:由 DDoS 产生的流量找出其规则,利用路由器的 ACL 或防火墙访问控制策略进行阻挡防护。
但该方法的缺点在于防火墙或路由器无法检测应用层攻击,并且无法应对大流量攻击清洗的需求。
后来便出现了专门的硬件流量清洗产品或解决方案,一大波安全厂家加入到抗 DDoS 阵营,防护方式为将专有的抗 DDoS 设备部署在本地网络出口,实现各类 DDoS 攻击防护。
但是随着 DDoS 攻击流量的增大(GitHub 遭受的 1.35 TB 攻击量刷新了 DDoS 攻击流量的峰值),普通的本地部署的防护设备根本无法应对。除此以外,越来越多的企业选择业务出海拓展,但硬件产品的部署模式建设成本过高,并不适用于此类用户。
图源:App Annie
随着企业业务上云的发展,又出现了抗 D 云服务这一概念,该手段借助于云计算厂商分布全球的计算能力,满足云端大流量清洗的需求。抗 D 云服务的好处在于节省硬件采购和部署成本,特别适用于出海企业的抗 D 需求,性价比较高。
接下来我们以 UCloud DDoS 高防系统为例,为大家详细介绍。
DDoS 防御系统的三大模块
通常,一个完整且成熟的 DDoS 攻击防御系统包括三大模块:检测系统、联动系统、清洗系统。
1、检测系统
流量路径如上图,WBR(WAN Border Router)是 UCloud 的边界路由器,用来承载所有的外网流量。WBR 做一份外网流量的端口镜像,送到检测集群。根据预设的算法,判断某个 EIP 是否被攻击,将证据保存到数据中心备查,并将信息通知联动系统。
2、联动系统
联动系统接收到检测系统的信息,判断进行清洗还是封堵。如果流量过高,可能打满 UCloud 与上联运营商的接口,那么就会直接封堵(调用运营商的封堵接口,将该 EIP 黑洞),用来保护机房的安全。否则将信息通知清洗系统。
3、清洗系统
清洗集群将攻击流量去除,保留正常的业务流量,并回注到主路径,从而保护机房的内网网络设备不会出现负载异常,保障业务的安全。
但这时可能有人会提出问题,也就是前文所讲到的,攻击流量越来越大时,单一的流量清洗设备和流量清洗中心已经无法处理如此大规模的网络流量,云端清洗系统的带宽能够支撑吗?
此外,对于企业而言,购买抗 D 服务本身就是一项防患于未然的行为,基于成本与最优性价比考虑,企业势必会选择已遭受攻击的最高流量值或者是行业可供参考的数值来购买抗 D 服务。但是 DDoS 攻击的来源非常广泛,经常会出现从一个国家的不同位置甚至是全世界的不同位置同时发起攻击,没有人能够预兆攻击流量的大小,当攻击流量完全占满企业网络出口带宽时,这时无论再进行什么形式的清洗,都不会有任何效果了,可以说,DDoS 的防护值也就是企业的网络瓶颈所在。
因此,针对这一点,我们要做的是:进行流量清洗之前先进行流量稀释。当攻击流量被稀释和分散以后,攻击情况就从多对一变成多对多,这样到达每个流量清洗设备或流量清洗中心的网络流量都会下降到其能够处理的范围之内,也就能够进行进一步的清洗工作了。
目前 UCloud 采用的是 Anycast(任播)技术进行流量稀释。
什么是 Anycast?
我们先来科普一下,什么是 Anycast 技术?
Anycast 技术最初在 RFC1546 中提出,是一种网络寻址和路由的策略。一个 Anycast 地址用来标识一组提供特定服务、位于不同地理位置的服务器,客户端并不关心提供服务的具体是哪台服务器,访问该地址的报文将根据 BGP 协议的选路优先级选择最近的服务器送达。
首先要了解的是,在 IP 网络中有三种寻址方法:单播寻址、多播寻址和任播寻址。
单播(Unicast):
指封包在计算机网络的传输过程中,目的地址为单一目标的一种传输方式。每次只有两个实体相互通信,发送端和接收端都是唯一确定的。它是现今网络应用最为广泛,通常所使用的网络协议或服务大多采用单播传输,例如一切基于 TCP 的协议。
多播(Multicast):
指把信息同时传递给一组目的地址。它使用的策略是最高效的,因为消息在每条网络链路上只需传递一次,而且只有在链路分叉的时候,消息才会被复制。
任播(Anycast):
Anycast 技术最初在 RFC1546 中提出,是一种网络寻址和路由的策略。Anycast 采用将一个单播地址分配到处于 Internet 中多个不同物理位置的主机上,访问该地址的报文将根据 BGP 协议的选路优先级选择最近的服务器送达。
Anycast 可以看作是 Unicast 和 Multicast 的结合,首先它具备 Unicast 的唯一性,每一个单独的 IP 会话都能够找到唯一的源主机和目标主机,同时又可以通过 BGP 向 Internet 宣告相同的 Anycast IP 地址,就可以实现 Multicast 一对多传输信息的目的。
Anycast 技术的典型应用便是谷歌建立的全球免费网域名称系統(DNS)解析服务:Google Public DNS,该服务具备解析速度快、安全性与可靠性佳等优点,能够使上网的速度更快更稳定。
图:Anycast 典型应用-Google 的 Public DNS 服务 8.8.8.8
Anycast 如何实现 DDoS 流量稀释?
举个例子,DDoS 攻击的原理就像是收集多地域的小流量,最终汇集为滔天巨浪来发动猛烈的攻势。同理,正是基于这一点,Anycast 技术便可以做到对 DDoS 攻击的完美化解:当 DDoS 流量在穿越运营商路由器时,路由器会根据 BGP 优先级把数据包路由到不同的宣告节点,从而分散掉整个 DDoS 流量。
UCloud 在海外节点也具备同样相似的 BGP 宣告能力,基于覆盖欧洲、美洲、东南亚多地域节点的 BGP 宣告能力及节点间的专线资源,UCloud Anycast 解决方案便可以实现大流量 DDoS 攻击防护的能力。(戳文末阅读原文可详细了解)
图:UCloud Anycast 全球分布式清洗示意图
UCloud Anycast 解决方案具备以下功能:
1、多地域就近接入:
同一个 IP,可同时在海外多个节点进行宣告,根据流量的来源地域就近接入 UCloud 骨干网,并通过 UCloud 专线直达服务器。
2、多源站就近处理:
同一个 IP,可同步绑定在多个地域的服务器进行服务部署,使请求就近得到处理。
3、分布式全球清洗:
DDoS 攻击流量被引至多个地域,并在每个地域的入口处分别进行流量清洗,提供全球级别的抗 DDoS 安全防护能力。
五、结语
DDoS 新的攻击类型层出不穷、攻击峰值也在不断刷新着记录,我们无法保证做到有备无患,但是可以做到防患于未然。对抗 DDoS 攻击是一个涉及多个层面的问题,只有政府、运营商、标准组织、安全厂商和最终用户共同合作,才能最终有效抑制这种攻击。
本文转载自公众号 UCloud 技术(ID:ucloud_tech)。
原文链接:
https://mp.weixin.qq.com/s/lBwM88FDz0wMOGVFV4id_A
评论