Authentik (SSO): 2-Faktor-Authentifizierung erzwingen

Achtung - Testet eure bearbeiteten Login-Flows ausführlich bevor ihr die 2-Faktor-Authentifizierung auch für euren Admin-User erzwingt – bzw. bleibt so lange eingelogged, bis ihr sicher seid, dass alles funktioniert.

In Authentik kann die Zwei-Faktor-Authentifizierung für alle recht einfach erzwungen werden, indem im Flow default-authentication-flow , welcher der Überprüfung einer bereits (freiwillig) eingerichteten Multi-Faktor-Authentifizierung dient, die Einstellung von weiter auf Benutzer auffordern einen Authenticator einzurichten stellt und in den Konfiguration Stages mindetens eine Stage auswählt, um einen solchen Faktor einzurichten.


Zwei-Faktor-Authentifizierung nur für eine Gruppe

Um die 2FA nur für eine Gruppe zu erzwingen, müsst ihr

  1. Leg eine Gruppe an, z.B. erzwinge_2fa (Diese Gruppe kann dann eine übergeordnete Parent-Gruppe sein für alle Gruppen, für die ihr 2FA erzwingen möchtet)

  2. neben dem default-authentication-flow einen zweiten anlegen, der genau die oben erwähnte Einstellung hat (der erste bleibt dann auf Weiter eingestellt). Wir nennen ihn z.B. custom-authentication-mfa-validation-enforce.

  3. Diesen müsst ihr nun dem Standard-Authentifizierungs-Flow default-authentication-flow hinzufügen:

  1. Wichtig nun: Ihr müsst die jeweiligen Bindings der Stages so bearbeiten, dass die enforce-Stage nur für die Gruppe erzwinge_2fa ausgeführt wird. Und die die default-Stage wiederum NICHT für diese Gruppe ausgeführt wird.
    Das erreicht ihr für das Binding der custom-authentication-mfa-validation-enforce-Stage so:


    Und für die default-authentication-mfa-validation-Stage so:



WICHTIG: Wenn ihr noch andere Richtlinien in den Bindings der Stages habt, dann stellt sicher, dass ALLE erfüllt sein müssen. Sonst kann es sein, dass beide Flows hintereinander ausgeführt werden, was in Tests zu seltsamen ungültigen 2-Faktor-Authentifizierungsversuchen führte



Fertig. Alle User*innen die in einer Gruppe sind, die wiederum der erzwinge_2fa Gruppe untergeordnet ist, werden nun beim Login aufgefordert eine Mehrfaktorauthentifizierung einzurichten.


Zugang wiederherstellen

Sofern ihr SSH-Zugriff auf den Server habt, könnt ihr den Zugang via recovery-link zurückerlangen:

abra app run login.<DOMAIN> app ak "create_recovery_key" "akadmin"