我想知道是否有办法在 ModSecurity 中使用一条规则阻止多个 URL?我有一个包含 30 多个 URL 的列表,我想拒绝并记录下来。我知道我可以使用以下命令阻止单个 URL:
SecRule REQUEST_URI "/url/to/block" "phase:1,id:'1000001',log,noauditlog,deny,status:403"
我是否需要为每个 URL 编写规则,还是可以将它们都组合成同一个规则?
我想知道是否有办法在 ModSecurity 中使用一条规则阻止多个 URL?我有一个包含 30 多个 URL 的列表,我想拒绝并记录下来。我知道我可以使用以下命令阻止单个 URL:
SecRule REQUEST_URI "/url/to/block" "phase:1,id:'1000001',log,noauditlog,deny,status:403"
我是否需要为每个 URL 编写规则,还是可以将它们都组合成同一个规则?
它应该是
SecRule REQUEST_URI "@pmFromFile /path/to/urlBlacklistFile" \
"phase:1,id:'1000001',log,noauditlog,deny,status:403"
而不仅仅是@pm
您有几个选择可以避免多个规则:
SecRule REQUEST_URI "@pm url1 url2 url3...etc." \
"phase:1,id:'1000001',log,noauditlog,deny,status:403"
或者列出文件中的 URL 并使用pmFromFile进行匹配。例如:
SecRule REQUEST_URI "@pm /path/to/urlBlacklistFile" \
"phase:1,id:'1000001',log,noauditlog,deny,status:403"