WAF 防护73 条

OWASP CRS 规则集

CRS(核心规则集)是开源 WAF 常用的规则集合,覆盖 OWASP 常见风险,配 ModSecurity 等引擎使用。

安全设备配置速查安全更新于 2026-10-13

CRS 是什么

OWASP 核心规则集(CRS)是一套开源的 Web 攻击检测规则,通常与 ModSecurity、Coraza 这类引擎配合使用。它不按「一条规则等于一次拦截」工作,而是采用异常评分:每条命中的规则给本次请求累加分数,累计超过阈值才判定为攻击。这种设计让调优有了空间——可以通过调整规则等级与阈值,在漏报和误报之间找到业务能接受的平衡点。

基本信息

适用平台ModSecurity、Coraza 等开源引擎上的 WAF 部署
组成按攻击类型划分的规则文件、异常评分机制、安装与调优配置
可调项规则等级(偏执等级)、入站与出站阻塞阈值、规则启用与排除
版本注意大版本升级可能调整规则 ID 与默认阈值,需读变更说明再升级

典型使用场景

  • 自建 WAF:在 nginx 或 Apache 前挂 ModSecurity 做应用层防护
  • 业务上线前的观察模式:先只记录不拦截,统计真实命中分布
  • 偏执等级调整:从默认等级起步,根据误报情况逐级调整检测强度
  • 定向排除:对已知会产生大量合法「类攻击特征」的接口做规则级排除
  • 合规与审计:以规则 ID 记录拦截原因,便于复盘与对外说明

关键配置项

关键配置项
SecRuleEngine On                        # On 拦截 / DetectionOnly 只记录
SecRequestBodyAccess On                 # 允许检查请求体,否则 POST 攻击检测不到
SecResponseBodyAccess Off               # 出站检查开销大,按需开启
SecDefaultAction "phase:2,log,auditlog,pass"
Include /etc/modsecurity/crs/crs-setup.conf   # 阈值与等级在此调整
Include /etc/modsecurity/crs/rules/*.conf     # 加载规则文件

调优方向对照

现象调整方向风险
拦截过多,正常业务受影响提高阻塞阈值或降低检测等级阈值过高会漏掉真实攻击
攻击流量穿了过去提高检测等级或收紧阈值误报随之上升,需配合例外
某接口持续误报按规则 ID 做定向排除排除范围过大会形成检测盲区
升级后行为变化对照变更说明逐项核对默认值调整可能改变拦截结果
规则集不是装了就有防护效果:先跑观察模式统计命中情况,再逐步收紧阈值,调整过程要留记录,否则后续没人说得清为什么放过了某类流量。

易错点

  • 不做调优直接以拦截模式上线,误拦比例可能高到业务无法接受,只能被迫关掉整站防护
  • 为压误报把阈值调得过高,真实攻击同样被放过,检测能力名存实亡
  • 升级规则集不读变更说明,规则 ID 与默认阈值变化会让原有例外失效
  • 例外只按 URL 加而不管参数,同一路径下其他参数仍会误报,问题看起来像没修好

数据来源与参考

  • OWASP ModSecurity Core Rule Set 官方文档
  • ModSecurity 参考手册
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌