Modsecurity 忽略/白名单 IP

Modsecurity 忽略/白名单 IP

我在网上查看过,看到很多关于此问题的常见答案,但是,没有一个能起到作用。

我试图用它来忽略早上开始的扫描。

SecRule REMOTE_HOST "@ipmatch 99.123.33.87" "id:90000009,phase:1,t:none,allow,nolog,ctl:ruleRemovebyID=.*;"

谁知道可能是什么问题?

答案1

几个问题:

  1. REMOTE_HOST 是名称,不是 IP 地址。您需要的是 REMOTE_ADDR。

  2. “ctl:ruleRemovebyID=.*” 不是有效语法,即使是,也不应该是必要的(但请参阅下面的第 4 点)。

  3. 最后不需要分号。

  4. 在 DetectionOnly 模式下,“Allow”会被忽略,我认为这违反直觉,如果您出于某种原因需要切换到此模式,则会导致大量错误检测。因此,我总是在我编写的任何“allow”规则中添加“ctl:ruleEngine=On”,以强制此规则在该模式下也能正常工作。

因此,最终正确的版本控制规则是:

SecRule REMOTE_ADDR "@ipmatch 99.123.33.87" "id:90000009,phase:1,t:none,allow,nolog,ctl:ruleEngine=On"

答案2

在 Barry Pollard 的回答中,虽然ctl:ruleEngine=On应该Off忽略所有规则,但正如问题所要求的那样。以下是另一个如何执行此操作的示例,来自工作配置:

SecRule REMOTE_ADDR "@contains 99.123.33.87" "id:1,phase:1,nolog,allow,ctl:ruleEngine=Off"

相关内容