Autenticación de Dos Factores (2FA)
Seguridad Mejorada con Contraseñas de Un Solo Uso Basadas en Tiempo
OmniCRM admite autenticación de dos factores (2FA) utilizando contraseñas de un solo uso basadas en tiempo (TOTP). Esto agrega una capa adicional de seguridad al requerir que los usuarios proporcionen tanto su contraseña como un código sensible al tiempo de una aplicación de autenticación.
Vea también: RBAC para permisos de gestión de 2FA, Flujos de Autenticación para detalles del proceso de inicio de sesión.
Propósito
2FA proporciona:
- Seguridad Mejorada --- Protege las cuentas incluso si las contraseñas son comprometidas.
- Cumplimiento --- Cumple con los requisitos de seguridad para industrias reguladas.
- Elección del Usuario --- Opcional para los usuarios, puede ser impuesto por rol o globalmente.
- Estándar de la Industria --- Utiliza el protocolo TOTP compatible con Google Authenticator, Authy, Microsoft Authenticator y otras aplicaciones estándar.
Cómo Funciona 2FA
Cuando 2FA está habilitado para un usuario:
- Configuración --- El usuario escanea un código QR con su aplicación de autenticación durante la inscripción.
- Inicio de Sesión --- Después de ingresar el nombre de usuario/contraseña, el usuario proporciona el código de 6 dígitos de su aplicación.
- Verificación --- El sistema valida que el código basado en tiempo coincide con el valor esperado.
- Acceso --- El usuario obtiene acceso solo después de que ambos factores sean verificados.
Habilitando 2FA
Para Usuarios Individuales
Los usuarios pueden habilitar 2FA para su propia cuenta:
- Navegar a Configuración del Usuario o Perfil
- Seleccionar Habilitar Autenticación de Dos Factores
- Escanear el código QR con una aplicación de autenticación
- Ingresar el código de verificación para confirmar la configuración
- Guardar los códigos de respaldo en un lugar seguro
Respaldo y Recuperación
Códigos de Respaldo
Al habilitar 2FA, los usuarios reciben códigos de respaldo que pueden ser utilizados si su dispositivo no está disponible:
- Cada código es de un solo uso
- Almacenar los códigos de forma segura fuera de línea
- Generar nuevos códigos si todos han sido utilizados
Reinicio de Administrador
Si un usuario pierde el acceso a su autenticador y todos los códigos de respaldo están agotados, un administrador con acceso a la base de datos puede restablecer manualmente el 2FA del usuario borrando el campo totp_secret en la base de datos. El usuario puede luego volver a habilitar 2FA.
Integración de API
Habilitar 2FA para un usuario
POST /2fa/enable/user/{user_id}
{
"password": "current_password"
}
La respuesta incluye la URI de aprovisionamiento (para el código QR) y los códigos de respaldo.
Verificar la configuración de 2FA
POST /2fa/verify-setup/user/{user_id}
{
"code": "123456"
}
Verificar 2FA durante el inicio de sesión
POST /2fa/verify/user/{user_id}
{
"code": "123456"
}
Devuelve el token de acceso, el token de actualización y los datos del usuario tras una verificación exitosa.
Regenerar códigos de respaldo
POST /2fa/backup-codes/regenerate/user/{user_id}
Requiere autenticación. Devuelve un nuevo conjunto de códigos de respaldo.
Mejores Prácticas
- Códigos de respaldo primero. Siempre guarda los códigos de respaldo antes de completar la configuración de 2FA.
- Educar a los usuarios. Proporcionar instrucciones claras para la configuración y recuperación.
- Proceso de reinicio seguro. Verificar la identidad del usuario antes de restablecer manualmente 2FA en la base de datos.
Preguntas Frecuentes
¿Qué aplicaciones de autenticación son compatibles? Cualquier aplicación compatible con TOTP (Google Authenticator, Authy, Microsoft Authenticator, 1Password, etc.).
¿Qué pasa si pierdo mi teléfono? Usa un código de respaldo o contacta a un administrador para restablecer 2FA.
¿Puedo usar SMS en lugar de una aplicación? Actualmente, solo se admiten aplicaciones de autenticación TOTP.
¿Es 2FA obligatorio? Depende de la política de su organización. 2FA generalmente es obligatorio para roles de personal administrativo y de soporte, pero es opcional para usuarios clientes. El sistema no impone 2FA para cuentas de clientes (los usuarios con rol de cliente no ven mensajes de inscripción a 2FA).
¿Cuánto tiempo son válidos los códigos TOTP? Los códigos se actualizan cada 30 segundos y tienen una pequeña ventana de tiempo para la validación (normalmente acepta códigos de la ventana de 30 segundos actual más las ventanas anteriores/siguientes para tolerancia de desincronización del reloj).