Remove HTTP headers
Elimina encabezados de respuesta HTTP configurados de Drupal para mejorar la seguridad ocultando información del servidor.
remove_http_headers
Install
composer require 'drupal/remove_http_headers:^2.1'
composer require 'drupal/remove_http_headers:^2.0'
Overview
El módulo Remove HTTP headers proporciona una forma simple pero efectiva de eliminar encabezados HTTP específicos de todas las respuestas de Drupal. Esta es una práctica recomendada de seguridad ya que ayuda a ocultar información sobre la pila tecnológica subyacente, dificultando que los atacantes identifiquen vulnerabilidades potenciales.
El módulo utiliza un middleware HTTP que se ejecuta después del middleware de caché de páginas de Drupal, asegurando que los encabezados se eliminen tanto de las respuestas en caché como de las no almacenadas en caché. Cuando el encabezado X-Generator está configurado para eliminarse, el módulo también elimina automáticamente la etiqueta <meta name="Generator"> correspondiente de la salida HTML.
Por defecto, el módulo está configurado para eliminar tres encabezados comunes que identifican a Drupal: X-Generator, X-Drupal-Dynamic-Cache y X-Drupal-Cache. Los administradores pueden personalizar qué encabezados eliminar a través de la página de configuración o directamente mediante archivos de configuración.
Features
- Elimina cualquier encabezado HTTP configurado de todas las respuestas HTTP de Drupal
- Elimina automáticamente la etiqueta meta Generator del HTML cuando la eliminación del encabezado X-Generator está configurada
- Utiliza middleware HTTP con alta prioridad (1000) para asegurar que los encabezados se eliminen después de todos los demás middleware
- Proporciona una interfaz de administración para configurar qué encabezados eliminar
- Soporta configuración mediante archivos YAML para flujos de trabajo de despliegue
- Implementa caché para la configuración de encabezados para optimizar el rendimiento
- Valida el formato de los encabezados para asegurar que no haya espacios en blanco en los nombres
- Invalida automáticamente la caché cuando cambia la configuración
Use Cases
Refuerzo de seguridad para sitios en producción
Elimina todos los encabezados que identifican a Drupal (X-Generator, X-Drupal-Cache, X-Drupal-Dynamic-Cache, X-Drupal-Cache-Tags, X-Drupal-Cache-Contexts) para evitar que los atacantes identifiquen el sitio como ejecutándose en Drupal y su versión. Esto hace que el escaneo automatizado de vulnerabilidades sea menos efectivo.
Cumplimiento de políticas de seguridad
Muchas organizaciones tienen políticas de seguridad que requieren la eliminación de encabezados de identificación del servidor. Configura el módulo para eliminar X-Powered-By, Server y otros encabezados que revelan información sobre la pila tecnológica.
Ocultar la estrategia de caché
Elimina los encabezados X-Drupal-Cache y X-Drupal-Dynamic-Cache para ocultar información sobre la estrategia de caché del sitio a posibles atacantes que podrían intentar explotar vulnerabilidades relacionadas con la caché.
Mejora de la privacidad
Elimina encabezados que podrían usarse para fingerprinting o seguimiento para mejorar la privacidad del usuario y cumplir con las regulaciones de privacidad.
Tips
- El módulo se ejecuta como middleware HTTP con alta prioridad (1000), asegurando que procese las respuestas después de que el middleware de caché de páginas de Drupal añada sus encabezados
- Para máxima seguridad, considera eliminar: X-Generator, X-Drupal-Cache, X-Drupal-Dynamic-Cache, X-Drupal-Cache-Tags, X-Drupal-Cache-Contexts
- La configuración puede exportarse y desplegarse en diferentes entornos utilizando el sistema de gestión de configuración de Drupal
- El módulo valida que los nombres de los encabezados no contengan espacios en blanco para prevenir errores de configuración
- Los encabezados se eliminan solo en solicitudes principales, no en subsolicitudes, para optimización del rendimiento
Technical Details
Admin Pages 1
/admin/config/system/remove-http-headers
Configura qué encabezados de respuesta HTTP deben eliminarse de todas las respuestas de Drupal. Esto ayuda a mejorar la seguridad ocultando información del servidor que podría ser utilizada por atacantes para identificar vulnerabilidades.
Permissions 1
Hooks 1
hook_page_attachments_alter
Se utiliza para eliminar la etiqueta meta Generator del head HTML cuando el encabezado X-Generator está configurado para eliminarse
Troubleshooting 4
Limpia todas las cachés de Drupal después de cambiar la configuración. El módulo almacena en caché la lista de encabezados para optimizar el rendimiento. También verifica que la configuración se guardó correctamente en /admin/config/system/remove-http-headers.
Asegúrate de tener el permiso 'Administrar la configuración de Remove HTTP headers'. Este es un permiso restringido que debe otorgarse explícitamente.
Asegúrate de que 'X-Generator' esté incluido en la lista de encabezados a eliminar. La eliminación de la etiqueta meta se activa específicamente cuando el encabezado X-Generator está en la lista de eliminación.
Este módulo solo elimina los encabezados añadidos por Drupal. Los encabezados añadidos por servidores web (Apache, Nginx) o proxies inversos deben configurarse a esos niveles.
Security Notes 4
- Este módulo está cubierto por la política de Security Advisory de Drupal
- Eliminar encabezados identificativos es una práctica recomendada de seguridad, pero debe ser parte de una estrategia de seguridad integral
- El permiso 'remove_http_headers settings access' está marcado como restringido y solo debe otorgarse a administradores de confianza
- Aunque la eliminación de encabezados ayuda a ocultar información del servidor, atacantes determinados aún podrían identificar Drupal por otros medios