我正在尝试在Ubuntu 12.04服务器上将一系列ips(Googlebots)列入关于modsecurity的白名单。例如,这是我需要列入白名单的范围:
66.249.64.0/19
我尝试了其他人建议的几种方式,但只有单个ips被阻止,当我尝试作为范围时,白名单被忽略。我已将规则添加到文件底部新部分的/usr/share/modsecurity-crs/modsecurity_crs_10_config.conf中。
这有效:
SecRule REMOTE_ADDR“^ 66.249.65.3”阶段:1,nolog,allow,ctl:ruleEngine = Off
这些不起作用:
SecRule REMOTE_ADDR“^ 66.249.64.0 / 19”阶段:1,nolog,allow,ctl:ruleEngine = off
SecRule REMOTE_ADDR“@ipMatch 66.249.64.0/19”“阶段:1,nolog,允许”
SecRule REMOTE_ADDR“^ 66.249.64 \ 0/19 $”阶段:1,nolog,allow,ctl:ruleEngine = Off
我已经看到了几种不同的语法建议,但似乎没有一种方法可以用于我的安装.mod-security的版本是否重要?有什么建议吗?TIA
答案 0 :(得分:6)
我使用的是Ubuntu但结果可能是相同的
SecRule REMOTE_ADDR "@ipMatch 66.249.0.0/16" "id:26091975,phase:2,pass,nolog,allow,ctl:ruleEngine=Off"
它在我的服务器上运行良好。如果你想采取日志只是在句子中摆脱nolog命令。 你可以更改面具以便更精确,但这取决于你。
注意使用正确的相位。在我的情况下是第2阶段。
更加自信阅读: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#ipMatch
他们更喜欢@ipMatch运算符而不是regexp。在Twitter上关注@ModSecurity
答案 1 :(得分:3)
这适用于mod_security> = 2.8
SecRule REMOTE_ADDR "@ipMatch 192.168.1.100,192.168.1.50,10.10.50.0/24" phase:1,nolog,allow,ctl:ruleEngine=Off
答案 2 :(得分:2)
这个应该有用;允许所有以66.249.64.
SecRule REMOTE_ADDR "^66\.249\.64" "phase:1,nolog,allow"
答案 3 :(得分:0)
If you are under a load balancer use:
SecRule REQUEST_HEADERS:X-Forwarded-For "@Contains 37.161.74.122" phase:1,nolog,allow,pass,ctl:ruleEngine=off,id:1