防御档位评估的第一步不是翻产品说明书,而是把业务流量基线摸清楚没有基线,任何档位设置都是拍脑袋。业内专家指出,多数防护误拦截和漏放行问题,根子都在评估阶段跳过了流量画像这一环。
为什么防御档位评估必须先看流量基线
防御档位不是越高越安全,这一点已经是行业共识认为,档位调高,误杀正常请求的概率跟着涨;档位调低,恶意流量又容易混进来,中间那个平衡点在哪,只有业务流量基线能告诉你。
流量基线到底包含哪些维度
流量基线不是一根请求数曲线那么简单,实际评估中至少要拆成以下几个层面:
- 请求速率:日常均值、工作日与周末差异、业务高峰时段分布
- 连接特征:并发连接数、长连接与短连接比例、单IP连接集中度
- 请求构成:静态资源与动态接口的比例、API调用占比、上传下载流量占比
- 来源分布:地域集中度、运营商分布、移动端与PC端比例
- 异常历史:过去攻击事件的峰值倍数、受攻击的接口类型
这些维度合起来,才构成一张能支撑档位决策的底图,少一个维度,档位评估的置信度就往下掉一截。
没有基线的档位设置会踩哪些坑
常见场景是这样的:运维同学把WAF的防御档位直接拉到“严格”,上线当天正常用户开始抱怨提交表单失败,回头一查,某接口的请求参数长度超过了严格档位下的阈值,而这个长度在业务里本来就是正常的,如果事先统计过该接口的参数分布,这种拦截根本不会发生。
反过来,档位设得太松,CC攻击用小流量慢速请求就能穿透,据近年来公开的攻防演练复盘资料,慢速攻击之所以难防,很大程度上是因为防守方对自己的正常请求速率分布不清楚,没法把阈值卡在合理位置。
如何确定业务流量基线:从采集到成图的操作路径
数据采集阶段的具体做法
基线采集优先用现成数据源,不建议一上来就上大工程,可操作的路径大致如下:
- 调取负载均衡或网关的访问日志:至少取最近30天的完整日志,覆盖一个完整的业务周期,命令层面,如果日志在ELK里,用聚合查询按分钟粒度统计QPS和P95响应时间。
- 接入监控系统的历史指标:Prometheus、Zabbix一类监控里通常已有连接数、带宽、错误率的时间序列,直接拉出来做对比。
- 补充业务侧埋点数据:登录、下单、支付这类关键接口的调用量,业务侧往往比网关侧更准。
- 标记特殊时段:大促、发版、投放活动的时间窗口单独标注,这些时段的流量不能混进日常基线里算平均值。
基线成图要产出什么
采集完数据,最终要落成三样东西:
- 分级流量画像:把流量分成日常态、高峰态、异常态三档,每档给出请求速率区间和连接数区间
- 关键接口清单:列出承载主要流量的前20%接口,这些接口的基线单独统计
- 阈值建议表:每个接口的请求速率上限、参数长度上限、单IP请求占比上限
这个阈值建议表就是后面档位评估的直接输入,没有这张表,档位讨论会变成纯经验拍板。
一个容易忽略的细节:基线有保质期
业务在变,基线也会漂移,新功能上线、投放策略调整、客户端版本更新,都会让流量特征发生变化,业内通常建议基线每季度复核一次,重大变更后重新采样,拿半年前的基线去定今天的档位,误差可能已经大到不可用。
WAF防御档位怎么设置?从基线到档位的映射方法
档位与基线的对应关系
把基线数据和防御档位做映射,核心思路是让档位的拦截阈值贴合基线的高位区间,而不是贴着均值走。
| 基线指标 | 日常态参考 | 档位映射建议 |
|---|---|---|
| 单接口QPS | 均值与P95差值较小 | 阈值取高峰态的1.5至2倍 |
| 单IP请求占比 | 多数IP低于总量1% | 严格档位下卡在基线最大集中度上浮一档 |
| 参数长度分布 | 集中在固定区间 | 阈值取该区间上沿加少量冗余 |
| 并发连接数 | 波动平稳 | 按高峰态数值设告警线,不直接作为拦截线 |
这张表的用法是:先用基线确定每个指标的“正常范围”,档位阈值从正常范围的上沿往外扩,扩多少取决于业务对误拦截的容忍度。
不同业务场景的档位选择差异
防御档位评估要分场景,电商大促页面和内部管理后台,基线形态完全不同,档位策略也不该一样:
- 面向公众的高流量业务:阈值放宽,重点靠频率控制和行为分析,避免误伤
- 低频但敏感的业务接口:档位可以收紧,因为正常调用量本来就小,异常容易识别
- 对外开放的API服务:基线里要单独统计合作方调用特征,档位策略按调用方分组设置
档位调整后的验证步骤
档位不是设完就完事,调整后至少跑一个完整的业务高峰周期,重点看两个数:误拦截率和漏放行率,误拦截率看防护日志里被拦的正常请求占比,漏放行率靠回溯攻击日志比对,两个数都稳住了,这次档位调整才算闭环。
防御档位评估多少钱?成本视角下的基线投入
防御档位评估的成本,主要不在工具上,而在基线采集和复核的人力投入上,中小企业如果只想做一次基础评估,用现有日志加开源分析工具,主要是人力时间成本,采购商业防护产品时,厂商的档位调优服务通常包含在服务合同里,单独计价的情况较少,需要提醒的是,跳过基线直接买高防御档位,花的钱可能大部分用在拦截正常流量上,性价比并不好。
基线缺失时的应急评估办法
业务刚上线、日志还没攒够的情况并不少见,这时候可以先用短周期数据做临时基线:取最近7天的流量数据,加上压测环境的基准值,先定一个粗档位,等数据积累到30天再做正式评估,临时基线要明确标注适用范围和有效期,避免被当成长期依据使用。
防御档位评估的质量,取决于流量基线的颗粒度。 基线摸得越细,档位定得越准,误拦截和漏放的拉扯就越少。
Q&A:防御档位评估与业务流量基线常见问题
问:业务流量基线要采集多久才算够用?
答:常规做法是覆盖一个完整的业务周期,多数情况下30天数据能覆盖工作日、周末和月度波动,有季节性特征的业务,比如零售,建议拉到季度跨度。
问:基线里的高峰态和攻击态怎么区分?
答:看请求特征而不是只看流量大小,高峰态流量来源分散、接口分布符合业务逻辑;攻击态往往集中在少数接口或少数来源,请求参数规律性强,基线采集阶段把大促等已知高峰单独标注,剩下的突增再结合特征判断。
问:防御档位评估需要业务部门配合吗?
答:需要,关键接口清单和业务高峰时间表,运维侧拿不到完整信息,得由业务方确认,基线里的特殊时段标注如果只靠技术侧推断,容易把投放活动误判成异常流量,导致档位阈值定偏。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/792942.html


