ModSecurity 使用一条规则阻止多个 URL?

ModSecurity Block Multiple URLs with One Rule?

我想知道是否有一种方法可以在 ModSecurity 中使用一条规则来阻止多个 URL?我有 30 多个 URL 的列表,我想拒绝并记录。我知道我可以使用如下命令阻止单个 URL:

安全规则 REQUEST_URI “/url/to/block” "phase:1,id:'1000001',log,noauditlog,deny,status:403"

我需要为每个 URL 编写一个规则,还是可以将它们全部组合成同一个规则?

您有几个选择可以避免多重规则:

使用 regex or 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"

应该是

 SecRule REQUEST_URI "@pmFromFile /path/to/urlBlacklistFile" \
 "phase:1,id:'1000001',log,noauditlog,deny,status:403"

不只是@pm