Slowloris DDoS 攻击

Slowloris 攻击试图通过打开并维持与目标服务器的许多同时 HTTP 连接来压垮目标服务器。

学习目标

阅读本文后,您将能够:

  • 定义 Slowloris DoS 攻击
  • 说明 Slowloris 洪水攻击的工作方式
  • 了解 Slowloris 攻击的几种缓解策略

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是 Slowloris DDoS 攻击?

Slowloris 是一种拒绝服务攻击程序,使攻击者能够通过在攻击者与目标之间打开并维持许多同时的 HTTP 连接来压垮目标服务器。

Slowloris 攻击图解

Slowloris 攻击如何工作?

Slowloris 是应用程序层攻击,通过利用部分 HTTP 请求来运作。该攻击通过打开与目标 Web 服务器的多个连接,然后使这些连接保持打开状态尽可能久的时间来起作用。

Slowloris 不是一种攻击类别,而是一种特定的攻击工具,旨在让一台计算机在不占用大量带宽的情况下使服务器宕机。与消耗带宽的基于反射的 DDoS 攻击(如 NTP 放大)不同,这种类型的攻击使用很少量的带宽,旨在利用看似比正常速度慢的、模拟正常流量的请求来消耗服务器资源。它可以归入称为“慢速”攻击的攻击类别。目标服务器可用于处理并发连接的线程数量有限。每个服务器线程试图保持活跃,并等待慢速请求完成,而这永远不会发生。服务器超过最大可能连接数时,不再应答各个增加的连接,造成拒绝服务。

Slowloris 攻击分为 4 个步骤:

  1. 攻击者首先通过发送多个部分 HTTP 请求标头来打开与目标服务器的多个连接。
  2. 目标为每个传入请求打开一个线程,目的是在连接完成后关闭该线程。为提高效率,如果连接花费时间太长,服务器将使非常长的连接超时,从而为下一请求释放线程。
  3. 为了防止目标使连接超时,攻击者会定期向目标发送部分请求标头,以使请求保持活动状态。本质上说:“我还在这里!我很慢,请等我。”
  4. 目标服务器在等待请求终止时永远无法释放任何打开的部分连接。一旦所有可用线程都被使用,服务器将无法响应来自常规流量的其他请求,从而导致拒绝服务。

Slowloris 背后的关键是它能够以很少带宽消耗引起很大麻烦。

如何缓解 Slowloris 攻击?

对于易受 Slowloris 攻击的 Web 服务器,有一些方法可以减轻某些影响。易受攻击的服务器的缓解措施可以分为 3 大类:

  1. 增加服务器可用性 - 增加服务器在任何时间允许的最大客户端数量,这将增加攻击者使服务器过载前必须建立的连接数。实际上,无论增加多少,攻击者都可以扩展攻击数量以攻克服务器容量。
  2. 限制传入请求的速率 - 基于某些使用因素限制访问,这将有助于缓解 Slowloris 攻击。限制单个 IP 地址允许建立的最大连接数,限制慢速传输速度,以及限制客户端允许保持连接的最长时间,这些技巧都是限制慢速攻击的有效方法。
  3. 基于云的保护 - 使用可充当反向代理的服务,保护源服务器。

Cloudflare 如何缓解 Slowloris 攻击?

Cloudflare 在开始将任何内容发送到源服务器之前,先缓冲传入的请求。因此,像 Slowloris 攻击这样的“慢速”攻击流量永远不会达到预期的目标。了解有关 Cloudflare 的DDoS 防护如何阻止 Slowloris 攻击的更多信息。