¿Para qué se usa el campo de encabezado de respuesta HTTP "Servidor"?

33

No fue hasta hace poco que comencé a cuestionar el uso del campo Server en el encabezado de respuesta HTTP.

Hice algunas investigaciones:

RFC 2616 estados:

  

14.38 Server

     

El campo del encabezado de respuesta del servidor contiene información sobre el   Software utilizado por el servidor de origen para manejar la solicitud. El campo   puede contener múltiples fichas de productos (sección 3.8) y comentarios   Identificando el servidor y cualquier subproducto significativo. El producto   Las fichas se enumeran en orden de importancia para identificar las   aplicación.

   Server         = "Server" ":" 1*( product | comment )
     

Ejemplo:

   Server: CERN/3.0 libwww/2.17
     

Si la respuesta se reenvía a través de un proxy, el proxy   La aplicación NO DEBE modificar el encabezado de respuesta del servidor. En cambio,   DEBE incluir un campo Via (como se describe en la sección 14.45).

  Note: Revealing the specific software version of the server might
  allow the server machine to become more vulnerable to attacks
  against software that is known to contain security holes. Server
  implementors are encouraged to make this field a configurable

Esto, sin embargo, no hace mención del propósito de este campo. Esto parece ser divulgación de información para mí. Estas cadenas de servidor proporcionan mucha información que es ideal para cualquiera que intente tomar una huella digital del servidor. Las herramientas de exploración automatizadas identificarían rápidamente los servidores no parcheados o vulnerables. Tener mi servidor web presentando la información de la versión para sí mismo y los módulos como OpenSSL parece una mala idea.

  • ¿Se necesita este campo ... para algo? Si es así, ¿qué?
  • ¿Ya es una buena práctica / lugar común deshabilitar o cambiar este campo en los servidores?

Pensaría que, desde una perspectiva de seguridad, querríamos dar al enemigo (es decir, a todos) la menor cantidad de información posible y al mismo tiempo permitir que continúen los negocios. Aquí es un interesante artículo sobre la guerra de información.

    
pregunta ZnArK 26.10.2012 - 19:36
fuente

2 respuestas

24

La información del servidor debe eliminarse de las respuestas HTTP, y es un valor predeterminado inseguro para filtrar estos datos. Esto no es un riesgo de seguridad importante, ni siquiera un riesgo de seguridad medio, pero no me siento cómodo simplemente al anunciar esos detalles a mis adversarios. Tener un número de versión exacto pierde cuándo, y con qué frecuencia instala sus sistemas de producción , incluso si la versión es actual. Un adversario que conoce el ciclo de parches, significa que sabe cuándo eres el más débil.

El encabezado HTTP Host probablemente sea más útil para el Netcraft Web Encuesta del servidor . Pero en términos de HTTP no debería importar. Es por eso que tenemos estándares, para que los clientes y servidores escritos por diferentes proveedores puedan trabajar juntos.

    
respondido por el rook 26.10.2012 - 19:54
fuente
11

Se usa para lo que quieras usar. Lo he encontrado útil en el pasado para problemas de cumplimiento de ingeniería inversa; p.ej. IIS rompe HTTP / 1.1 ( RFC 2616 ) de muchas maneras, pero la mayoría son para beneficio del usuario en términos de rendimiento y soportados por la mayoría de los navegadores. En realidad, la mayoría de los navegadores actuales ya no cumplen con las reglas de RFC 2616 (ahora con 13 años).

He tenido problemas con errores en el código y la configuración del servidor HTTP en el pasado. Saber qué se está ejecutando en el extremo remoto es una gran ayuda para diagnosticar y resolver estos problemas.

Sí, en Seguridad 101 se le dice que al ocultar este tipo de información se mejora la seguridad, IME los beneficios son limitados:

  • Los niños / los ataques automatizados de scripts no se molestan en mirar qué software está ejecutando, simplemente disparan todas sus armas y esperan lo mejor.

  • Cualquier persona que sea razonablemente competente debería poder determinar el tipo de servidor (aunque no lo he intentado con servidores HTTP, hace unos años, estaba realizando una encuesta de servidores SMTP, con un promedio de 2.1 comandos, podría encontrar el tipo y hacer una buena estimación del número de versión principal de MTA de 12 proveedores diferentes).

respondido por el symcbean 29.10.2012 - 11:06
fuente

Lea otras preguntas en las etiquetas