Slowloris DDoS 攻击

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

学习目标

阅读本文后,您将能够:

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

复制文章链接

什么是 Slowloris DDoS 攻击?

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

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 攻击的更多信息。