WAF能防低频大流量攻击吗?怎么防?

速读摘要:低频大流量攻击用海量分布式 IP 分散发起,单 IP 频率远低于阈值,但汇聚起来带宽和资源消耗巨大。传统"单 IP 频率限制"完全失效。WAF 需要靠全局流量建模、IP 段聚合、资源消耗排行等手段识别。本文讲清识别思路与配置要点。
WAF 能防低频大流量攻击吗?
WAF 高级防护能力篇 · 第 26 问 · 主机吧 WAF 知识库

一、什么是低频大流量攻击

它有两个特点,正好卡在传统防护的盲区:

  • 低频:每个 IP 每分钟只发 1-2 个请求,远低于”5 次/秒”之类的常见阈值
  • 大流量:每个请求都很大——下载高清图、请求大列表接口、提交大体积表单

攻击者租用大量分散 IP(代理池、僵尸网络、秒拨宽带),每个 IP 都”规规矩矩”,但几千个 IP 一起打,带宽瞬间拉满,数据库查询量暴涨。

二、为什么频率限制失效

单 IP 维度看,这些请求完全正常,频率限制不会触发。攻击者的聪明之处就在于”把攻击量摊薄到足够多的 IP 上”,让每个 IP 都隐身。

所以防护思路必须升级:从”单 IP 视角”切换到”全局视角”。

三、WAF 的识别手段

3.1 全局流量建模

WAF 在边缘节点汇聚全站流量,统计:总 QPS、总带宽、响应体积分布、热门 URI 排行。当这些指标突然偏离历史基线(比如带宽同比涨 5 倍),立即告警并限速。

3.2 IP 段聚合分析

虽然是分散 IP,但它们通常来自同一网段或同一云厂商出口。WAF 按 /24 网段聚合,会发现”某网段有 300 个 IP 同时访问同一接口”,这个模式就非常可疑。

3.3 资源消耗排行

按 URI 排序,找出”最耗资源”的请求。攻击者往往集中打某几个重接口,把这些接口的频率限制单独调严即可。

3.4 请求体积限制

针对”大流量”的特征,直接限制单请求体积、响应体积,或对超大响应启用分片/降级。

四、可落地的配置

4.1 WAF 侧

建议配置:
  ├─ 全局速率限制     1000 QPS(按业务实测调整)
  ├─ 单 URI 限速      重接口单独设 50 QPS
  ├─ 响应体积限制     单响应 ≤ 5MB
  ├─ 网段聚合限速     /24 网段 ≤ 100 QPS
  └─ 无 Cookie 挑战   触发 JS 验证,过滤脚本

4.2 Nginx 侧(宝塔环境)

# 限速 + 限连接组合
limit_req_zone  $binary_remote_addr zone=all:10m  rate=10r/s;
limit_conn_zone $binary_remote_addr zone=conn:10m;

server {
    # 全局请求限速
    limit_req  zone=all burst=30 nodelay;
    # 单 IP 并发限制
    limit_conn conn 20;

    # 针对重接口单独收紧
    location /api/heavy {
        limit_req zone=all burst=5 nodelay;
    }

    # 限制响应体积(配合 proxy_buffer 控制)
    proxy_buffering on;
    proxy_buffers 8 16k;
}

宝塔路径:网站 → 设置 → 配置文件,在 server 块内加入 location 限制。

五、配套的运营动作

  1. 开启实时流量看板,设定带宽/QPS 告警阈值,异常时第一时间收到通知
  2. 大促或活动期间提前临时下调阈值,宁可略紧也不要被打穿
  3. 把图片、视频等大静态资源交给 CDN,从源头减掉大部分流量
  4. 对下载类接口加 Token 校验,防止被当作免费带宽池

六、小结

低频大流量攻击的本质是”分布式摊薄”,单点规则必然失效。防护要靠全局建模 + 网段聚合 + 资源排行三件套,把分散的请求在统计层面重新”聚”起来看,才能识别出攻击。

给TA打赏
共{{data.count}}人
人已打赏
在线客服
在线客服
热线电话
QQ客服
电子邮箱
suduwangluo