慢速攻击通过极低的带宽消耗,瞄准应用层连接的空档,就能让服务器陷入瘫痪,这并非反常,而是协议设计的先天缺陷。
慢速攻击原理是什么
慢速攻击不是靠海量流量砸瘫服务器,而是利用HTTP协议本身的“耐心”机制,它建立连接后,以极慢的速度发送请求头或请求体,让服务器一直保持打开状态等待完整数据,当这种半开连接累积到一定数量,服务器的连接池就被塞满,后续正常用户无法接入。
少量流量如何拖垮应用
关键在于并发连接数而非带宽,一个典型的慢速攻击,比如Slowloris,每秒只发送几十字节的数据,却能占用服务器的一个线程或进程,一台普通Web服务器的连接上限通常在几百到几千,攻击者只需用几台甚至一台机器发起几百个慢速连接,就能占满所有资源。业内专家指出,这种攻击的流量消耗常常不到正常DDoS攻击的千分之一,效果却极其致命。
攻击背后的协议漏洞
HTTP/1.1默认支持长连接,且服务器通常不会主动关闭读写超时过长的连接,慢速攻击正是钻了这个空子:它发送一个不完整的HTTP头部,然后每隔一两分钟发一个字节,让服务器以为客户端还在,从而持续等待,多数Web服务器配置中,keepalive_timeout和receive_timeout默认值高达60秒甚至300秒,这给了攻击者充足的窗口。
慢速攻击和DDoS攻击有什么区别
很多人在选购防护方案时,常把慢速攻击和传统DDoS混为一谈,两者在攻击原理、流量特征和防御思路上完全不同。
流量消耗对比
传统DDoS依靠巨大的带宽(通常几百Gbps)淹没网络链路,消耗的是路由器和交换机的处理能力,慢速攻击则相反,它用极低的带宽(通常几Mbps甚至更低)消耗应用层的连接资源。

| 指标 | 传统DDoS | 慢速攻击 |
|---|---|---|
| 带宽消耗 | 极高,常常数百Gbps | 极低,通常几Mbps |
| 主要目标 | 网络带宽、服务器CPU | 服务器连接池、内存 |
| 识别难度 | 明显,流量异常暴增 | 隐蔽,看起来像正常慢连接 |
| 防御成本 | 需要高带宽清洗设备 | 需调整应用层参数 |
检测难度差异
慢速攻击的流量和正常用户几乎无法区分,因为攻击者发送的是合法HTTP报文,只是速度极慢,传统DDoS则很容易被流量监控系统发现。行业共识认为,慢速攻击是当前中小型网站最容易被忽视的风险之一,因为它既不触发带宽告警,也不占用大量CPU,直到网站完全不可用,管理员才发现是连接数超限。
慢速攻击对云服务器CDN的影响
云服务器和CDN通常会配置连接数限制和超时参数,但不同厂商的默认值差异很大,如果你用的是低配云服务器(比如1核2GB内存),默认连接数上限可能只有几百,遇到慢速攻击几分钟就瘫痪。
真实场景模拟
假设一台Nginx服务器,worker_connections设置为1024,keepalive_timeout为65秒,攻击者从10个IP发起慢速连接,每个IP建立100个连接,总连接数1000,每个连接每30秒发送一个字符,服务器在这65秒内会一直保持这些连接,剩余的24个连接名额被正常用户争抢,一旦超过65秒,部分连接超时断开,但攻击者可以立即重新建立,导致服务器始终处于濒死状态。

CDN是否能防御
大部分CDN默认不防御慢速攻击,因为CDN的架构设计主要针对高带宽DDoS和CC攻击,慢速攻击的流量特征和正常用户太像,CDN的清洗节点难以识别,你需要手动配置源站超时策略和连接数限制,或者在CDN侧开启HTTP报文完整性检查,少数专业CDN提供“慢速连接防护”选项,本质上是要求客户端在指定时间内完成请求头发送,否则断开连接。
慢速攻击防御方案怎么选
防御慢速攻击,核心思路是缩短超时时间和限制半开连接数,不需要昂贵的硬件,一台服务器通过调整配置就能大幅提升抗性。
操作路径:Nginx加固
Nginx是常见的Web服务器,以下是具体配置步骤:
- 打开配置文件nginx.conf,在http块中修改以下参数:
- client_header_timeout 5s;
- client_body_timeout 5s;
- keepalive_timeout 10s;
- send_timeout 10s;
- 调整worker_connections和连接数限制:
- limit_conn_zone $binary_remote_addr zone=addr:10m;
- limit_conn addr 10;
- 重启Nginx使配置生效:
nginx -s reload
操作路径:Apache防护
Apache用户可以通过mod_reqtimeout模块防御:
- 启用模块:
a2enmod reqtimeout - 在虚拟主机配置中添加:
- RequestReadTimeout header=10-20,minrate=500

- RequestReadTimeout body=10-30,minrate=500
- RequestReadTimeout header=10-20,minrate=500
- 重启Apache:
systemctl reload apache2
选择商业防护的注意点
如果你的业务不能容忍短超时,或者需要同时防御多种攻击,可以考虑购买专业防护服务,选择时留意两点:
- 是否支持慢速攻击识别,很多厂商只宣传DDoS清洗,但忽略应用层慢速攻击。
- 是否提供自定义超时策略,允许你根据业务场景调整报文接收速率阈值。
- 价格上,慢速攻击防护方案通常比同等带宽的DDoS清洗便宜30%左右,因为不需要消耗大量带宽资源。
慢速攻击防御常见疑问
慢速攻击会导致服务器数据泄露吗?
不会,慢速攻击的目标是耗尽连接资源,属于拒绝服务攻击,不涉及数据窃取,但攻击期间服务器可能无法响应正常请求,间接影响业务连续性。
慢速攻击和CC攻击是不是一回事?
不是,CC攻击是通过大量请求消耗CPU和数据库资源,流量通常较高;慢速攻击则是通过极慢的请求消耗连接池,流量极低,两者在防御策略上不同,但都是应用层攻击。
修改超时时间会不会影响用户体验?
合理设置超时不会影响正常用户,正常浏览器发送请求通常只需几毫秒,5秒超时足够,只有网络极差的用户偶尔会触发超时,但这类用户占比极低,且可以通过重试机制补偿。多数情况下,将超时缩短到10秒以内,用户体验几乎无感知,而服务器抗攻击能力提升数倍。