Autenticación de Dos Factores - TFA / Inicio de Sesión Sin Contraseña
Añade una segunda capa de autenticación (2FA/MFA) para proteger las cuentas de usuario de Drupal con múltiples métodos de autenticación incluyendo TOTP, OTP, notificaciones push y WebAuthn.
miniorange_2fa
Instalar
composer require 'drupal/miniorange_2fa:^5.3'
Overview
El módulo miniOrange Two Factor Authentication (2FA/TFA) proporciona autenticación multifactor de nivel empresarial para sitios Drupal. Protege su sitio de hackeos, intentos de inicio de sesión no autorizados y ataques de phishing añadiendo una segunda capa de seguridad más allá de las contraseñas.
El módulo soporta varios métodos de autenticación incluyendo OTP vía SMS, correo electrónico y llamadas telefónicas, autenticadores TOTP (Google, Microsoft, Authy, LastPass, Duo, Okta, 2FAS, Zoho OneAuth), notificaciones push, autenticación por código QR, preguntas de seguridad (KBA), tokens de hardware (YubiKey) y WebAuthn/FIDO2. También soporta inicio de sesión sin contraseña donde los usuarios pueden autenticarse usando solo su segundo factor sin necesidad de contraseña.
Las características avanzadas incluyen aplicación de 2FA basada en roles y dominios, lista blanca de IPs de confianza, funcionalidad de Recordar Mi Dispositivo, registro en línea para usuarios finales, etiquetas personalizadas del formulario de inicio de sesión y registro completo de auditoría. El módulo se integra con soluciones SSO y proporciona un modo Headless/API para arquitecturas desacopladas.
Features
- Múltiples métodos 2FA: OTP por SMS, correo electrónico, llamada telefónica, autenticadores TOTP, notificaciones push, código QR, preguntas de seguridad (KBA), tokens de hardware (YubiKey), WebAuthn/FIDO2
- Inicio de sesión sin contraseña permitiendo autenticación solo con el segundo factor (sin contraseña requerida)
- Aplicación de 2FA basada en roles para requerir 2FA a roles de usuario específicos
- Aplicación de 2FA basada en dominios para requerir 2FA a dominios de correo electrónico específicos
- Lista blanca de IPs de confianza para omitir 2FA en direcciones IP o rangos específicos
- Recordar Mi Dispositivo (Autenticación Basada en Riesgo) para recordar dispositivos de confianza durante un período configurable
- Flujo de registro en línea para que los usuarios finales configuren 2FA durante su primer inicio de sesión
- Restricción de longitud de contraseña para aplicar 2FA a usuarios con contraseñas débiles
- URL de acceso de respaldo para acceso de emergencia sin 2FA
- URL de redirección personalizada después del inicio de sesión exitoso
- Habilitar inicio de sesión con dirección de correo electrónico o número de teléfono además del nombre de usuario
- Anular título y descripción del campo de nombre de usuario en el formulario de inicio de sesión
- Marca de organización personalizada para pantallas de autenticación
- Plantillas de correo electrónico y SMS personalizables a través del panel de miniOrange
- Longitud y validez de OTP personalizables
- Panel de administración para gestionar las configuraciones 2FA de todos los usuarios
- Registro completo de auditoría de intentos de autenticación
- Soporte de API 2FA Headless/Desacoplado para frameworks frontend
- Integración con módulos SSO (CILogon, etc.)
- Método de autenticación de respaldo (KBA) cuando el método principal no está disponible
- Submódulo WebAuthn para autenticación biométrica sin contraseña
Use Cases
Protección de cuentas de administrador
El caso de uso principal es proteger las cuentas de administrador contra accesos no autorizados. Después de la instalación, el administrador puede configurar inmediatamente 2FA para su cuenta usando cualquier método compatible como Google Authenticator o OTP por correo electrónico, asegurando que incluso si la contraseña se ve comprometida, la cuenta permanezca segura.
Aplicación de 2FA a nivel empresarial
Las organizaciones pueden aplicar 2FA para todos los usuarios o roles específicos usando la función de restricción basada en roles. Por ejemplo, requerir 2FA para todos los usuarios con roles 'editor' o 'administrator' mientras se permite que los usuarios 'authenticated' usen 2FA opcionalmente.
Políticas de seguridad basadas en dominio
Las empresas con múltiples dominios de correo electrónico pueden aplicar 2FA solo para dominios específicos. Por ejemplo, requerir 2FA para correos @company.com mientras se exime a las direcciones @contractor.com.
Drupal headless/desacoplado
Para sitios que usan una arquitectura desacoplada con un frontend separado (React, Vue, etc.), los endpoints de API de 2FA headless permiten integrar la verificación 2FA en el flujo de autenticación del frontend personalizado.
Acceso desde redes de confianza
Las organizaciones pueden configurar rangos de IP de confianza (redes de oficina, VPNs) donde se omite 2FA, reduciendo la fricción para usuarios que se conectan desde ubicaciones seguras mientras se mantiene la seguridad para accesos externos.
Autenticación sin contraseña
Habilita el inicio de sesión sin contraseña donde los usuarios se autentican usando solo su segundo factor (código TOTP, biometría vía WebAuthn, o notificación push), eliminando completamente las vulnerabilidades relacionadas con contraseñas.
Integración con SSO
Cuando se usa junto con módulos SSO, 2FA proporciona una capa de seguridad adicional después de la autenticación SSO, asegurando que los usuarios sean verificados a través de múltiples factores incluso cuando usan identidad federada.
Tips
- Habilita la URL de respaldo inmediatamente después de activar el módulo como opción de recuperación de emergencia
- Usa OTP por correo electrónico o autenticadores TOTP para pruebas antes de implementar otros métodos
- La versión gratuita soporta 1 usuario con métodos limitados - ideal para proteger la cuenta principal de administrador
- Ejecuta Drupal cron regularmente para mantener actualizada la información de licencia y transacciones
- Usa 2FA basado en roles para implementar gradualmente - comienza con administradores, luego expande a otros roles
- Configura KBA (Preguntas de Seguridad) como método de respaldo para que los usuarios puedan recuperarse si pierden acceso a su método principal
- Prueba el flujo de 2FA en un entorno de staging antes de habilitarlo para todos los usuarios
- Exporta las configuraciones de usuario antes de desinstalar - marca 'Preserve configured 2FA settings' durante la desinstalación para conservar los datos
Technical Details
Admin Pages 9
/admin/config/people/miniorange_2fa/customer_setup
Regístrese o inicie sesión con su cuenta de miniOrange para activar el módulo. Después del registro, vea los detalles de su perfil incluyendo ID de cliente, información de licencia, transacciones restantes de SMS/correo electrónico/IVR y fechas de vencimiento de licencia. También puede eliminar su cuenta desde esta página.
/admin/config/people/miniorange_2fa/setup_twofactor
Configure la autenticación de dos factores para el usuario administrador principal que activó el módulo. Vea todos los métodos 2FA disponibles organizados por tipo (OTP, TOTP, Otros), vea qué métodos están activos o configurados y configure nuevos métodos de autenticación.
/admin/config/people/miniorange_2fa/login_settings
Configure las políticas de autenticación de dos factores para usuarios finales incluyendo habilitar/deshabilitar 2FA, registro en línea, aplicación basada en roles y dominios, IPs de confianza, Recordar mi dispositivo y opciones de personalización.
/admin/config/people/miniorange_2fa/user_management
Gestione las configuraciones 2FA para todos los usuarios del sitio. Vea detalles de usuario, estado de 2FA, métodos configurados y realice acciones como restablecer, habilitar o deshabilitar 2FA para usuarios individuales o en masa.
/admin/config/people/miniorange_2fa/report
Vea los registros de autenticación incluyendo intentos de inicio de sesión, desafíos 2FA, eventos de configuración y acciones de restablecimiento. Filtre registros por nombre de usuario, tipo de evento y estado.
/admin/config/people/miniorange_2fa/headlesSsetup
Configure la autenticación de dos factores para arquitecturas Drupal headless/desacopladas. Habilite la API 2FA headless y obtenga documentación para integrar 2FA en aplicaciones frontend.
/admin/config/people/miniorange_2fa/licensing
Vea los planes de licencia disponibles y las opciones de actualización. Compare las características entre las versiones gratuita y premium.
/admin/config/people/miniorange_2fa/addons
Vea y habilite características adicionales y complementos para el módulo 2FA.
/mfa_setup/{user}/settings
Pestaña del perfil de usuario que permite a los usuarios finales ver y gestionar sus propias configuraciones 2FA. Disponible solo cuando 2FA está habilitado y el usuario ha configurado 2FA.
Permisos 5
Hooks 2
hook_invoke_alter_login_flow_details
Permite a los módulos modificar los detalles del flujo de inicio de sesión 2FA, incluyendo mensajes, descripciones e intentos permitidos para cada tipo de autenticación.
hook_invoke_miniorange_2fa_before_login
Hook invocado por los módulos SSO antes de completar el inicio de sesión del usuario para activar 2FA. Se utiliza para integrar 2FA con soluciones de Single Sign-On.
Troubleshooting 6
Usa la URL de respaldo (/user/login?skip_2fa=YOUR_API_KEY) para omitir 2FA. La clave API se muestra en la página de Login Settings. Si no tienes la clave, accede a la base de datos directamente y establece mo_auth_enable_two_factor a FALSE en la tabla config.
Verifica que 'Activate Two-Factor Authentication' esté habilitado en la pestaña 2FA Policy. Comprueba si el usuario se está conectando desde una IP de confianza que omite 2FA. Verifica que las restricciones basadas en roles o dominios incluyan al usuario.
Verifica tus transacciones restantes en la pestaña Register/Login. Los OTP por SMS y correo electrónico consumen créditos de transacción. Contacta a miniOrange para comprar transacciones adicionales si se agotaron.
Asegúrate de que la hora en tu teléfono esté sincronizada. Los códigos TOTP son sensibles al tiempo con una ventana de 30 segundos. Intenta refrescar el código e ingresarlo inmediatamente.
Asegúrate de que la extensión PHP cURL esté habilitada en tu servidor. El módulo requiere cURL para comunicarse con los servidores de miniOrange.
Asegúrate de que el módulo SSO esté llamando al hook hook_invoke_miniorange_2fa_before_login() con el objeto de cuenta de usuario después de la autenticación SSO.
Security Notes 7
- La URL de respaldo proporciona acceso de emergencia sin 2FA - mantén la clave API confidencial y solo compártela con administradores de confianza
- El OTP basado en SMS se considera menos seguro que TOTP o WebAuthn debido a ataques de intercambio de SIM - considera usar métodos TOTP para cuentas de alta seguridad
- El módulo se comunica con los servidores en la nube de miniOrange para validación de licencia y algunos métodos 2FA (SMS, Push) - revisa las políticas de manejo de datos de tu organización
- Almacena las credenciales de la cuenta miniOrange de forma segura - proporcionan acceso a tu licencia y pueden usarse para gestionar tu configuración de 2FA
- WebAuthn/FIDO2 proporciona el nivel más alto de seguridad y es resistente a ataques de phishing
- La configuración de IP de confianza debe revisarse regularmente para asegurar que solo los rangos de IP legítimos estén en la lista blanca
- El módulo registra los intentos de autenticación - revisa los logs periódicamente para detectar actividad sospechosa