本文来自 Sharktech 归档。产品详情、优惠和公司信息以文章发布时为准。请访问当前服务页面,了解现有选项。
在过去,想要让网站或服务器瘫痪的“坏人”只需发起 DoS(拒绝服务)攻击,从自己的计算机反复向目标发送 ping 请求,直到目标设备不堪重负而宕机。随着带宽成本不断下降,这类攻击相对容易应对;毕竟,只要目标有足够的容量吸收攻击,直到封禁恶意 IP 或屏蔽所有请求,就不会造成后果。
有措施就通常有相应的反制手段。攻击者随后转而采用 DDoS(分布式拒绝服务)攻击,最初入侵并利用大学等机构的大型系统,后来又发现可以在全球受感染计算机上分发并运行恶意软件,建立隐蔽网络。这样一来,他们就有了“僵尸网络”,可迅速扩大规模,压垮任何目标,无论目标拥有多少带宽。
这只是黑客与互联网服务提供商或拥有自有服务器设施的大型公司之间持续猫鼠博弈的开端。如今,僵尸网络仍被广泛使用,但可发起的攻击类型大幅增加,使 DDoS 防护和缓解比以往更具挑战。
下面将介绍日益常见的各类攻击,以及“好人”如何实施 DDoS 防护,以抵御这些攻击。
流量型攻击
如前所述,ping 攻击(也称 ICMP 洪水)是最简单的 DDoS 攻击类型,至今仍最为常见。Arbor Networks 的一项研究指出,所有攻击中有 65% 属于流量型攻击。此类攻击旨在压垮服务器接收并响应请求的能力;换句话说,攻击者利用海量流量使服务器瘫痪,因此称为流量型攻击。另一种类似但稍复杂的方法,是向服务器随机端口发送 UDP(用户数据报协议)请求,让设备忙于查找请求来源并回复“目标不可达”。伪造这些请求的源 IP,或通过放大技术成倍增加请求数量,会让这类 DDoS 攻击更难应对。
传统的缓解方法包括实施严格的防火墙规则并使用路由器访问控制列表、拦截分片 ping 请求并丢弃无效数据包、使用负载均衡器分散洪水流量,以及在不需要 ICMP 和 UDP 时彻底屏蔽它们(很多情况下确实不需要,尤其是主要用于传输游戏数据或处理广播的 UDP)。更先进的 DDoS 防护技术也有助于防止或缓解流量型攻击的影响。
协议攻击
如果说流量型攻击是简单的蛮力攻击,那么协议攻击(通常称为状态耗尽攻击)就是有针对性的蛮力攻击。这类攻击同样依赖向 Web 服务器灌入流量,但重点是耗尽服务器可维持的并发连接数,以破坏其正常运行。常见目标包括用于控制负载均衡器、防火墙及其他关键防护功能的连接状态表。Arbor 报告称,约 20% 的 DDoS 攻击属于协议攻击。
最常见的一种称为 Ping of Death(死亡之 Ping):攻击者向目标发送大型分片 ping 数据包,目标必须耗费大量资源重新组装数据包,并且常因缓冲区溢出或尝试响应 ping 而崩溃。另一种攻击称为 Slowloris,它向服务器发送大量不完整请求,试图尽可能长时间地保持大量连接开放。其目标是耗尽所有可用连接,阻止合法客户端访问设备。SYN 洪水攻击利用 TCP 连接过程中的序列机制,也采用类似方法。
针对协议攻击的 DDoS 防护措施包括:缩短未完成请求的超时时间;使用 DDoS 缓解设备保护防火墙和负载均衡器等易受攻击的防护设施;使用 SYN Cookie 跟踪 TCP 连接并筛除恶意请求;使用 SYN 缓存并缩短 SYN 接收计时器设置。下文将介绍的更先进技术同样能发挥重要作用。
应用层攻击
如今最隐蔽的 DDoS 攻击会针对 HTTP 和 DNS 等特定服务器应用程序,这类攻击称为应用层攻击或第 7 层攻击。使用这类方法的攻击不到 20%,但它们最难缓解,因为攻击者会模拟真实访客的请求行为。此外,发起应用层攻击所需的流量更少,因此监控系统往往需要更长时间才能识别正在发生 DDoS 攻击。
最常见的此类攻击包括 HTTP 洪水:攻击者使用格式正常且未伪造的 GET 和 POST 请求,迫使服务器耗费过多资源作出响应。例如,攻击可能包括并发、重复下载网站元素。其他类型还包括 NTP(网络时间协议)放大攻击,它利用开放的 NTP 服务器放大少量查询的效果;以及以类似方式利用 DNS(域名系统)服务器的 DNS 放大攻击。
应用层攻击最难抵御。仔细监控并按 IP 跟踪 Web 活动、与 IP 信誉记录进行比对、拦截恶意机器人,以及要求执行 CAPTCHA 等 JavaScript 功能,有时可以缓解 HTTP 洪水;但第 7 层攻击还需要更先进的 DDoS 防护措施,例如使用缓存服务器以及先进的过滤和负载均衡技术。另一种有效方法是将流量划分为“白名单”“黑名单”和“灰名单”类别,并将灰名单流量转移到单独的隔离服务器上进行进一步检测。
然而,这场猫鼠博弈还会持续相当长时间,尤其是 DDoS 攻击不断演变为多层攻击,同时涉及两种甚至全部三种攻击类型。举例来说,流量型攻击可以用作幌子,耗尽系统资源,使其更容易受到复杂的应用层攻击。顶级服务提供商不断改进并测试新的 DDoS 防护和缓解技术,尽可能领先于攻击者。
