概念回顾:分布式拒绝服务 (DDoS) 攻击
原文作者:NGINX
转载来源:NGINX 开源社区
NGINX 唯一中文官方社区 ,尽在 nginx.org.cn
分布式拒绝服务 (DDoS) 攻击是一种网络攻击,即利用多台计算机使目标系统过载,致使其无法正常供目标用户访问。2021 年发生了约 290 万次 DDoS 攻击 — 较 2020 年增长了 31%,这一年由于新冠疫情封锁导致组织和个人纷纷转向数字化,DDoS 攻击次数创下了历史新高。
与拒绝服务 (DoS) 攻击(使用一台计算机及其互联网连接通过海量数据包淹没目标系统)不同,DDoS 攻击是单个实体或攻击者利用多台受感染的计算机(称为“Bot”或“僵尸”)生成指向目标的过多流量,导致目标网络、Web 服务器、计算机或应用因受到来自多个来源的大规模流量的轮番轰炸而中断。这种流量激增会耗尽目标系统的资源,致使合法用户无法对其进行访问。
在 DDoS 攻击中,一个实体使用多台计算机攻击单个目标(如网络、Web 服务器、计算机或应用),导致目标用户无法使用目标系统。
DDoS 攻击是犯罪吗?
DDoS 攻击在英国、欧盟和美国等世界许多地方都是非法的。
在美国,《计算机欺诈与滥用法》(CFAA) 规定以下访问计算机的情形属于非法行为:
未经授权
超出授权的访问器权限
意图造成破坏
犯罪分子可能面临严重的刑事指控、处罚、罚款、监禁及其他制裁。如若遭到了 DDoS 攻击,建议您联系执法部门。
有哪些 DDoS 攻击示例?
2018 年 3 月,GitHub 遭到了大规模 DDoS 攻击。在此次攻击事件中,受感染的计算机以每秒 1.35 TB 流量的峰值请求速率轰炸开发人员平台。GitHub 只能艰难应对其导致的间歇性中断,多亏了其先进的 DDoS 防御系统,才得以缓解攻击。
DDoS 攻击有哪三种类型?
DDoS 攻击通常瞄准网络连接的组件。为了更好地了解攻击和受影响的区域,我们快速看一下基本网络连接的各层。
DDoS 攻击主要分为以下三类:
1. 应用层攻击 — 也称为七层 (L7) 攻击。
此类攻击使用特定的数据包类型或连接请求以消耗有限的资源,例如占用最大数量的开放连接、可用内存或 CPU 时间。典型的七层攻击会发送精心设计的 HTTP 请求流量来消耗资源并妨碍应用或网站交付内容(暂时禁用应用或网站,甚至致其崩溃),导致用户无法访问目标。此类攻击很难检测,因为它们使用的带宽通常少于其他类型的攻击,所以不一定会出现流量激增的情况。
七层攻击的危害性也最大,因为它们看似是真正的应用流量,但却企图利用常见 Web 应用中的漏洞。此外,攻击者越来越多地使用新技术(如机器学习和人工智能)来侵入目标。因此,缓解应用层 DDoS 攻击的最佳方法是部署自适应性动态防御。
常见的七层 DDoS 攻击包括 Slowloris 慢速攻击、Slow POST 慢速攻击、HTTP 洪水攻击及 Challenger
Collapsar (CC)。
2. 协议攻击 — 有时称为计算攻击或网络攻击。
协议攻击通过耗尽三层和四层网络设备的计算能力来拒绝服务。通常,它们会以较高的数据包速率传输许多非常小的数据包。然后,攻击者尝试通过发送过多的数据包造成 CPU(或防火墙等设备)占用过高,但保持较低的带宽用量,这样攻击就能躲过云服务的监测。
协议攻击企图利用互联网协议(例如网络层中的互联网控制消息协议 (ICMP) 和传输层中的传输控制协议 (TCP))中的漏洞或缺陷来消耗资源。最佳缓解方法是即时安装补丁并正确配置网络设备。
常见的协议攻击包括 SYN 洪水攻击、Ping-of-Death 及 Smurf。
3. 流量耗尽型攻击 — 也称为洪水攻击。
流量耗尽型攻击是最常见的 DDoS 攻击类型。洪水攻击会向目标受害者的网络发送大规模流量(通常是大数据包),以消耗大量带宽,导致用户被拒绝访问。攻击者往往使用僵尸网络来增加攻击目标网络或服务器的流量,也会使用域名系统 (DNS) 放大等易受攻击的协议来实现调用僵尸网络。
此类大规模 DDoS 攻击的破坏力可能远远超出了大多数企业网络的承受能力。应对此类攻击的最佳方法是使用下游防火墙和全局分布式高容量接入点 (POP)。
常见的流量耗尽型攻击包括用户数据报协议 (UDP) 和 ICMP 洪水攻击(或 Ping Flood)。
DDoS 攻击有哪些迹象?
流量分析工具能够根据以下迹象帮助识别 DDoS 攻击:
来自单个 IP 地址或 IP 范围的流量激增
来自同一地理位置、使用类似设备类型或使用相同 Web 浏览器版本的用户的流量激增
对同一页面或端点的请求莫名激增
一天中非正常时段或定时协调(以一致的重复间隔)出现高峰
针对此类攻击的安全防护措施包括防火墙、Web 应用防火墙、拒绝服务攻击工具、入侵检测、防御及流量过滤系统。
如果我的系统没有 DDoS 攻击防护会怎样?
DDoS 攻击的业务影响会导致重大损失,并可能因攻击的规模、持续时间和受害者的业务性质而有很大差异。
一次 DDoS 攻击会对企业造成多层面的直接业务影响:即时、短期和长期。
DDoS 攻击的直接影响是经济损失。高度依赖互联网创收的网站或应用(例如,流量很大的电子商务网站)每关闭一分钟就可能损失数十万美元。此外,企业内部将直接感受到生产力的下降和进一步的破坏风险。
短期影响包括补救和补偿费用。对于所有企业而言,一定数额的补救费用在所难免。举例来说,一家 Web 托管提供商可能会因其所遇中断影响了数千家客户而需支付巨额补偿费用。短期影响还包括法律和合规费用。
长期影响包括客户流失和客户信心的下降。这可能最具破坏性。当客户放弃性能低下甚至无法访问的站点时,企业损失的不仅仅是直接收入,还有忠诚客户的潜在流失——他们可能会访问竞争对手的站点,并一去不复返。长期影响还包括品牌声誉和商誉受损,以及潜在的法律诉讼威胁。
防范 DDoS 攻击的最佳实践
企业可通过以下最佳实践显著降低其应用遭受 DDoS 攻击及其他安全威胁的风险。
速率限制 — 借助速率限制,您能够限制客户端在特定时间内向应用发出的请求数。这可通过限制攻击者所能向您的应用发送的流量来防止 DDoS 攻击。
TCP 和 UDP 请求管理 — 启用传输控制协议 (TCP) 和用户数据报协议 (UDP) 请求管理,确保仅处理合法请求。
攻击工具规范 — 使用专为防御某些类型的 DDoS 攻击(应用层攻击、流量耗尽型攻击、协议攻击)而设计的
DDoS 防护工具。
Web 应用防火墙 (WAF) — 部署 WAF,可将其配置为根据 IP 地址、请求头和行为参数拦截恶意请求。
监控日志 — 定期监控有助于及早检测出攻击,并能够减轻负面影响。流量增加、错误或异常活动迹象会触发警报,以便执行进一步调查。
内容交付网络 (CDN) — 使用 CDN 有助于分配流量并减少应用的负载,从而加大 DDoS 攻击的难度。
安全套接字层 (SSL)/TLS 加密 — 加密应用和客户端之间的流量可使攻击者更加难以拦截和修改流量。
及时更新 — 定期软件更新能够确保您受到最新安全防护功能和补丁的保护,有效缓解已知威胁,包括 DDoS 攻击。
NGINX 唯一中文官方社区 ,尽在 nginx.org.cn
评论