Web 应用防火墙规则配置:构建有效的 WAF 防护体系

WAF(Web 应用防火墙)是保护 Web 应用安全的核心组件。正确的规则配置决定了 WAF 的有效性。

一、WAF 规则类型

规则类型 说明 示例
黑名单 已知攻击特征匹配 SQL 注入特征
白名单 仅允许指定模式 IP 白名单
速率限制 请求频率控制 每分钟 100 次
行为分析 异常行为检测 爬虫识别

二、OWASP CRS 规则集

OWASP Core Rule Set 是开源 WAF 规则的行业标准。

# SQL 注入检测
SecRule REQUEST_COOKIES|!REQUEST_COOKIES:/__utm/|REQUEST_COOKIES_NAMES   "/((\%3C)|<)[^
]+((\%3E)|>)/"   "phase:2,deny,t:none,t:normalisePath,  msg:'Cross-site Scripting (XSS) Attack'"

# 路径遍历检测
SecRule REQUEST_URI|ARGS|REQUEST_HEADERS   "@rx /etc/passwd"   "phase:2,deny,t:none,  msg:'Path Traversal Attack'"

三、Cloudflare WAF 配置

# 自定义规则示例
规则名称: Block SQLi
表达式: http.request.uri.path contains "wp-admin" 
        and http.request.method in {"POST"}
        and not ip.src in {192.0.2.0/24}
动作: Block

规则名称: Rate Limit API
表达式: http.request.uri.path starts with "/api/"
        and http.request.method in {"POST"}
动作: Managed Challenge
速率限制: 100 次/10分钟

四、误报处理

误报类型 处理方法
IP 误封 添加到白名单
合法参数误判 创建规则例外
正常行为误判 调整敏感度
特殊场景 创建独立排除规则

五、最佳实践

  1. 先设置为日志模式,确认无误后再开启拦截
  2. 定期更新规则库
  3. 监控 WAF 日志,及时处理误报
  4. 结合 IP 声誉库和地理定位