Web 应用防火墙 (WAF)

Web 应用程序防火墙(WAF)旨在保护 Web 应用程序免遭多种网络攻击,如跨站脚本攻击(XSS)、SQL 注入等威胁。

参数说明

参数名数据类型是否必选描述
rule_setsarray需要启用的规则集合名称列表
actionstring触发 WAF 防护时所采取的行为,可选项包括 log(日志)、403 Forbidden(禁止访问)、edge-captcha(OpenResty Edge 验证码)、redirect(重定向)
sensitivitystringWAF 防护敏感级别,选项有 high(高)、medium(中)、low(低)、none(无)
scorenumbersensitivity 设置为 none 时,可自定义敏感度分数
clearancenumber验证码触发后的有效期,缺省值为 60 秒
redirect_urlstring当行为设置为 redirect 时,所指定的重定向 URL
cross_requestsbool设置为 true 时开启跨请求模式,默认值为 true,推荐设置为 false
rule_sets_thresholdarray为各规则集单独设置敏感度分数,需与 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,表示请求被禁止。