首页/安全/安全设备配置速查/ModSecurity 引擎模式
WAF 防护73 条

ModSecurity 引擎模式

ModSecurity 支持 On/DetectionOnly/Off 三种引擎模式,检测模式用于调优阶段,正式运行切到 On。

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

ModSecurity 引擎模式是什么

ModSecurity 用 SecRuleEngine 指令控制引擎的整体行为,共三种模式:On 表示规则生效并执行动作,DetectionOnly 表示规则只记录不拦截,Off 表示完全关闭。工程实践里的标准路径是先用 DetectionOnly 调优——观察哪些规则在真实业务流量上误报,逐条处理后,再切到 On 正式防护。需要特别注意:DetectionOnly 下所有阻断动作都不生效,配置看起来有防护,实际上是只有日志、没有拦截。

基本信息

On规则生效并执行动作,包括阻断
DetectionOnly规则只记录不拦截,用于调优与观察
Off完全关闭引擎,仅用于排障
配置位置主配置文件中通过 SecRuleEngine 指令设置,可按虚拟主机覆盖
生效方式修改后需重载或重启 Web 服务
配套设置规则级动作(deny、pass)与例外需单独配置

典型使用场景

  • 新站点接入:先用 DetectionOnly 跑一个完整业务周期,收集误报情况
  • 调优完成后切换到 On,开始真正执行拦截
  • 排查防护规则引发的问题:临时切 DetectionOnly,确认是否与本引擎相关
  • 规则集大版本升级后重新进入观察模式,重新评估兼容性
  • 排障场景:确认是否由 ModSecurity 引起时短暂使用 Off
  • 多站点差异化:按虚拟主机设置不同模式,让新站点先观察、老站点继续拦截

配置示例

配置示例
# 调优阶段:规则命中只记录,不阻断请求
SecRuleEngine DetectionOnly

# 误报处理完成、观察期结束后切换为正式防护:
# SecRuleEngine On

# 仅在排障时使用,切勿长期保留:
# SecRuleEngine Off

# 提示:改完配置需重载服务,且要在日志中确认规则确实在命中

模式对比

模式是否拦截适用阶段风险
On是,按规则动作执行正式防护,误报已治理后规则误报会直接影响业务
DetectionOnly否,只记录上线调优、规则大改后观察误以为已防护,实际全部放行
Off否,引擎不工作排障,禁止长期使用完全无防护且无告警日志
引擎模式是全局或按虚拟主机生效的粗粒度开关,规则级动作还需在规则本身或按规则标识的例外里设置,两者配合才能做到「总体拦截、个别规则只告警」。
切换模式属于变更操作:切换前保留配置备份与回退命令,切换后按业务功能清单复测一遍,避免因为误报导致功能不可用。
长期停留在 DetectionOnly 会让人误以为防护已生效:攻击流量被完整记录也完整放行,日志看起来热闹,实际没有任何拦截。

易错点

  • DetectionOnly 下所有规则不拦截,误以为防护已生效是常见误解
  • Off 仅用于排障,长期保留等价于完全关闭 WAF
  • 修改引擎模式后未重载服务,配置改动实际没有生效
  • 观察期太短,低频业务的误报尚未暴露就切到 On
  • 只切模式不做规则级例外,切到 On 后误报集中爆发影响业务

数据来源与参考

  • ModSecurity 参考手册:SecRuleEngine
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌