Varidata 新闻资讯
知识库 | 问答 | 最新技术 | IDC 行业新闻
Varidata 知识文档

如何防御针对服务器的慢速攻击

发布日期:2026-10-26
如何防御针对服务器的慢速攻击

慢速攻击是一种“低速、持续”的打击方式。它利用极慢的 HTTP 或 TCP 流量耗尽服务器资源,同时又始终低于常规阈值。这类攻击会伪装成正常流量,避开基于流量规模的告警,并且仅凭极少带宽就可能让服务下线。暴力破解攻击会高速猜测凭据,流量型 DDoS 攻击则依靠海量流量淹没链路。慢速攻击两者都不是,这正是它能绕过许多防御手段的原因。

本文将帮助你了解如何识别、检测并防御慢速攻击,并提供可落地、可实施的实用措施。

什么是慢速攻击

慢速攻击是一种利用极慢 HTTP 或 TCP 流量、而不是依赖大流量的 DDoS 攻击。攻击者会建立大量连接,然后以极缓慢的速度发送数据。每一条连接看起来都像正常请求,因此你的防御系统会将其视为普通访客。攻击目标是尽可能提高服务器负载,直到网站响应变慢甚至完全停止服务。

常见的慢速攻击类型

Slowloris 通过以极低速率发送不完整的 HTTP 请求头来长时间占用大量连接。服务器会一直等待每个请求完成,最终其连接池被占满。Slow POST 则是将请求体一字节一字节地缓慢发送,使服务器长时间保持该请求存活。Slow Read 则反其道而行:客户端宣告一个极小的接收窗口,并以很慢的速度读取响应,从而占用服务器缓冲区。

你可以通过它们的共同模式来识别这些攻击:它们都会让连接保持打开的时间远远超过真实用户的正常行为。而且,它们都不需要高流量就能奏效。

慢速攻击的迹象

要重点关注那些迟迟无法完成的挂起连接。并发连接数不断上升也是一个强烈信号,尤其是在请求完成率没有同步增长的情况下。你还可能看到响应时间明显变差,但带宽使用率依旧很低。这种组合特征可以将慢速攻击与大规模流量攻击区分开来,因为后者会向服务器推送海量流量,并会在网络图表上非常明显地体现出来。

流量型 DDoS 会用大流量淹没链路,而慢速攻击恰恰相反,这也是它更难被发现的原因。你的监控必须跟踪连接持续时间和请求完成情况,而不只是原始流量。当你发现网站正在变慢,但带宽图表看起来仍然正常时,就应将其视为潜在的“低速、持续”攻击,并立即检查连接表。

如何检测并阻止暴力破解攻击与慢速威胁

暴力破解攻击与慢速攻击在方式和速度上都不同。暴力破解会快速尝试大量凭据,而慢速攻击则会长时间占用连接。不过,暴力破解攻击和慢速攻击都适用于同一套监控思路:不要只看流量规模,还要观察连接行为和请求速率。

揭示慢速攻击的关键指标

有四项指标能有效暴露“低速、持续”攻击。连接持续时间用于显示每个会话保持打开的时长;真实用户通常会在数秒内完成请求,而攻击连接则会长时间滞留。并发连接数可以揭示连接池是否正在被耗尽,尤其是在连接数持续上升而请求完成率保持不变时。请求完成率衡量真正完成的请求数量;如果流量稳定,但完成率下降,就说明存在被拖住的请求。最小入站数据速率则可以识别那些以极慢速率发送字节的客户端。暴力破解攻击的表现则不同:它通常伴随着大量短连接和一连串失败登录。你同样可以用同一个监控面板来捕捉暴力破解攻击。

要按来源分别追踪这些指标。某个单一 IP 如果拥有大量访问且连接时间异常长,就值得重点审查。将每个来源与正常基线进行比较,并标记离群值以供复查。来自单个 IP 的暴力破解攻击通常表现为失败登录激增。你的基线最好覆盖完整一周,因为工作日和周末的请求模式会发生变化。凡是连接持续时间超过你正常最慢请求时长的会话,都应列入待审查对象。对每个被标记的会话,记录其来源、持续时间和已接收字节数。

检测工具与阈值规则

基于阈值的规则可以将这些指标转化为告警。设置最大连接持续时间、并发连接上限以及最小入站数据速率下限。机器人缓解阈值规则也可以将同样的逻辑应用到请求模式上。现代 anti-DDoS 服务尤其擅长检测应用层的“低速、持续”攻击,它们能在源站感受到压力之前就识别出模式。暴力破解攻击则会触发另一类规则:短时间内同一来源出现过多失败登录。建议从保守阈值开始,随着你对正常区间的认识加深再逐步收紧。如果规则对每一次长时间下载都触发告警,你的团队很快就会淹没在误报之中。每一条阈值规则都应配套明确的处置动作:告警、限速或直接丢弃。

当检测到暴力破解攻击时,你必须对攻击来源采取行动。先查看服务器访问日志以确认模式,然后封锁攻击来源的 IP 地址。你可以在防火墙或负载均衡器上屏蔽该 IP 地址。同时记录攻击者的 IP 地址,供后续分析之用。高流量攻击很容易看见,而慢速攻击则不然,因此要让阈值规则替你持续监视。暴力破解攻击通常会在这些日志中留下非常清晰的痕迹。

如果要同时检测并阻止暴力破解与慢速威胁,就应把连接指标与身份验证失败记录关联起来。暴力破解模式会在认证日志中十分醒目,而慢速攻击则体现为长生命周期连接。两类模式都应该纳入同一个监控面板。暴力破解规则与慢速攻击规则应分别调优,并持续保持服务器已打补丁且处于受监控状态。每个季度都要复查这些规则,因为应用变更和新功能上线都会改变你的基线。还应与团队进行一次桌面演练,确保每个人都清楚响应步骤。

如何防御慢速攻击

速率限制、连接限制、超时和最小数据速率,是防御慢速攻击最核心、最实际的手段。每项控制都针对问题的不同环节,而将它们组合起来,才能封堵那些让慢速客户端长期挟持资源的漏洞。

速率限制与连接限制

速率限制会约束服务器在给定时间窗口内可处理的请求数量。你可以限制单个来源在一定时间内可建立的连接数或请求数,并丢弃超出的部分。这项控制既能缓解依赖流量规模的 DDoS 攻击,也能限制试图打开成千上万并行会话的慢速攻击者。应按来源地址设置限制,而不仅仅是全局限制,这样某个异常活跃的客户端才不会独占全部配额。

连接限制与速率限制是相辅相成的。你需要定义每个来源的最大并发连接数,以及服务器整体的最大并发连接数。当客户端超过任一上限时,就拒绝新的连接,直到连接数回落。慢速攻击的核心就是占满连接池,因此,明确的上限可以直接削弱攻击者最主要的手段。在预算允许的情况下,你还应提升服务器可用性。更大的内存和更好的连接处理能力,可以让服务器在面对合法用户时承载更多并发连接,而不至于在慢速洪泛下崩溃。

超时与最小数据速率

超时是防御慢速攻击的第一道防线。应配置请求头超时、请求体超时和空闲超时。任何连接如果未能在规定时间窗口内发送完整请求,就应被关闭。缓慢发送请求头的 Slowloris 客户端会命中请求头超时并失去其连接槽位。将请求体一字节一字节慢慢发送的 Slow POST 客户端,则会命中请求体超时。要将这些值设得足够严格以拦截滥用,但也要足够宽松,以照顾真实用户所在链路的正常波动。

最小入站数据速率则提供了第二重检查。你定义一个下限,服务器会丢弃所有发送速率低于该值的连接。这个规则可以识别那些通过持续发送极少量数据、勉强卡在超时窗口之内的客户端。不过这里必须格外谨慎。如果下限设得太低,规则几乎永远不会触发;如果设得太高,就可能误伤网络条件较差的真实用户,或者拦截较大的上传请求。应先测量你的正常流量,再把下限设置在你愿意服务的最慢真实客户端之下。

最小数据速率如果设置得过于激进,会误封真实用户;如果设置得过于宽松,又会让慢速攻击者钻空子。应根据实测基线来调优,而不是靠猜测。

这些控制必须分层使用。速率限制与连接上限负责把洪泛挡在门外;超时与最小数据速率负责清退那些已经混进来的异常客户端。随着流量模式变化,要定期复查这些数值,并在真正依赖它们于生产环境中防御慢速攻击之前先完成测试。

防御 Slowloris 与 Slow POST

反向代理防护

反向代理位于客户端与源站服务器之间。它会先接收每一个入站连接,并在完整 HTTP 请求形成之前,不向上游转发任何内容。一个以极慢速度发送请求头的 Slowloris 客户端永远无法完成该请求,因此连接会被代理层持有,而你的源站不会受到影响。攻击者最终是在消耗代理的处理能力,而不是拖住你的应用工作进程。

这一层还提供了统一实施连接上限与超时策略的能力。你只需在代理上配置一次限制,所有后端服务便可继承这层保护。应将代理部署在 Web 层前面,并让所有公网流量都经由它转发。这样,你就能在边缘位置阻止可疑来源,而不是等它们进入应用后再处理。

服务器配置加固

防御慢速 HTTP 攻击,关键在于正确配置某些服务器选项。设置严格的请求头和请求体超时,限制每个来源的并发连接数,并限制请求行和请求头大小。每一个选项都能封住慢速客户端可能利用的一个缺口。要认真审查 Web 服务器的默认配置,因为很多默认值在设计上就是为了容忍长生命周期连接。

现代 anti-DDoS 服务可以通过专门机制应对应用层“低速、持续”攻击。它们会分析请求时序和连接行为,然后丢弃符合攻击模式的会话。当你需要超出内部能力范围的防护覆盖时,可以将这类服务与自身配置一起使用。在真正依赖配置来防御生产环境中的慢速攻击流量之前,务必使用模拟慢速攻击进行测试。记录每一项设置及其背后的原因,方便团队日后审计配置。

慢速攻击防御最佳实践

分层的网络与应用防御

没有任何单一控制手段能阻止所有慢速客户端。你必须在网络层和应用层同时进行分层防御。在网络层,你要过滤来源、限制连接速率,并在流量抵达 Web 层之前丢弃畸形数据包;在应用层,你要实施超时、最小数据速率以及请求大小限制。每一层都负责捕获下一层尚未覆盖到的威胁。

这种分层非常重要,因为慢速攻击是会变化形态的。某个客户端可能通过了网络层过滤,但依然会在 HTTP 请求内部制造阻塞;这时,应用层规则就会主动关闭该连接。设计分层架构时,要确保每一层都能独立发挥作用,并清楚记录哪一项控制对应哪一种威胁。即使其中一层失效,下一层仍应继续保护你的服务器。

测试与调优防御措施

每一个阈值都要依据你的正常流量基线来调优。持续测量至少一整周的连接持续时间、请求完成率和数据速率,并将限制设置在真实用户行为范围之外但不过分宽松的位置。应定期复查这些数值,因为应用改动和新功能上线会改变基线。去年调好的规则,今天可能已经开始误伤真实用户,或者漏掉新的攻击形态。

在真正依赖某项配置进入生产环境之前,先用模拟慢速攻击进行测试。在预发布环境中执行一次可控的 Slowloris 或 Slow POST 测试。确认你的超时规则会触发、连接上限能生效、告警也能正常触发。然后再验证真实用户请求仍可顺利通过。未经测试的防御,本质上只是猜测。

如果一场 DDoS 攻击是缓慢到来的,它根本不会在流量图表中显现。你唯一的预警,来自阈值规则和实际测试。

将这些实践与定期日志审查结合起来。只要你持续将当前连接行为与基线进行对比,就能更早发现慢速攻击模式。保持规则始终处于最新状态,你的分层防御体系才有能力抵御那些悄无声息渗透进来的 DDoS 攻击。

慢速攻击流量小,却可能带来极大破坏。要关注连接持续时间和请求完成率,而不是只看流量。将超时、连接限制、最小数据速率和速率限制分层部署。配合经过调优的服务器选项,反向代理可以提供基础防护。根据正常流量来调优阈值,并定期复查。暴力破解攻击发生得快,且通常会在日志中留下密集痕迹。你可以使用常见规则来检测并阻止暴力破解攻击。记录每一个暴力破解来源,封锁暴力破解使用的 IP,并仔细审查暴力破解模式。每天追踪暴力破解尝试。暴力破解攻击往往考验防守方的耐心,因此应认真研究每一次暴力破解事件。暴力破解攻击也可能具有一定隐蔽性。即使是小型网站,也能采用这些对策。审计你的整体配置,以更好地防御慢速攻击流量。

常见问题

慢速攻击有多快会让服务器宕机?

这取决于你的连接池大小和超时设置。慢速攻击会一条连接一条连接地逐步占满可用槽位。一旦连接池被填满,合法用户就只能等待,或者被直接拒绝访问。严格的超时和连接上限能够显著减缓攻击者的推进速度。

仅靠防火墙能阻止“低速、持续”攻击吗?

基础防火墙主要按地址和端口进行过滤,因此它难以识别那些看起来完全正常的客户端。你还需要应用层控制。超时、最小数据速率和反向代理,才能捕捉到网络层过滤放行后的慢速攻击模式。

暴力破解攻击在日志里看起来会类似吗?

不完全类似。暴力破解通常表现为大量短连接,以及来自同一来源的一波失败登录;而慢速攻击则表现为少量但长时间滞留的连接。这两类模式都应该出现在同一个监控面板中,但各自需要独立的阈值规则。

我应该多久审查一次阈值?

应按固定周期定期审查,并且每次发生重大应用变更后都要复查。新功能会改变你的流量基线。去年适配的规则,今天可能会误封真实用户,或者漏掉新的攻击模式。

单靠反向代理就足够了吗?

反向代理能提供很强的基础防护,但它只能算一层。你仍应将其与调优过的服务器选项、速率限制和监控体系配合使用。在真正信任它保护生产环境之前,务必用模拟慢速攻击对整套栈进行测试。

您的免费试用从这里开始!
联系我们的团队申请物理服务器服务!
注册成为会员,尊享专属礼遇!
您的免费试用从这里开始!
联系我们的团队申请物理服务器服务!
注册成为会员,尊享专属礼遇!
Telegram Teams