初次配置清洗,不能只看攻击是否被挡住,还要确认正常业务有没有被误拦。做好攻击流量清洗误判率测试与业务白名单设计,先建立可信的正常流量基线,再逐步验证规则,避免一上来就对全量流量启用严格策略。
先定义“误判”,再收集基线
误判通常指被判为攻击并遭到拦截、限速或挑战的合法请求。测试时应把“误拦合法请求数”除以“确认合法的测试请求数”,作为误判率;分母不能直接用全部流量,因为其中可能混有未识别的攻击请求。还应单独记录攻击请求通过率,防止为了降低误判而把清洗规则放得过宽。
从访问日志、应用日志和业务监控中选取具有代表性的正常请求,标注时间、请求路径、方法、响应结果及来源特征。基线最好覆盖完整业务周期:可先观察一至两周,若存在周末、月末等明显波动,应把对应时段纳入;具体时长需结合业务节奏调整。注意统一日志时区,并排除已知扫描、压测和运维流量。
用分阶段测试找出规则副作用
先影子观察,再小比例放量
- 整理场景:把正常流量拆成页面访问、登录、表单提交、文件上传、第三方回调和健康检查等类型。用真实日志中的常见请求特征构成测试集,并对敏感数据做脱敏。
- 影子运行:让清洗策略分析请求但暂不执行拦截,记录哪些请求会被命中。对照应用日志、监控告警和业务流程,逐条核实命中是否合理。影子结果能发现规则风险,但不能完全替代真实放量测试。
- 小范围验证:先选择非关键路径、测试环境或有限流量观察,再按计划扩大范围。每次只调整一类规则,记录规则版本、变更时间、命中量、错误响应和业务指标,便于定位因果。
- 复测边界情况:检查移动网络地址变化、共享出口、浏览器重试、较慢连接及合法高频操作是否触发限制。对攻击样本的验证应在授权环境中进行,不要向生产系统发送未经批准的压力流量。
- 准备回退:设定可观察的业务信号,例如关键接口错误率、登录成功率或回调积压;若指标越过团队预先确定的阈值,暂停放量或撤回最近规则,而不是临时扩大白名单。
测试结果要按路径和规则分别看。一个全站平均值可能掩盖局部问题:静态资源正常,不代表登录或支付提交也正常。攻击流量清洗误判率测试与业务白名单设计应保留每次命中的原始事件与处置结果,以便复核和复现。
白名单要限定对象、范围和期限
白名单不是“可信流量永久放行”。优先使用能够稳定识别业务来源的组合条件,例如指定请求路径、HTTP 方法、经过验证的服务身份,以及必要时的固定来源地址。健康检查可仅放行明确的检查路径和已确认的探测来源;第三方回调则应结合签名验证或其他身份校验,不能只凭请求来自某个网络就信任其内容。
- 范围尽量小:允许单个接口或必要方法,不因一个回调接口而豁免整个域名;避免把整段共享地址、整个地区或所有自动化客户端加入白名单。
- 条件可核验:记录规则匹配字段、业务负责人和验证依据。动态来源地址变化时,应优先确认服务身份或采用可维护的地址清单,不能默认为旧地址永久有效。
- 设置期限与复审:临时联调、迁移或压测豁免应有到期时间;长期规则也应定期检查访问量、命中原因和负责人。无访问或无业务依据的条目应复核后删除。
- 保留其他防护:白名单只减少指定条件下的拦截,不应绕过身份认证、签名校验或应用自身的权限检查。
对于必须按来源地址放行的场景,应确认地址由业务方维护且确实稳定,并监控来源变更。地址白名单的维护成本通常高于基于服务身份的规则,但在来源固定、协议简单的探测场景中更直观;动态来源或多方共享出口则需要更严格的身份校验。
常见问题
误判率达到多少才算合格?
没有适用于所有业务的统一阈值。应按接口重要性和可接受的业务损失制定目标,并分别观察关键路径与非关键路径。
影子模式没有误拦,能否直接全量启用?
不能。影子模式只显示规则会如何处置请求,无法覆盖启用后的重试、限速和用户行为变化,应先小范围真实放量。
白名单能否直接放行固定来源地址?
仅在地址稳定、来源经过确认且规则范围足够窄时考虑;仍应保留认证、签名和权限检查,并设置变更复核流程。
最终应把每次命中、验证结论、规则变更和回退条件纳入日常维护。持续复核攻击流量清洗误判率测试与业务白名单设计,比一次性加大放行范围更能兼顾业务连续性与防护效果。