Web 应用防火墙 (WAF)
Web 应用程序防火墙(WAF)旨在保护 Web 应用程序免遭多种网络攻击,如跨站脚本攻击(XSS)、SQL 注入等威胁。
参数说明
参数名 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
rule_sets | array | 是 | 需要启用的规则集合名称列表 |
action | string | 是 | 触发 WAF 防护时所采取的行为,可选项包括 log (日志)、403 Forbidden (禁止访问)、edge-captcha (OpenResty Edge 验证码)、redirect (重定向) |
sensitivity | string | 是 | WAF 防护敏感级别,选项有 high (高)、medium (中)、low (低)、none (无) |
score | number | 否 | 当 sensitivity 设置为 none 时,可自定义敏感度分数 |
clearance | number | 否 | 验证码触发后的有效期,缺省值为 60 秒 |
redirect_url | string | 否 | 当行为设置为 redirect 时,所指定的重定向 URL |
cross_requests | bool | 否 | 设置为 true 时开启跨请求模式,默认值为 true,推荐设置为 false |
rule_sets_threshold | array | 否 | 为各规则集单独设置敏感度分数,需与 rule_sets 中的规则集一一对应 |
您可以选择使用内置规则集或自定义 WAF 规则集。以下为可用的内置 WAF 规则集列表:
- scanner_detection
- protocol_enforcement
- protocol_attack
- application_attack_lfi
- application_attack_rfi
- application_attack_rce
- application_attack_php
- application_attack_nodejs
- application_attack_xss
- application_attack_sqli
- application_attack_session_fixation
- application_attack_java
配置示例
- enable_rule: true
conditions:
- op: eq
var: uri
val: /waf
waf:
rule_sets:
- scanner_detection
- protocol_enforcement
- application_attack_xss
- application_attack_sqli
sensitivity: medium
action: "403 Forbidden"
cross_requests: false
在上述示例中,当请求的 URI
是 /waf
时,启用 WAF,启用的的规则集包括 scanner_detection、protocol_enforcement、application_attack_xss 及 application_attack_sqli,防护敏感级别设定为中等。一旦触发 WAF 防护机制,则执行动作并返回 HTTP 状态码 403,表示请求被禁止。