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 延迟场景下,日志中的处理耗时字段是构建观测标签体系的核心数据来源。通过分析日志中的耗时分布,可以快速定位延迟瓶颈。
2.5 四要素协同关系
WAF 策略的四个要素并非独立运行,而是形成一个完整的处理流水线:
- 请求进入:WAF 接收 HTTP 请求。
- 例外检查:首先检查请求是否匹配任何例外规则(如 IP 白名单)。如果匹配,直接放行,跳过后续规则检测。
- 规则匹配:对未跳过的请求,按规则顺序进行匹配。每条规则匹配后记录耗时。
- 动作执行:根据匹配的规则执行对应动作(ALLOW/BLOCK/LOG 等)。
- 日志记录:将匹配结果、动作执行情况和耗时信息写入日志。
2.6 延迟场景下的关键观测点
在网关 API 延迟场景下,WAF 策略的每个要素都可能成为延迟瓶颈。以下是需要重点观测的指标:
| 要素 | 关键观测指标 | 延迟影响说明 |
|---|---|---|
| 规则 | 规则匹配耗时、规则数量、正则复杂度 | 规则越多、正则越复杂,匹配耗时越长 |
| 动作 | 动作执行耗时、日志写入耗时 | BLOCK 动作通常较快,LOG 动作可能因 I/O 延迟变慢 |
| 例外 | 例外匹配耗时、例外命中率 | 例外列表过长或匹配逻辑复杂会增加延迟 |
| 日志 | 日志写入延迟、日志队列积压 | 高并发下日志写入可能成为瓶颈 |
课程关联:本章回顾的 WAF 策略四要素(规则、动作、例外、日志)是后续构建观测标签体系的基础。在第三章中,我们将为每个要素定义具体的观测标签,用于网关 API 延迟场景下的实时监控和根因分析。