Cómo activar 2FA en Authentik y obligar a usar MFA

Última actualización: 31/08/2026

  • Authentik aplica MFA mediante etapas de configuración y validación dentro de los flujos.
  • La acción Configure obliga a registrar un autenticador compatible antes de continuar.
  • TOTP, WebAuthn, passkeys, códigos estáticos, SMS, correo y Duo están disponibles como métodos.
  • Una sola etapa con varios métodos permite elegir uno, no validarlos todos.
Cómo activar 2FA en Authentik y obligar a usar MFA

Una contraseña robada puede permitir que un atacante acceda a varias aplicaciones protegidas por el mismo proveedor de identidad. Por eso, después de instalar Authentik con Docker Compose, uno de los primeros pasos debería ser configurar la autenticación multifactor o MFA.

Authentik permite utilizar códigos TOTP, llaves de seguridad, passkeys, códigos de recuperación, SMS, correo electrónico o Duo. Sin embargo, activar el 2FA no consiste simplemente en pulsar un interruptor. La plataforma utiliza flujos y etapas de autenticación para decidir qué factor solicitar, cuándo hacerlo y qué ocurre cuando el usuario todavía no tiene ninguno registrado.

Esta flexibilidad permite exigir MFA a todos los usuarios, aplicarlo solamente a grupos administrativos o solicitar una verificación adicional al acceder a determinadas aplicaciones. También hace necesario configurar cuidadosamente el flujo para evitar accesos sin segundo factor o bloqueos accidentales.

Qué significa activar MFA en Authentik

Qué significa activar MFA en Authentik

La autenticación multifactor combina al menos dos pruebas pertenecientes a categorías diferentes:

  • Algo que sabes: una contraseña o un PIN.
  • Algo que tienes: un teléfono, una aplicación TOTP o una llave física.
  • Algo que eres: una comprobación biométrica realizada por el dispositivo.

En un acceso tradicional, el usuario introduce primero su identificador y contraseña. Después, Authentik ejecuta una Authenticator Validation stage para comprobar un autenticador registrado previamente.

La etapa de validación suele colocarse después de la identificación y la contraseña, pero antes de la etapa User Login, que es la que crea finalmente la sesión del usuario.

Conviene distinguir entre tres configuraciones diferentes:

  • MFA opcional: solo se solicita cuando el usuario ya tiene un autenticador registrado.
  • MFA obligatorio: quien no tenga un autenticador debe configurarlo antes de continuar.
  • Acceso sin contraseña: una passkey o credencial WebAuthn sustituye a la contraseña dentro de un flujo preparado específicamente.

Una passkey no constituye automáticamente un segundo factor. Puede utilizarse después de una contraseña como verificación adicional o convertirse en el mecanismo principal de un flujo sin contraseña.

Métodos de autenticación compatibles

Usuario introduciendo un código TOTP para autenticarse en Authentik

Códigos TOTP

TOTP es el método más sencillo para empezar. Authentik muestra un código QR que puede escanearse con aplicaciones como Google Authenticator, Aegis, 1Password, Bitwarden o cualquier aplicación compatible.

Los códigos se generan localmente a partir de una clave compartida y de la hora del dispositivo, por lo que no necesitan conexión a Internet. Authentik admite códigos de seis u ocho dígitos, aunque seis ofrece una compatibilidad más amplia.

Códigos estáticos de recuperación

La etapa Static Authenticator Setup genera una colección de códigos de recuperación. Cada código puede utilizarse una sola vez y debe guardarse en un lugar protegido.

Estos códigos están pensados como método de emergencia cuando se pierde el teléfono o la llave de seguridad. No conviene almacenarlos únicamente en el mismo dispositivo utilizado para generar los códigos TOTP.

WebAuthn, FIDO2 y passkeys

WebAuthn permite utilizar llaves físicas como YubiKey o Google Titan, autenticadores integrados como Windows Hello, Touch ID o Face ID y passkeys guardadas por el sistema operativo o un gestor de contraseñas.

Estas credenciales están vinculadas al dominio donde se registraron, por lo que ofrecen una protección considerablemente mayor frente al phishing que los códigos que pueden copiarse manualmente.

Para crear una passkey apta para acceso sin contraseña, la credencial debe ser descubrible. En la etapa de configuración WebAuthn, el ajuste Resident key requirement debe establecerse como preferido u obligatorio.

WebAuthn necesita un contexto seguro. En una instalación publicada por Internet debes acceder a Authentik mediante HTTPS con un certificado válido.

Autenticación mediante correo electrónico

Desde Authentik 2025.2 se puede registrar una dirección como autenticador y enviar códigos temporales mediante correo. Este sistema necesita una configuración SMTP funcional.

La etapa Email Authenticator Setup es diferente de la etapa general Email utilizada para verificar cuentas, enviar invitaciones o recuperar contraseñas.

Contenido exclusivo - Clic Aquí  Cómo limpiar archivos residuales de Razer Synapse en Windows

Autenticación mediante SMS

Authentik puede enviar códigos SMS mediante Twilio o un endpoint HTTP genérico. Durante el registro se almacena el número de teléfono para utilizarlo posteriormente desde la etapa de validación.

Si activas Verify only, Authentik comprobará que el usuario controla el número, pero no conservará el teléfono de forma que pueda utilizarse después para MFA.

El SMS depende de un proveedor externo y está expuesto a riesgos como la duplicación fraudulenta de la tarjeta SIM. Es preferible utilizarlo como método de respaldo cuando TOTP o WebAuthn no sean viables.

Duo Security

La integración con Duo permite registrar un autenticador asociado al servicio y utilizarlo posteriormente en la etapa de validación. Requiere las credenciales proporcionadas por Duo y resulta especialmente útil en organizaciones que ya utilizan su ecosistema.

Precauciones antes de obligar a utilizar 2FA

Modificar el flujo principal sin haber probado el segundo factor puede dejarte fuera del panel administrativo. Antes de aplicar la configuración a todos los usuarios:

  • Registra un autenticador en tu propia cuenta administrativa.
  • Genera y guarda códigos estáticos de recuperación.
  • Crea una segunda cuenta administrativa de emergencia.
  • Mantén abierta una sesión mientras realizas las pruebas.
  • Comprueba el flujo desde una ventana privada antes de cerrar la sesión original.
  • Haz una copia de seguridad de PostgreSQL antes de modificar flujos críticos.

También conviene evitar la opción Deny durante las primeras pruebas. Esta acción bloquea inmediatamente a cualquier usuario que no tenga un autenticador compatible, sin ofrecerle la posibilidad de registrarlo.

Cómo crear una etapa de configuración TOTP

Para permitir que los usuarios registren una aplicación de códigos temporales:

  1. Entra en la interfaz de administración de Authentik.
  2. Abre Flows and Stages > Stages.
  3. Pulsa New Stage.
  4. Selecciona Authenticator TOTP Setup Stage.
  5. Introduce un nombre descriptivo, como mfa-configurar-totp.
  6. Selecciona seis dígitos para obtener la máxima compatibilidad.
  7. Guarda la etapa.

La etapa crea el secreto TOTP y presenta al usuario un código QR. Después de escanearlo, el usuario deberá introducir un código válido para confirmar que la configuración funciona.

Si quieres que el método aparezca en los ajustes personales del usuario, selecciona un Configuration flow compatible. Esto permitirá añadir nuevos autenticadores desde la interfaz de autoservicio.

Cómo crear códigos de recuperación

Para generar códigos estáticos:

  1. Regresa a Flows and Stages > Stages.
  2. Pulsa New Stage.
  3. Selecciona Static Authenticator Setup Stage.
  4. Asigna un nombre, como mfa-codigos-recuperacion.
  5. Indica la cantidad de códigos que quieres generar.
  6. Guarda la etapa.

Los códigos estáticos pertenecen a una clase de dispositivo admitida por la etapa de validación. Deben tratarse como un método de recuperación, no como el factor principal utilizado diariamente.

Cómo crear la etapa Authenticator Validation

Cómo crear la etapa Authenticator Validation

La etapa de configuración registra el autenticador, pero no obliga a utilizarlo. Para eso necesitas una Authenticator Validation stage.

Antes de crear una nueva, revisa el flujo de autenticación actual. Las instalaciones recientes de Authentik suelen incluir una etapa de este tipo en el flujo predeterminado. Si ya existe, puedes editarla en lugar de duplicarla.

Para crear una etapa nueva:

  1. Abre Flows and Stages > Stages.
  2. Pulsa New Stage.
  3. Selecciona Authenticator Validation Stage.
  4. Introduce un nombre como mfa-validacion-obligatoria.
  5. En Device Classes, selecciona los métodos permitidos.
  6. En Not configured action, selecciona Configure.
  7. En Configuration stages, añade las etapas TOTP, WebAuthn, SMS, correo o Duo que quieras ofrecer.
  8. Guarda la configuración.

Cuando se seleccionan varias etapas de configuración, el usuario puede elegir qué método registrar para cumplir ese requisito. No tendrá que configurar todos los métodos incluidos.

Si permites códigos estáticos como clase de dispositivo, podrán utilizarse para superar la validación cuando el factor principal no esté disponible.

Cómo obligar a todos los usuarios a utilizar 2FA

Para que la validación forme parte del acceso, debes vincularla al flujo de autenticación utilizado realmente por la instancia:

  1. Abre Flows and Stages > Flows.
  2. Entra en el flujo utilizado para autenticar a los usuarios, normalmente default-authentication-flow.
  3. Abre la pestaña Stage Bindings.
  4. Localiza la etapa de validación existente o pulsa Create or bind.
  5. Selecciona Existing Stage y elige la etapa creada anteriormente.
  6. Colócala después de la contraseña y antes de User Login.
  7. Guarda el binding y comprueba el orden de las etapas.
Contenido exclusivo - Clic Aquí  Como Saber Si Esta Hackeado Mi Celular

Para aplicar el MFA a todos los usuarios, la etapa debe ejecutarse sin una política o vinculación que excluya grupos. Al utilizar Not configured action: Configure, quien todavía no tenga un autenticador deberá registrar uno antes de que Authentik cree su sesión.

Las otras acciones disponibles se comportan de esta manera:

  • Skip: deja continuar al usuario si no tiene un autenticador compatible.
  • Deny: termina el flujo y deniega el acceso.
  • Configure: inserta una etapa de registro y continúa cuando se completa.

Para una implantación gradual puedes vincular la etapa inicialmente a un grupo de pruebas. Cuando hayas confirmado que el registro, el acceso y la recuperación funcionan, elimina esa limitación o amplíala al resto de grupos.

Cómo exigir MFA solamente a determinados usuarios

Los stage bindings permiten decidir quién debe completar una etapa. Puedes vincular la validación a usuarios o grupos concretos, como administradores, personal técnico o usuarios con acceso a información sensible.

Para hacerlo:

  1. Abre el flujo y entra en Stage Bindings.
  2. Despliega el binding correspondiente a la etapa MFA.
  3. Pulsa Create or bind.
  4. Selecciona la opción para vincular un usuario o un grupo.
  5. Elige el grupo que deberá completar la validación.

También puedes utilizar políticas de expresión para tomar decisiones basadas en el usuario, la aplicación solicitada, su grupo o el contexto del acceso.

Cómo solicitar MFA solo en aplicaciones sensibles

No todas las aplicaciones necesitan aplicar el mismo nivel de verificación. Authentik permite utilizar un flujo de autorización específico para añadir comprobaciones antes de permitir el acceso a una aplicación.

Este enfoque sirve para pedir una validación adicional al abrir un panel administrativo, una herramienta financiera o un servidor con información confidencial, aunque el usuario ya tenga una sesión activa en Authentik.

Otra posibilidad es utilizar una política en el binding de la etapa para consultar la aplicación almacenada en el contexto del flujo. Esta configuración requiere más cuidado, por lo que conviene probarla con una aplicación y un grupo limitados antes de extenderla.

Cómo conectar Authentik con Jellyfin mediante LDAP
Related article:
Cómo conectar Authentik con Jellyfin mediante LDAP

Cómo exigir dos métodos diferentes

Cómo exigir dos métodos diferentes en Authentik

Seleccionar TOTP y WebAuthn dentro de una única etapa de validación permite que el usuario elija uno de ellos. No obliga a validar ambos.

Si quieres que se utilicen TOTP y WebAuthn en cada acceso:

  1. Crea una etapa de validación que permita únicamente la clase totp.
  2. Asocia a esa etapa la configuración TOTP y selecciona Configure.
  3. Crea otra etapa de validación que permita únicamente webauthn.
  4. Asocia la configuración WebAuthn y selecciona Configure.
  5. Vincula ambas etapas al flujo de autenticación.

En el primer acceso, el usuario tendrá que configurar los métodos que le falten. En los accesos posteriores deberá superar las dos validaciones.

Si solamente quieres exigir que cada usuario tenga dos clases diferentes de autenticadores registradas, pero no utilizar ambas en cada inicio, puedes aplicar una política de expresión que cuente las clases de dispositivos confirmados.

Cómo utilizar passkeys sin contraseña

Para utilizar una passkey directamente desde el formulario de acceso necesitas:

  • Una etapa de configuración WebAuthn.
  • Una credencial descubrible mediante Resident key requirement.
  • Una etapa de validación que permita la clase WebAuthn.
  • La etapa de identificación enlazada con esa validación WebAuthn.
  • HTTPS y un navegador compatible.

También puedes crear un flujo sin contraseña independiente que termine con una etapa User Login. No elimines la contraseña del flujo principal hasta comprobar que las passkeys funcionan en todos los navegadores y dispositivos necesarios.

En el flujo predeterminado, Authentik puede omitir la validación MFA posterior cuando el acceso ya se ha completado mediante passkey. Si quieres solicitar todavía otro factor después de la passkey, tendrás que revisar la política aplicada al binding correspondiente.

Contenido exclusivo - Clic Aquí  Guía para conectar Open WebUI con servidores MCP

Cómo reducir la frecuencia de las solicitudes MFA

El ajuste Last validation threshold evita volver a solicitar un factor cuando el usuario ya ha utilizado recientemente un autenticador compatible.

Un valor distinto de cero define durante cuánto tiempo se considera válida la comprobación anterior. Esto permite equilibrar la seguridad con la comodidad, pero aumenta el impacto de una sesión robada durante ese intervalo.

Utiliza periodos más cortos para paneles administrativos y operaciones sensibles. Para autenticadores basados en códigos, como TOTP, SMS o códigos estáticos, los intervalos inferiores a 30 segundos no resultan útiles.

Protección frente a intentos repetidos

La etapa de validación puede aplicar un retraso exponencial después de cada código incorrecto. Existen factores independientes para TOTP, códigos estáticos, SMS y correo electrónico.

Con un factor de uno, la espera aumenta aproximadamente siguiendo la secuencia de 1, 2, 4, 8 y 16 segundos. Una validación correcta reinicia el contador. Un factor de cero desactiva esta limitación.

Este mecanismo no se aplica a WebAuthn ni a Duo. Tampoco sustituye a la supervisión de eventos, las políticas de bloqueo o la protección del proxy frente a ataques automatizados.

Cómo recuperar el acceso si se pierde el segundo factor

Si un usuario pierde su teléfono o llave física, puede utilizar un código estático previamente guardado. Después deberá entrar en sus ajustes, eliminar el autenticador perdido y registrar uno nuevo.

Los administradores pueden revisar los factores registrados desde la ficha del usuario:

  1. Abre Directory > Users.
  2. Selecciona el usuario afectado.
  3. Revisa la sección MFA Authenticators.
  4. Elimina únicamente el dispositivo perdido o comprometido.
  5. Pide al usuario que registre un nuevo autenticador.

Antes de eliminar un factor, verifica la identidad de la persona mediante un procedimiento independiente. Un atacante podría intentar utilizar el soporte técnico para conseguir que se retire el MFA de una cuenta.

Errores frecuentes al activar 2FA en Authentik

Errores frecuentes al activar 2FA en Authentik

El usuario puede entrar sin configurar MFA

Comprueba que Not configured action esté configurado como Configure, que exista al menos una etapa en Configuration stages y que la validación esté vinculada al flujo de autenticación utilizado realmente.

Todos los usuarios quedan bloqueados

Probablemente se ha seleccionado Deny antes de que los usuarios registraran sus autenticadores. Recupera una sesión administrativa, cambia temporalmente la acción a Configure y prueba el flujo con un grupo reducido.

El código TOTP siempre aparece como incorrecto

Comprueba que la hora del servidor y del teléfono estén sincronizadas. TOTP depende del tiempo y una diferencia excesiva puede invalidar todos los códigos.

WebAuthn o la passkey no aparecen

Verifica que Authentik se abra mediante HTTPS, que el navegador sea compatible y que la etapa de identificación tenga asociada una validación WebAuthn. Para el autocompletado de passkeys, la credencial debe ser descubrible.

El correo o el SMS nunca llegan

Revisa la configuración SMTP, Twilio o el endpoint HTTP genérico. Consulta también los registros del worker, ya que es el servicio responsable de procesar muchas tareas en segundo plano.

El usuario debe validar dos métodos cuando solo querías ofrecer alternativas

Probablemente has creado dos etapas de validación independientes. Si quieres que el usuario elija entre TOTP y WebAuthn, permite ambas clases en una sola etapa.

El segundo factor se solicita en cada acceso

Configura un valor apropiado en Last validation threshold. Si el valor es cero, Authentik no reutilizará una validación anterior.

Activar 2FA en Authentik requiere combinar correctamente las etapas de configuración, validación y acceso. Para una implantación sencilla, TOTP acompañado de códigos estáticos ofrece un buen punto de partida. En entornos con mayores exigencias, WebAuthn y las llaves FIDO2 proporcionan una protección superior frente al phishing.

Antes de aplicar el cambio a toda la organización, registra tus propios factores, conserva un método de recuperación y prueba el flujo desde otra sesión. Una configuración gradual evita bloqueos y permite confirmar que cada aplicación recibe el nivel de protección previsto.