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:
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.