- SecRuleEngine On 自动拦截异常评分达阈值的请求(规则 949110) - 新增 rules/local/tuning.conf 调优文件(偏执等级 1 + 阈值 5/4) - tuning.conf 独立于自动生成的 crs/coraza.conf,重跑 fetch 不覆盖
38 lines
1.7 KiB
Plaintext
38 lines
1.7 KiB
Plaintext
# waf.conf —— WAF 规则主入口(仅放基础配置)
|
||
# 极客操作:
|
||
# - 在 local/ 下新增 *.conf 文件,engine 会自动扫描加载(按文件名字母序)
|
||
# - 修改后执行 `kill -HUP <pid>` 热加载
|
||
# - 校验语法: `waf -test rules/local/xxx.conf`
|
||
#
|
||
# 加载顺序(engine.Reload):
|
||
# 1. waf.conf ← 本文件(引擎基础配置)
|
||
# 2. local/*.conf 本地自定义规则(按文件名字母序)
|
||
# 3. crs/coraza.conf OWASP CRS 入口(若存在)
|
||
# 4. crs/rules/*.conf OWASP CRS 规则(按文件名字母序)
|
||
#
|
||
# 规则 ID 分段约定:
|
||
# 100000-199999 本地自定义规则
|
||
# 200000-200006 请求体处理器初始化(crs/coraza.conf)
|
||
# 900000-999999 OWASP CRS(由 crs/ 提供,不手改)
|
||
#
|
||
# 注意:本文件不用 Include 指令(coraza 的 Include 路径相对于 cwd 解析,
|
||
# 易出错)。engine.Reload 会先加载本文件,再扫描 local/*.conf 逐个加载。
|
||
|
||
# ===== 基础配置(SecLang) =====
|
||
# 引擎模式:
|
||
# On —— 自动拦截:异常评分达到阈值(tx.inbound_anomaly_score_threshold)即 deny
|
||
# DetectionOnly —— 只记录异常评分,不执行 deny(用于观察误报)
|
||
# Off —— 完全关闭
|
||
#
|
||
# 当前为 On(自动拦截):CRS 对每个请求累积异常分,达到阈值即拦截,低分请求全自动放行。
|
||
# 阈值在 rules/local/tuning.conf 中配置(默认 5,越小越敏感、误报越多)。
|
||
SecRuleEngine On
|
||
SecRequestBodyAccess On
|
||
SecResponseBodyAccess On
|
||
SecDefaultAction "phase:1,pass,log,auditlog"
|
||
SecDefaultAction "phase:2,pass,log,auditlog"
|
||
|
||
# 请求体限制 10MB
|
||
SecRequestBodyLimit 10485760
|
||
|