最近项目做安全测试,发现 Tomcat
默认的错误页面,会显示 Tomcat
的版本信息,根据版本信息,如果版本有漏洞,可以直接让有非分之想之人找到相关信息进行入侵。于是要求去除默认携带的版本信息。
修改版本号
最简单的方法无疑是直接把版本号进行修改掉,不直接显示当前版本,甚至可以修改为错误版本,误导入侵者。
修改 Tomcat
路径下 lib/catalina.jar
的 org/apache/catalina/util/ServerInfo.properties
文件,将 server.info
的内容替换掉即可。
修改配置文件,不再显示版本信息
修改 Tomcat
路径下 conf/server.xml
文件,再 Server/Service/Engine/Host
路径下,添加下面的配置即可
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false"/>
重写错误页面
我们可以通过继承 org.apache.catalina.valves.ErrorReportValve
重写其 report
方法,对错误页面进行自定义,然后修改 Server/Service/Engine/Host
配置即可
<Host errorReportValveClass="com.thought.action.tomcat.CustomErrorReportValve" />