Security Review
Security Review automatiza la verificación de muchos errores de configuración que conducen a sitios Drupal inseguros y busca vulnerabilidades existentes e intentos de ataque.
security_review
Install
composer require 'drupal/security_review:^3.1'
Overview
Security Review es un módulo integral de auditoría de seguridad para Drupal que automatiza el proceso de verificación de errores de configuración y vulnerabilidades que pueden resultar en un sitio inseguro. Realiza 18 verificaciones de seguridad diferentes que cubren permisos, acceso a archivos, formatos de entrada, errores de base de datos, extensiones de archivo y más.
El objetivo principal del módulo es elevar la conciencia sobre la importancia de asegurar tu sitio Drupal. No hace que tu sitio sea seguro automáticamente, pero proporciona informes detallados y orientación para el endurecimiento manual de seguridad. Los resultados pueden variar según factores únicos del sitio, y los administradores deben usar los resultados de la lista de verificación y los recursos para asegurar manualmente su sitio.
Security Review proporciona tanto una interfaz web para ejecutar verificaciones y ver resultados, como comandos Drush para integración en auditorías de seguridad automatizadas y pipelines de CI/CD. El módulo utiliza una arquitectura basada en plugins que permite a otros módulos definir verificaciones de seguridad personalizadas.
Features
- Lista de verificación de seguridad automatizada con 18 verificaciones integradas que cubren vulnerabilidades comunes
- Arquitectura basada en plugins que permite verificaciones de seguridad personalizadas desde otros módulos
- Interfaz web para ejecutar verificaciones, ver resultados y acceder a ayuda detallada para cada verificación
- Integración con comandos Drush para auditorías de seguridad automatizadas y pipelines de CI/CD
- Roles no confiables configurables para definir qué roles de usuario deben tratarse como potencialmente maliciosos
- Opciones de configuración por verificación para ajustar el comportamiento de las verificaciones de seguridad
- Funcionalidad de omisión para excluir falsos positivos conocidos o configuraciones intencionales
- Procesamiento por lotes para verificaciones que consumen muchos recursos en sitios grandes
- Páginas de ayuda detalladas que explican cada problema de seguridad y los pasos de remediación
- Registro en watchdog de los resultados de las verificaciones para auditoría de seguridad
- Detección de intentos de inicio de sesión por fuerza bruta e intentos de inyección SQL mediante análisis de registros
- Verificación de permisos de archivo para asegurar que el servidor web no pueda escribir en directorios de código
- Escaneo de contenido en busca de etiquetas HTML peligrosas (script, PHP) en contenido enviado
- Verificación de cabeceras de seguridad HTTP (X-Frame-Options y cabeceras personalizadas)
Use Cases
Auditorías de Seguridad Regulares
Programa revisiones de seguridad regulares usando comandos Drush en trabajos cron o pipelines de CI/CD. Ejecuta 'drush secrev --store' para ejecutar todas las verificaciones y almacenar resultados. Habilita el registro para mantener un rastro de auditoría de resultados de verificaciones de seguridad a lo largo del tiempo.
Verificación de Seguridad Pre-despliegue
Integra Security Review en tu pipeline de despliegue ejecutando 'drush secrev' antes de desplegar a producción. El comando retorna un código de salida distinto de cero si alguna verificación falla, permitiéndote bloquear despliegues que introduzcan problemas de seguridad.
Línea Base de Seguridad para Sitio Nuevo
Después de configurar un nuevo sitio Drupal, ejecuta Security Review para establecer una línea base de seguridad. Aborda todos los fallos antes del lanzamiento. Documenta cualquier verificación omitida intencionalmente y sus justificaciones.
Investigación Post-compromiso
Si sospechas que un sitio ha sido comprometido, ejecuta la verificación de Fields para escanear contenido en busca de código script o PHP inyectado. Verifica Errores de Consulta e Inicios de Sesión Fallidos para evidencia de intentos de ataque en los registros.
Documentación de Cumplimiento
Usa los informes de Security Review como parte de la documentación de cumplimiento de seguridad. La función de registro del módulo crea un rastro de auditoría que puede proporcionarse a auditores para demostrar pruebas de seguridad regulares.
Verificaciones de Seguridad Personalizadas
Extiende Security Review creando plugins de verificación de seguridad personalizados. Implementa SecurityCheckInterface en un módulo personalizado para agregar requisitos de seguridad específicos de la organización a la lista de verificación automatizada.
Tips
- Otorga permisos de Security Review solo a roles de administrador de confianza, ya que los informes revelan información de seguridad sensible sobre tu sitio
- Configura los roles no confiables inmediatamente después de la instalación para asegurar que las verificaciones evalúen con precisión los riesgos para tu base de usuarios específica
- Ejecuta Security Review mediante Drush para resultados de permisos de archivo más precisos, ya que el contexto de usuario del servidor web difiere del CLI
- Usa la opción --store con Drush para guardar resultados para revisión posterior en la interfaz de administración
- Habilita el registro en producción para mantener un rastro de auditoría de resultados de verificaciones de seguridad
- Integra 'drush secrev' en tu pipeline de CI/CD para detectar problemas de seguridad antes del despliegue
- Al omitir verificaciones, documenta la razón usando los metadatos de omisión para mantener la responsabilidad
- Revisa la documentación de ayuda de cada verificación para entender qué prueba y cómo remediar problemas
- El módulo verifica evidencia de ataques en registros - asegúrate de que el módulo dblog esté habilitado para las verificaciones de Errores de Consulta e Inicios de Sesión Fallidos
- Revisa y actualiza regularmente la configuración de roles no confiables a medida que cambia la estructura de roles de tu sitio
Technical Details
Admin Pages 4
/admin/reports/security-review
La página principal de la lista de verificación de seguridad donde los administradores pueden ejecutar verificaciones de seguridad, ver resultados y activar o desactivar verificaciones individuales. Muestra la marca de tiempo de la última ejecución y una tabla que muestra cada verificación con su estado (éxito, fallo, advertencia, información), mensaje, enlace de ayuda y conmutador de omitir/habilitar.
/admin/config/security-review
Página de configuración del módulo Security Review donde los administradores pueden definir roles no confiables, habilitar el registro, omitir verificaciones específicas y configurar ajustes específicos de cada verificación.
/admin/reports/security-review/help
Página de ayuda general que proporciona una descripción general de la funcionalidad de Security Review y enlaces a ayuda detallada para cada verificación de seguridad individual.
/admin/reports/security-review/help/{namespace}/{title}
Página de ayuda individual para cada verificación de seguridad, mostrando información detallada sobre qué prueba la verificación, por qué es importante y cómo remediar cualquier problema encontrado. También muestra el estado de omisión con usuario y marca de tiempo si la verificación está omitida.
Permissions 2
Hooks 4
hook_security_review_unsafe_tags_alter
Modificar la lista de etiquetas HTML consideradas inseguras para ataques XSS
hook_security_review_unsafe_extensions_alter
Modificar la lista de extensiones de archivo consideradas inseguras para carga
hook_security_review_file_ignore_alter
Modificar la lista de rutas de archivo a ignorar durante la verificación de permisos de archivo
hook_security_review_temporary_files_alter
Modificar la lista de patrones de archivos temporales/respaldo a verificar en el directorio del sitio
Drush Commands 1
drush security:review
Ejecuta la lista de verificación de Security Review y muestra los resultados. Puede integrarse en pipelines de CI/CD para auditoría de seguridad automatizada.
Troubleshooting 5
La verificación de permisos de archivo escanea todos los archivos en la instalación de Drupal. Para sitios grandes, ejecuta la verificación mediante Drush CLI en lugar de la interfaz web. También puedes agregar directorios seguros conocidos a la configuración de archivos silenciados.
Habilita la opción 'Ignorar vista predeterminada' en la configuración de la verificación de Acceso de Views si tus visualizaciones predeterminadas están intencionalmente desprotegidas y el acceso se controla en otros niveles.
La verificación de Fields procesa contenido en lotes. Para sitios con grandes cantidades de contenido, ejecuta mediante Drush. El contenido seguro conocido puede excluirse agregando hashes a la configuración.
Ejecuta cron al menos una vez después de la instalación para que el módulo pueda determinar el ID de usuario del servidor web para una verificación precisa de permisos de archivo.
Asegúrate de que los módulos de verificación personalizados estén habilitados. Usa el formato namespace:título para verificaciones personalizadas, ej., 'drush secrev --check=mymodule:my_check'.
Security Notes 8
- Este módulo proporciona conciencia de problemas de seguridad pero no asegura automáticamente tu sitio - se requiere remediación manual
- Los resultados pueden ser incorrectos debido a factores únicos del sitio como configuraciones personalizadas, proxies inversos o entornos de alojamiento
- Solo otorga permisos de Security Review a usuarios de confianza ya que los informes contienen información de seguridad sensible
- El módulo escribe archivos de prueba durante la verificación de Permisos de Archivo - estos se limpian automáticamente pero pueden persistir si la verificación falla
- El registro de resultados de verificación debe usarse con cuidado ya que los registros pueden contener información sensible de seguridad
- Omitir verificaciones debe ser una decisión deliberada con justificación documentada, no una forma de ocultar problemas de seguridad
- La verificación de Fields revela contenido que contiene etiquetas script que pueden ser legítimas (ej., widgets embebidos) - revisa los hallazgos cuidadosamente
- Para máxima seguridad, ejecuta verificaciones tanto mediante la interfaz web como Drush ya que prueban diferentes aspectos de los permisos de archivo