Server
Uso
Los servidores incluyen la cabecera Server para identificar el software y, de forma opcional, la información de versión que procesa la solicitud. El valor sigue un formato de token de producto similar al de la cabecera de solicitud User-Agent: uno o varios nombres de producto, cada uno seguido opcionalmente de una versión y un comentario.
El nivel de detalle de Server varía según el despliegue. Revelar versiones concretas del software supone un riesgo de seguridad. Los atacantes buscan vulnerabilidades conocidas en versiones concretas de servidores web, frameworks y sistemas operativos. Una cabecera Server detallada facilita ese reconocimiento.
Nota
Revelar información de versión en la cabecera Server ayuda a los atacantes que buscan vulnerabilidades conocidas. A los despliegues en producción les conviene limitar el valor a un nombre de producto genérico o eliminar la cabecera por completo.
Entre los enfoques habituales para mitigar este riesgo se incluyen:
La mayoría de los servidores web ofrecen opciones de configuración para controlar el valor de la cabecera Server. Nginx utiliza la directiva server_tokens. Apache utiliza ServerTokens y ServerSignature. Los proxies inversos y las CDN suelen sobrescribir el valor del servidor de origen con su propio identificador.
product
Uno o varios tokens de producto que identifican el software del servidor. Cada token incluye opcionalmente una versión separada por una barra inclinada y un comentario entre paréntesis.
Server: <product>/<version> (<comment>)
Los distintos productos aparecen separados por espacios y se enumeran por orden de importancia.
Ejemplo
Una respuesta mínima identifica el software del servidor sin exponer un número de versión. Este es el enfoque recomendado para los entornos de producción.
Server: nginx
Algunos servidores incluyen detalles de versión e información del sistema operativo. Este formato expone más superficie de ataque al escaneo basado en versiones.
Server: Apache/2.4.57 (Ubuntu)
Las CDN y las plataformas en la nube suelen sustituir el valor del servidor de origen por su propio nombre de producto.
Server: cloudflare
Un valor personalizado o deliberadamente vago oculta la pila tecnológica subyacente.
Server: webserver
Configuración
Suprima o reduzca al mínimo la cabecera Server para limitar la fuga de información en producción.
nginx:
server_tokens off;
Esto reduce el valor a nginx sin número de versión. Para eliminar la cabecera por completo se necesita el módulo headers-more:
more_clear_headers Server;
Apache:
ServerTokens Prod
ServerSignature Off
ServerTokens Prod reduce el valor a Apache sin detalles de versión ni de módulos. ServerSignature Off elimina la información del servidor de las páginas de error.
IIS:
Elimine la cabecera mediante reglas de salida de URL Rewrite o establezca removeServerHeader=“true” en applicationHost.config (.NET 8+).