Apache环境下无法为特定路径移除ModSecurity规则的问题求助
Apache环境下无法为特定路径移除ModSecurity规则的问题求助
各位大佬好,我遇到个棘手的问题想请教下:
我在Apache服务器上跑着一个NextCloud实例,最近发现没法下载.gitignore、.env这类以点开头的文件。排查后发现是我安装的Comodo规则集中的210492规则在拦截请求。
如果直接在配置里加SecRuleRemoveById 210492,全局禁用这条规则的话,文件就能正常下载了,但我不想这么做——毕竟这条规则还是能提供一些安全防护的,只想针对NextCloud客户端的入口路径/remote.php/dav来跳过它。
我先后试了两种方法,结果都失败了:
第一种是用
<Location>标签做路径匹配:<Location "/remote.php/dav"> <IfModule mod_security2.c> SecRuleRemoveById 210492 </IfModule> </Location>我特意测试过这个
<Location>是能正确匹配到目标路径的(比如把移除规则换成重定向操作是生效的),但就是没法成功移除210492规则。看modsec_audit.log里还是会触发这条规则,浏览器访问时依旧返回403错误。第二种是用SecRule匹配请求URI的开头:
SecRule REQUEST_URI "@beginsWith /remote.php/dav/" "id:299999,log,ctl:ruleRemoveById=210492"从日志里能明确看到这条自定义规则确实匹配到了请求的URL,但就是没法成功移除210492规则,问题还是没解决。
有没有大佬遇到过类似的情况?或者能看出来我哪里配置错了吗?麻烦帮忙指点一下,谢谢!
备注:内容来源于stack exchange,提问作者Mola 1.9
相关产品推荐
相关产品推荐

