分布式拒绝服务(DDoS)攻击是一种网络攻击,即利用多台计算机使目标系统过载,致使其无法正常供目标用户访问。2021 年发生了约 290 万次 DDoS 攻击 — 较 2020 年增长了 31%,这一年由于新冠疫情封锁导致组织和个人纷纷转向数字化,DDoS 攻击次数创下了历史新高。
与拒绝服务(DoS)攻击(使用一台计算机及其互联网连接通过海量数据包淹没目标系统)不同,DDoS 攻击是单个实体或攻击者利用多台受感染的计算机(称为“Bot”或“僵尸”)生成指向目标的过多流量,导致目标网络、Web 服务器、计算机或应用因受到来自多个来源的大规模流量的轮番轰炸而中断。这种流量激增会耗尽目标系统的资源,致使合法用户无法对其进行访问。
在 DDoS 攻击中,一个实体使用多台计算机攻击单个目标(如网络、Web 服务器、计算机或应用),导致目标用户无法使用目标系统。
DDoS 攻击在英国、欧盟和美国等世界许多地方都是非法的。
在美国,《计算机欺诈与滥用法》(CFAA)规定以下访问计算机的情形属于非法行为:
犯罪分子可能面临严重的刑事指控、处罚、罚款、监禁及其他制裁。如若遭到了 DDoS 攻击,建议您联系执法部门。
2018 年 3 月,GitHub 遭到了大规模 DDoS 攻击。在此次攻击事件中,受感染的计算机以每秒 1.35 TB 流量的峰值请求速率轰炸开发人员平台。GitHub 只能艰难应对其导致的间歇性中断,多亏了其先进的 DDoS 防御系统,才得以缓解攻击。
DDoS 攻击通常瞄准网络连接的组件。为了更好地了解攻击和受影响的区域,我们快速看一下基本网络连接的各层。
DDoS 攻击主要分为以下三类:
应用层攻击 – 也称为七层(L7)攻击。此类攻击使用特定的数据包类型或连接请求以消耗有限的资源,例如占用最大数量的开放连接、可用内存或 CPU 时间。典型的七层攻击会发送精心设计的 HTTP 请求流量来消耗资源并妨碍应用或网站交付内容(暂时禁用应用或网站,甚至致其崩溃),导致用户无法访问目标。此类攻击很难检测,因为它们使用的带宽通常少于其他类型的攻击,所以不一定会出现流量激增的情况。
七层攻击的危害性也最大,因为它们看似是真正的应用流量,但却企图利用常见 Web 应用中的漏洞。此外,攻击者越来越多地使用新技术(如机器学习和人工智能)来侵入目标。因此,缓解应用层 DDoS 攻击的最佳方法是部署自适应性动态防御。
常见的七层 DDoS 攻击包括 Slowloris 慢速攻击、Slow POST 慢速攻击、HTTP 洪水攻击及 Challenger Collapsar (CC)。
协议攻击 – 有时称为计算攻击或网络攻击。协议攻击通过耗尽三层和四层网络设备的计算能力来拒绝服务。通常,它们会以较高的数据包速率传输许多非常小的数据包。然后,攻击者尝试通过发送过多的数据包造成 CPU(或防火墙等设备)占用过高,但保持较低的带宽用量,这样攻击就能躲过云服务的监测。
协议攻击企图利用互联网协议(例如网络层中的互联网控制消息协议(ICMP)和传输层中的传输控制协议(TCP))中的漏洞或缺陷来消耗资源。最佳缓解方法是即时安装补丁并正确配置网络设备。
常见的协议攻击包括 SYN 洪水攻击、 Ping-of-Death 及 Smurf。
流量耗尽型攻击 – 也称为洪水攻击。流量耗尽型攻击是最常见的 DDoS 攻击类型。洪水攻击会向目标受害者的网络发送大规模流量(通常是大数据包),以消耗大量带宽,导致用户被拒绝访问。攻击者往往使用僵尸网络来增加攻击目标网络或服务器的流量,也会使用域名系统(DNS)放大等易受攻击的协议来实现调用僵尸网络。
此类大规模 DDoS 攻击的破坏力可能远远超出了大多数企业网络的承受能力。应对此类攻击的最佳方法是使用下游防火墙和全局分布式高容量接入点(POP)。
常见的流量耗尽型攻击包括用户数据报协议(UDP)和 ICMP 洪水攻击(或 Ping Flood)。
流量分析工具能够根据以下迹象帮助识别 DDoS 攻击:
针对此类攻击的安全防护措施包括防火墙、Web 应用防火墙、拒绝服务攻击工具、入侵检测、防御及流量过滤系统。
DDoS 攻击的业务影响会导致重大损失,并可能因攻击的规模、持续时间和受害者的业务性质而有很大差异。一次 DDoS 攻击会对企业造成多层面的直接业务影响:即时、短期和长期。
企业可通过以下最佳实践显著降低其应用遭受 DDoS 攻击及其他安全威胁的风险。
NGINX 提供了以下多种应用和 API 安全防护解决方案,可有效防御 DDoS 攻击:
想要亲身体验 NGINX Plus 和 NGINX App Protect 吗?立即下载 30 天免费试用版,或联系我们讨论您的用例。