我正在使用OWASP 核心规则集 3.2.0设置ModSecurity 3.0.4和ModSecurity-nginx。
如果我有这样的规则排除,在REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
:
SecRule REQUEST_URI "@beginsWith /api.php" \
"id:1015,\
phase:2,\
pass,\
nolog,\
ctl:ruleRemoveById=941160"
如何将此排除限制为特定主机名?例如,wiki.example.com
。
使用
REQUEST_HEADERS:Host
chained withREQUEST_URI
可以解决问题,但如果有多个站点需要或不需要排除,则更难维护。因此,另一种解决方案是禁用虚拟主机的 Nginx 配置规则。可以使用
modsecurity_rules
内部特定server
&禁用某些规则location
:Apache也是如此,因为一些 Apache 用户稍后可能会根据其标题找到此问题。使用 Apache,您可以使用
SecRuleRemoveById
/modsecurity_rules
指令内部
VirtualHost
和Location
或LocationMatch
:或者,虽然不推荐,但即使使用
.htaccess
:答案是
REQUEST_HEADERS:Host
与chain一起使用,如下所示: