WAF Policy 基础回顾:WAF 策略的组成要素

WAF(Web应用防火墙)策略是安全运维团队定义的一组规则集合,用于检测、记录和阻断针对 Web 应用的恶意流量。在网关 API 延迟场景下,理解 WAF 策略的组成要素是构建观测标签体系的前提。一个完整的 WAF 策略由以下四个核心要素构成:规则、动作、例外和日志。

2.1 规则(Rule)

规则是 WAF 策略的检测引擎,定义了匹配恶意流量的模式。每条规则通常包含以下属性:

  • 规则 ID:全局唯一标识符,用于追踪和引用。
  • 规则类别:如 SQL 注入、XSS、路径遍历、协议违规等。
  • 匹配条件:基于请求头、请求体、URI、参数、Cookie 等字段的正则或精确匹配。
  • 严重级别:如 Critical、High、Medium、Low,用于区分威胁等级。
属性 示例值 说明
规则 ID OWASP_CRS_942100 OWASP 核心规则集中的 SQL 注入检测规则
规则类别 SQL Injection 检测 SQL 注入攻击模式
匹配条件 args MATCHES "(\%27)|(\')|(\-\-)" 匹配请求参数中的单引号或注释符
严重级别 Critical 最高威胁等级,需立即处理
延迟场景提示:在网关 API 延迟场景下,规则匹配的复杂度直接影响处理耗时。正则回溯、大量规则并行匹配、长请求体扫描是常见的延迟诱因。观测标签体系需要记录每条规则的匹配耗时,以便定位性能瓶颈。

2.2 动作(Action)

动作定义了当规则匹配时 WAF 执行的操作。常见的动作类型包括:

  • ALLOW:允许请求通过,不进行拦截。
  • BLOCK:直接阻断请求,返回 403 或自定义错误页面。
  • LOG:仅记录日志,不阻断请求(用于监控或调试)。
  • CHALLENGE:发起验证挑战(如 CAPTCHA),验证通过后放行。
  • REDIRECT:将请求重定向到其他 URL。
动作类型 对请求的影响 延迟影响
ALLOW 正常放行 低(仅增加规则匹配时间)
BLOCK 立即阻断 低(阻断后不再继续处理)
LOG 正常放行,但记录日志 中(日志写入可能增加 I/O 延迟)
CHALLENGE 发起验证挑战 高(需等待用户完成验证)
REDIRECT 重定向到其他 URL 中(增加一次 HTTP 往返)
延迟风险:在网关 API 延迟场景下,应避免对高频 API 使用 CHALLENGE 动作,因为验证挑战会显著增加端到端延迟。建议对敏感接口(如登录、支付)使用 BLOCK 或 LOG 动作,并配合速率限制。

2.3 例外(Exception)

例外用于绕过特定规则的检测,适用于已知的合法流量或业务白名单。例外通常包含以下维度:

  • IP 白名单:信任的源 IP 地址或 CIDR 范围。
  • URI 白名单:特定路径或 API 端点不触发规则。
  • 参数白名单:特定请求参数不进行规则匹配。
  • 规则 ID 例外:针对特定规则 ID 的跳过。
延迟场景最佳实践:合理配置例外可以减少不必要的规则匹配,从而降低延迟。例如,将静态资源路径(如 /static/*)加入 URI 白名单,避免对图片、CSS 文件执行复杂的规则检测。

2.4 日志(Log)

日志是 WAF 策略的可观测性基础,记录了所有规则匹配和动作执行的信息。完整的日志字段应包括:

  • 时间戳:请求到达和规则匹配的时间。
  • 请求元数据:源 IP、User-Agent、请求方法、URI。
  • 规则匹配详情:触发的规则 ID、规则类别、匹配的请求字段。
  • 动作执行结果:执行的动作类型(ALLOW/BLOCK/LOG 等)。
  • 处理耗时:规则匹配耗时、动作执行耗时、总处理耗时。

在网关 API 延迟场景下,日志中的处理耗时字段是构建观测标签体系的核心数据来源。通过分析日志中的耗时分布,可以快速定位延迟瓶颈。

WAF 策略组成要素结构图 WAF Policy 规则 (Rule) 动作 (Action) 例外 (Exception) 日志 (Log) 定义匹配模式 SQL/XSS/路径遍历 执行操作 ALLOW/BLOCK/LOG 绕过规则 IP/URI/参数白名单 记录事件 时间戳/耗时/详情 四要素协同:规则检测 → 动作执行 → 例外跳过 → 日志记录

2.5 四要素协同关系

WAF 策略的四个要素并非独立运行,而是形成一个完整的处理流水线:

  1. 请求进入:WAF 接收 HTTP 请求。
  2. 例外检查:首先检查请求是否匹配任何例外规则(如 IP 白名单)。如果匹配,直接放行,跳过后续规则检测。
  3. 规则匹配:对未跳过的请求,按规则顺序进行匹配。每条规则匹配后记录耗时。
  4. 动作执行:根据匹配的规则执行对应动作(ALLOW/BLOCK/LOG 等)。
  5. 日志记录:将匹配结果、动作执行情况和耗时信息写入日志。
WAF 策略处理流水线(延迟视角) ① 请求进入 ② 例外检查 ③ 规则匹配 ④ 动作执行 ⑤ 日志 延迟观测点:记录每个步骤的处理耗时,特别是规则匹配阶段的耗时分布 各步骤延迟指标 步骤 延迟指标 典型耗时 延迟影响 例外检查 exception_check_time < 1ms 低 规则匹配 rule_match_time 1-50ms 高 动作执行 action_exec_time < 5ms 中

2.6 延迟场景下的关键观测点

在网关 API 延迟场景下,WAF 策略的每个要素都可能成为延迟瓶颈。以下是需要重点观测的指标:

要素 关键观测指标 延迟影响说明
规则 规则匹配耗时、规则数量、正则复杂度 规则越多、正则越复杂,匹配耗时越长
动作 动作执行耗时、日志写入耗时 BLOCK 动作通常较快,LOG 动作可能因 I/O 延迟变慢
例外 例外匹配耗时、例外命中率 例外列表过长或匹配逻辑复杂会增加延迟
日志 日志写入延迟、日志队列积压 高并发下日志写入可能成为瓶颈
课程关联:本章回顾的 WAF 策略四要素(规则、动作、例外、日志)是后续构建观测标签体系的基础。在第三章中,我们将为每个要素定义具体的观测标签,用于网关 API 延迟场景下的实时监控和根因分析。