Apache/ModSecurity 自定义错误页面

Apache/ModSecurity 自定义错误页面

我正在尝试在触发 Apache/ModSecurity 规则时显示自定义错误页面。我的计划如下:

  • 将所有规则的状态代码更改为(例如)501
  • 使用ErrorDocument指令显示此代码的自定义错误页面
  • 在错误页面中使用 php 记录应用程序级别的错误,显示自定义消息等。

到目前为止我已经尝试过:

SecRuleUpdateActionById 1-999999 "phase:2,status:501"

SecDefaultAction "deny,log,redirect:http://some.url/"

我尝试了之前和之后的版本,modsecurity.conf包括 CRS 规则,以及.htaccess

不起作用——仍然总是出现 403 错误。

答案1

您是否尝试过将两者结合起来?:

SecDefaultAction "phase:1,log,auditlog,deny,status:503"
SecDefaultAction "phase:2,log,auditlog,deny,status:503"

请注意,您可以像上面一样对每个阶段执行不同的默认操作。

还要注意,一些规则集(例如 OWASP CRS)也设置了这些默认操作,并且如果使用异常评分或立即阻止,Kay 也需要以某种方式进行设置。

答案2

我找到了一种使用 mod_security 自定义错误页面或消息的方法。您需要做的是在 waf.conf 文件中使用 ProxyPass 文件!

    ProxyPass /403.html !
    ProxyPass /500.html !

这样我就可以在 Apache 的 webroot 中放置一个自定义的 403 或 500 文件,这样当 mod_security 想要显示错误时,它会显示自定义错误消息。

相关内容