在上篇我们介绍了什么是DDoS、以及DDoS最常见的攻击方法:https://www.aqniu.com/?p=55795&preview=true(点击链接查看上篇),那么,我们最关心的问题来了:如何做到有效的DDoS防护呢?!
DDoS防护的历史
在流量清洗产品问世前,通常会采用以下办法:路由黑洞技术、路由器ACL、防火墙访问控制等。主要技术原理为:由DDoS产生的流量找出其规则,利用路由器的ACL或防火墙访问控制策略进行阻挡防护。但该方法的缺点在于防火墙或路由器无法检测应用层攻击,并且无法应对大流量攻击清洗的需求。
后来便出现了专门的硬件流量清洗产品或解决方案,一大波安全厂家加入到抗DDoS阵营,防护方式为将专有的抗DDoS设备部署在本地网络出口,实现各类DDoS攻击防护。
但是随着DDoS攻击流量的增大(GitHub遭受的 1.35 TB攻击量刷新了DDoS攻击流量的峰值),普通的本地部署的防护设备根本无法应对。除此以外,越来越多的企业选择业务出海拓展,但硬件产品的部署模式建设成本过高,并不适用于此类用户。
随着企业业务上云的发展,又出现了抗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如何实现DDoS流量稀释?
举个例子,DDoS攻击的原理就像是收集多地域的小流量,最终汇集为滔天巨浪来发动猛烈的攻势。同理,正是基于这一点,Anycast技术便可以做到对DDoS攻击的完美化解:当DDoS流量在穿越运营商路由器时,路由器会根据BGP优先级把数据包路由到不同的宣告节点,从而分散掉整个DDoS流量。
UCloud在海外节点也具备同样相似的BGP宣告能力,基于覆盖欧洲、美洲、东南亚多地域节点的BGP宣告能力及节点间的专线资源,UCloud Anycast解决方案便可以实现大流量DDoS攻击防护的能力。
UCloud Anycast 解决方案具备以下功能:
1、多地域就近接入:
同一个IP,可同时在海外多个节点进行宣告,根据流量的来源地域就近接入UCloud骨干网,并通过UCloud专线直达服务器。
2、多源站就近处理:
同一个IP,可同步绑定在多个地域的服务器进行服务部署,使请求就近得到处理。
3、分布式全球清洗:
DDoS攻击流量被引至多个地域,并在每个地域的入口处分别进行流量清洗,提供全球级别的抗DDoS安全防护能力。
五、结语
DDoS攻击流量被引至多个地域,并在每个地域的入口处分别进行流量清洗,提供全球级别的抗DDoS安全防护能力。DDoS新的攻击层出不穷、攻击峰值也在不断刷新着记录,我么无法保证做到有备无患,但是可以做到防患于未然。对抗DDoS攻击是一个涉及多个层面的问题,只有政府、运营商、标准组织、安全厂商和最终用户共同合作,才能最终有效抑制这种攻击。