如果整个网站的 mod_security 设置为 ON,有没有办法可以将特定页面设置为 detection_only?
用例是应用程序用于配置网站,使用 CSS 或 js 很常见,但很可能使 modsecurity 抛出 XSS 规则异常。我只想在这些页面上检测这些异常但不阻止它们。但是,在所有其他页面上,我希望阻止规则例外。
更多细节:该应用程序实际上是在另一个 Windows 服务器上运行的 IIS 应用程序,而 mod_security 在 linux 服务器上的 Apache 中运行。haproxy 将传入的请求定向到 apache,apache 通过 modsecurity 接受请求;如果通过,它会将其反向代理回 haproxy,然后将其传递给 IIS。
== incoming request ==> haproxy ==> apache
v
mod_security
v
IIS machine <== haproxy <== mod_proxy
(是的,使用 haproxy 是有充分理由的。我们有数百个 https 证书,我们可以将 haproxy 指向一个装满它们的文件夹,它会根据 SNI https 请求选择正确的证书。还没有找到其他任何东西可以做到这一点。)
因此,在 apache 端没有 .htaccess 文件有意义的目录,至少对我来说是这样。
被视为 DetectionOnlyadmin.mysite.com
的路径将匹配主机和路径^/site/[a-zA-Z0-9-]+/Settings$