当 URI 中存在某些值时,我尝试禁用规则 942100(SQLi 规则),但 apache 无法启动,所以出现了问题。
我的尝试(在 REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf 中):
SecRule ARGS "@rx (m[inax]{2}[_\w]+)\-{3}[ade]{1,2}sc" \
"id:942100,\
phase:2,\
pass,\
nolog,noauditlog,\
ctl:ruleRemoveById=942100"
这个想法是,URI 值(例如“min_width---asc”和“max_height_or_width---desc”)不会被 ModSec 标记。我需要删除这些误报,但不起作用。
答案1
我认为您不能删除规则本身。如您所见,id
规则的等于您想要删除的内容。
如果你看到原始规则这里,你可以看到,有一个唯一的 id(1001)。为什么不修改操作符和参数,并删除注释呢?
例如。:
SecRule ARGS "@rx (m[inax]{2}[_\w]+)\-{3}[ade]{1,2}sc" \
"id:1001,\
phase:1,\
pass,\
nolog,\
ctl:ruleRemoveTargetById=942100"
或者您可以使用新的唯一 ID 来执行此操作(将 1001 替换为另一个唯一值)。