Ocultar versión de Apache Tomcat en páginas de error

Por defecto, Apache Tomcat muestra la versión en todas las páginas de error. A la hora de ocultar la versión, hay que tener en cuenta que la forma más rápida y cómoda sólo es válida a partir de Tomcat 6, o por lo menos a mí en Tomcat 5 no me ha funcionado. Para Tomcat 5 es necesario modificar el string de la versión que está incrustado directamente en el catalina.jar.

Otra de las opciones es crear páginas de error personalizadas con <error-page>, pero sin duda la forma más rápida y sencilla es la que explico a continuación.

Ocultar versión en Apache Tomcat 5

Para quitar la versión de Tomcat 5 en las páginas de error es necesario desempaquetar el jar catalina.jar, modificar las strings en el archivo «ServerInfo.properties» y volver a empaquetarlo.

Este jar se encuentra en:

$CATALINA_HOME/server/lib/catalina.jar

Lo copiamos a una ruta temporal para trabajar con el archivo:

# cp -p $CATALINA_HOME/server/lib/catalina.jar /var/tmp/jar

Desempaquetamos:

$ jar xvf catalina.jar

Editamos el archivo ServerInfo.properties quitando las versiones:

# cat /var/tmp/temp/org/apache/catalina/util/ServerInfo.properties 
server.info=Apache Tomcat
server.number=
server.built=

Y volvemos a empaquetar y copiar a su ubicación original:

$ jar cfv catalina-jar *
# cp -p /var/tmp/jar/catalina.jar $CATALINA_HOME/server/lib/catalina.jar

Y al reiniciar Tomcat la versión ya no aparecerá en las páginas de error:

tomcat error hide version

Ocultar versión en Apache Tomcat 6

A partir de Tomcat 6 es más sencillo pues en lugar de tener que manipular el archivo catalina.jar directamente se puede crear la estructura de directorios donde se encuentra ServerInfo.properties y poner ahí los parámetros a sobreescribir:

# mkdir -p $CATALINA_HOME/lib/org/apache/catalina/util

Y crear ahí el archivo:

# cat $CATALINA_HOME/lib/org/apache/catalina/util/ServerInfo.properties 
server.info=Apache Tomcat
server.number=
server.built=

Reiniciamos Tomcat y listo.

2 comentarios en “Ocultar versión de Apache Tomcat en páginas de error

  1. Buenas

    Como curiosidad, ¿qué utilidad tiene ocultar la versión? ¿es para evitar dar pistas a los hackers sobre posibles vulnerabilidades? ¿hay alguna más?
    gracias

Comments are closed.