2010-02-15 3 views

Respuesta

4

me gustaría hacer los cambios en ServerInfo.properties independientemente - que puede haber otros lugares para obtener la información de versión ServerInfo.properties que sólo las páginas de error. (Tal vez alguien deja la página de inicio predeterminada, ejemplos, etc. y pueden tenerla).

Defina páginas de error en su aplicación web si lo desea; una opción más rápida puede ser cambiar globalmente sus páginas de error predeterminadas especificando en CATALINA_HOME/conf/web.xml: esto usará sus nuevas páginas de error especificadas de forma predeterminada, incluso si un desarrollador se olvida de especificar páginas de error para su aplicación.

4

Cambiar ServerInfo.properties es el más seguro. Si, por ejemplo, ha desplegado una aplicación web en http://example.com/contextname, todavía podría obtener un 404 por http://example.com/blah o menos. También se puede obtener programáticamente mediante el uso de un robot para enviar una solicitud con un método no compatible (que devuelve la página de error 503).

Dicho esto, sinceramente, no veo ningún motivo válido para ocultar la versión de Tomcat. Esta información en realidad no agrega ningún valor para "usuarios normales". Tampoco impide que ningún hacker intente todo para bajarlo o explotar agujeros de seguridad (si hubiera alguno ...). No se preocupan si la versión se muestra o no. Para los "usuarios normales" seguiría utilizando una página de error personalizada que está un poco más integrada en el estilo de la aplicación en cuestión para que sea menos "aterradora" y, por lo tanto, mejore la experiencia del usuario.

+1

Es sorprendente cómo cambian las cosas ... https://www.cvedetails.com/vulnerability-list/vendor_id-45/product_id-887/version_id-29850/Apache-Tomcat-5.5.20.html –

8

Las respuestas están un poco desactualizadas, entonces: Si está usando un tomcat 6 o posterior (lo he probado en tomcat 7) puede usar el ErrorReportValve para lograr lo mismo de una forma mucho más fácil de configurar y mantener. Sólo tiene que añadir las siguientes líneas a la sección de host del server.xml (donde ya debe tener la AccessLogValve:

<Valve className="org.apache.catalina.valves.ErrorReportValve" 
    showReport="false" 
    showServerInfo="false"/>  

De esta manera usted está ocultando la información del servidor y (debido a la showReport opcional = false) también la pila de traza.

puede leer más sobre esto en el Security How To y en la documentación de la Error Report Valve.

Cuestiones relacionadas