Cómo ocultar la versión de Nginx en los mensajes que devuelve un servidor web (en los encabezados). Este procedimiento es recomendable por seguridad, para que un posible atacante no conozca la versión del servidor web Nginx que estamos usando. Si la conoce, puede buscar las posibles vulnerabilidades que tenga y explotarlas.

Páginas de error o aviso y encabezados en servidor web Nginx mostrando la versión

Cuando accedemos a un recurso web que está bloqueado o cuando se produce un error en el acceso al servidor web, Nginx nos devolverá una página web similar a esta:

Como podemos observar, muestra tanto el nombre del servidor web «nginx» como la versión «1.22.1». Esta información puede ser utilizada por un atacante para buscar las vulnerabilidades de esa versión y explotarlas.

La información de la versión de Nginx aparecerá tanto en el HTML de la página web devuelta por el servidor como en el encabezado del sitio web, que se puede obtener con el comando curl:

Nos devolverá algo así como:

Podemos comprobar que en la cabecera «Server» devuelve tanto el nombre del servidor como la versión.

A continuación, explicamos cómo evitar que aparezca la versión del servidor web en las páginas de error o aviso.

Ocultar versión de servidor web Nginx en páginas de error y aviso y en encabezados

Para que el servidor web Nginx, en sus respuestas, no muestre la versión, editaremos el fichero de configuración de Nginx, que habitualmente está en: /etc/nginx/nginx.conf, con:

En la sección http { añadiremos esta línea:

Guardaremos los cambios pulsando Control + W y cerraremos la edición del fichero pulsando Control + X. Para aplicar los cambios deberemos reiniciar el servicio de Nginx, podemos hacerlo con el comando Linux:

Volveremos a comprobar alguna página que sepamos que da error o aviso para ver que, ahora, nos mostrará el mensaje sin la versión de Nginx:

Si hacemos ahora un curl:

Nos devolverá la misma información que anteriormente, pero sin la versión de Nginx: