一尘不染

减少Tomcat错误页面中的信息泄露

tomcat

默认情况下,Tomcat的错误页面会同时显示Tomcat的存在情况和处理请求的容器的确切版本。这对开发很有用,但是在生产环境中,此信息是潜在的安全漏洞,最好禁用它。

因此,我想知道什么是最好的解决方案(如最直接/最全面的解决方案)是完全消除Tomcat的默认错误页面。我知道<error-page>web.xml
中的选项,但是似乎在两个期望的计数上都失败了,部分原因是我必须多次列出同一替代错误页面(每个我要处理的响应代码一个),并且因为让我觉得可能不是100%健壮;如果攻击者能够以某种方式获得我未明确列出的错误代码,则他们将获得默认错误页面。

理想情况下,最好使用一个简单的选项来设置通用的自定义错误页面,或者完全禁止在默认错误页面中发送任何HTML和错误代码。如果这两个选项都不可行,那么我很想了解实现此功能的典型方式是什么(讨论/显示为什么这些假设选项不存在的要点,因为看来我的要求很标准)适用于在生产中使用Tomcat的任何人…)。


阅读 324

收藏
2020-06-16

共1个答案

一尘不染

<error- page>是正确的答案,但您不想仅将所有错误代码重定向到某个通用消息。您必须考虑如何处理每个错误。如果您担心自己可能会错过其中一个代码,请查看HttpServletResponse接口中的常量。

2020-06-16