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
733 sites
27
drupal.org

Instalar

Drupal 11, 10, 9 v5.3.4
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
Registrar/Iniciar sesión /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.

2FA para el administrador principal /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.

Política 2FA para usuarios finales /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.

Gestión de usuarios /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.

Sección de informes /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.

Configuración de 2FA Headless /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.

Planes de actualización /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.

Complementos /admin/config/people/miniorange_2fa/addons

Vea y habilite características adicionales y complementos para el módulo 2FA.

Configuraciones 2FA (Perfil de usuario) /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
Pestaña de configuración del cliente

Usando esta pestaña se puede dar de baja la cuenta del módulo miniOrange 2FA y deshabilitar el módulo/2FA para todos los usuarios.

Pestaña de configuración de inicio de sesión

Gestionar las configuraciones de 2FA para todo el sitio. Esto incluye habilitar/deshabilitar 2FA para cuentas de usuario, cambiar la configuración relacionada con 2FA basado en roles/dominios, métodos de 2FA permitidos, cambiar/reconfigurar 2FA, y mucho más.

Pestaña de gestión de usuarios

Gestionar el 2FA de todos los usuarios. Esto incluye restablecer el 2FA para cuentas de usuario.

Pestaña de configuración de 2FA headless

Configurar y gestionar los ajustes de API de 2FA headless/desacoplado.

Pestaña de licencias

Acceder a información de licencias y planes de actualización.

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
No se puede acceder al sitio después de habilitar 2FA y perder acceso al método de autenticación

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.

Los usuarios no reciben solicitud de 2FA después de iniciar sesión

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.

No se reciben los correos electrónicos/SMS con OTP

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.

Los códigos TOTP de la aplicación autenticadora no funcionan

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.

Error de cURL al registrar u obtener la licencia

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.

2FA no se invoca para usuarios SSO

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