6 votos

¿Tiene sentido desde una perspectiva de seguridad eliminar el encabezado HTTP del servidor?

<p>Estoy utilizando barniz y no estoy seguro si también debo quitar la <code></code> encabezado HTTP. ¿Por qué alguien necesita saber que estoy usando NGINX? ¿Es bueno para quitar este encabezado HTTP de la respuesta o es necesario en algún lugar? ¿Desde una perspectiva de seguridad es probablemente mejor hacerlo?</p>

12voto

Michael Hampton Puntos 88271

RFC 7231 dice sobre el encabezado de Servidor:

Un servidor de origen PUEDE generar un campo de Servidor en sus respuestas.

PUEDE que se interpreta como en el RFC 2119:

  1. De MAYO de Esta palabra, o el adjetivo "OPCIONAL", significa que un elemento es verdaderamente opcional. Un vendedor puede elegir incluir el valor, debido a que un particular mercado requiere o porque el proveedor siente que mejora el producto, mientras que otro vendedor puede omitir el mismo elemento. Una aplicación que no incluye una opción de la que DEBE ser preparado para interactuar con otra aplicación que no incluir la opción, aunque tal vez con funcionalidad reducida. En el misma vena de una aplicación que incluye una opción en particular DEBE estar preparado para interactuar con otra aplicación que no incluye la opción (excepto, por supuesto, para que la función de la opción proporciona.)

Por lo tanto, es perfectamente bien para restringir o eliminar la respuesta del Servidor de encabezado. Por supuesto, es una buena idea para ser consciente de lo que podría estar dando por hacerlo. Por eso, volver a RFC 7231:

El "Servidor" campo de encabezado contiene información sobre el software utilizado por el servidor de origen para la gestión de la solicitud, que se utiliza a menudo por los clientes para ayudar a identificar el alcance de denuncias de interoperabilidad los problemas, para evitar o adaptar las solicitudes para evitar particular las limitaciones del servidor, y de análisis respecto de servidor o de funcionamiento el uso del sistema. Un servidor de origen PUEDE generar un campo de Servidor en su de las respuestas.

Server = product *( RWS ( product / comment ) )

El Servidor de valor de campo se compone de uno o más identificadores de producto, cada uno seguido por cero o más comentarios (Sección 3.2 de [RFC7230]), que junto a identificar el origen de software de servidor y su importante subproductos. Por convención, los identificadores de producto son enumeran en orden decreciente de su importancia para la identificación de la origen software de servidor. Cada identificador del producto se compone de un nombre y la versión opcional, tal como se define en la Sección 5.5.3.

Ejemplo:

Server: CERN/3.0 libwww/2.17

Un servidor de origen NO DEBE generar un campo Servidor que contiene innecesariamente de grano fino detalle y DEBE limitar la adición de subproductos por parte de terceros. Demasiado larga y detallada campo Servidor los valores de incremento de la latencia de respuesta y potencialmente revelar interna los detalles de implementación que podría hacer es (ligeramente) más fácil los atacantes para encontrar y explotar agujeros de seguridad conocidos.


Aunque en la práctica, los atacantes no comprobar realmente el Servidor: encabezado. Ellos sólo tratan cada exploit que ellos saben, si su servidor le da a cualquier indicación de ser vulnerable o no. Quitar el Servidor: encabezado es una seguridad por oscuridad de la acción, y de forma casi completamente ineficaz. Pero si te hace sentir mejor, o te dicen hacerlo por su jefe o a un auditor de cuentas, ir a por ello. Simplemente no es de esperar que el resultado de cualquier mejora significativa de su postura de seguridad.

Por ejemplo, nmap puede identificar un servidor web con bastante precisión, incluso cuando está configurado para no enviar un Server de encabezado, o cuando el contenido de la cabecera es completamente falso. Pruébelo usted mismo con nmap -sV -P0 -p 80,443 <IP address>.

2voto

Daniel V. Puntos 246

El Server HTTP header sólo sirve a un propósito de identificación. No es necesario en cualquier lugar para el funcionamiento de su sitio web correctamente, y por la eliminación de ella, nada se va a romper.

Se revela el servidor interno de la infraestructura, y por lo tanto las fugas de seguridad de la información que puede ser útil para posibles intrusiones.

Después de obtener el conocimiento de su software de servidor web, a través de la Server encabezado HTTP, el potencial intruso puede buscar en su web del servidor público vulnerabilidades conocidas. A continuación, se puede utilizar esta información junto con cualquier otra información que podrían obtener (por ejemplo, a través de la exploración) - para construir una adecuada vector de ataque.

Por lo tanto, puede que desee quitar de la Server encabezado altogther, por ejemplo, de eliminar de nginx.

1voto

Chris Puntos 3992
<p>Si usted tiene "<em>server_tokens off</em>" en tu configuración (y parece que hacer puesto que hay solamente 'nginx' y no dicen 'nginx/1.13.11'), entonces está bien dejar las cosas como son ahora. El problema puede aparecer si tienes una versión vulnerable y una mala persona puede utilizar esta información para explotar la vulnerabilidad, pero para el nginx debe ser públicamente accesible. En pocas palabras, use "server_tokens;" y hacer no nginx abierto puerto todos IPs sino barniz solamente y usted debe ser seguro.</p>

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: