Zwei-Faktor und Multi-Faktor Authentifizierung (2FA/MFA)

FoxIDs unterstützt sowohl einen einfachen Zwei-Faktor Modus als auch einen erweiterten Multi-Faktor Modus in der Login-Authentifizierungsmethode.

  • Zwei-Faktor Modus: Advanced multi-factor ist deaktiviert (Standard).
  • Multi-Faktor Modus: Advanced multi-factor ist aktiviert.

Verwenden Sie den Zwei-Faktor Modus, wenn ein zusätzlicher Faktor ausreicht. Verwenden Sie den Multi-Faktor Modus, wenn Sie eine geordnete MFA-Kette benötigen oder Authentifizierungsmethoden als MFA-Schritte verwenden möchten.

Konzepte

Zwei-Faktor Authentifizierung (2FA) und Multi-Faktor Authentifizierung (MFA) fügen beide einen oder mehrere Verifizierungsschritte nach der primären Anmeldung hinzu.

  • 2FA: eine primäre Anmeldung plus ein zusätzlicher Faktor.
  • MFA: eine primäre Anmeldung plus ein oder mehrere geordnete zusätzliche Faktoren.

Unterstützte Faktoren

FoxIDs unterstützt integrierte Faktoren und Authentifizierungsmethoden als MFA-Elemente.

Faktor Typ AMR-Wert
SMS-Code Integriert sms
E-Mail-Code Integriert email
Authenticator App-Code Integriert otp
Recovery code Integriert (Authenticator App) otp
Authentifizierungsmethode (OIDC, SAML 2.0, TrackLink) Konfigurierbares Element Konfiguriertes AMR oder Methoden-/Profilname, wenn das Feld leer ist

Sie können jede kompatible Authenticator App verwenden, zum Beispiel Google Authenticator, Microsoft Authenticator, Authy und andere TOTP-Apps.

Wann MFA erforderlich ist

MFA wird ausgelöst, wenn eine der folgenden Bedingungen zutrifft:

  • Der Benutzer hat Require multi-factor (2FA/MFA) aktiviert.
  • Die Login-Authentifizierungsmethode hat Require multi-factor (2FA/MFA) aktiviert.
  • Die aufrufende Anwendung fordert MFA mit ACR urn:foxids:mfa an.

MFA-Anforderungen gelten in beiden Modi. Wenn Advanced multi-factor deaktiviert ist, wird die Anforderung durch den einfachen Zwei-Faktor Flow erfüllt.

Wenn spezifische ACR-Werte zusammen mit urn:foxids:mfa angefordert werden, sind nur die passenden ACR-Werte erforderlich.

Zwei-Faktor Modus (Advanced multi-factor ist deaktiviert)

In diesem Modus werden integrierte Zwei-Faktor Optionen direkt konfiguriert:

  • Authenticator App
  • SMS
  • E-Mail

So konfigurieren Sie den Zwei-Faktor Modus:

  1. Öffnen Sie die Registerkarte Authentication.
  2. Klicken Sie auf die Login-Authentifizierungsmethode Login, um sie zu bearbeiten.
  3. Klicken Sie auf Show advanced.
  4. Gehen Sie zum Abschnitt Multi-factor.
  5. Lassen Sie Advanced multi-factor deaktiviert und konfigurieren Sie die Optionen für Authenticator App, SMS und E-Mail.

Der Name der Authenticator App, der den Benutzern angezeigt wird, kann konfiguriert werden. Standardmäßig wird der Tenant-Name verwendet.

Configure simple two-factor options in login authentication method

SMS- und E-Mail-Faktoren benötigen Kontaktinformationen des Benutzers. Diese können als Benutzerkennungen oder als Claims (phone_number und email) bereitgestellt werden.

Auswahl des Zwei-Faktor Typs

Im Zwei-Faktor Modus bevorzugt FoxIDs eine bereits registrierte Authenticator App. Wenn keine Authenticator App registriert ist, wird SMS gegenüber E-Mail bevorzugt, wenn beides verfügbar ist.

SMS Zwei-Faktor aktiviert und Benutzer hat Telefonnummer E-Mail Zwei-Faktor aktiviert und Benutzer hat E-Mail Benutzer hat eine Authenticator App registriert Mögliche Zwei-Faktor Typen Ausgewählter Zwei-Faktor Typ
false false false Einrichtung der Authenticator App Einrichtung der Authenticator App
false false true Authenticator App Authenticator App
true false false SMS mit optionaler Einrichtung der Authenticator App nach SMS-Verifizierung SMS
true false true SMS und Authenticator App Authenticator App
false true false E-Mail mit optionaler Einrichtung der Authenticator App nach E-Mail-Verifizierung E-Mail
false true true E-Mail und Authenticator App Authenticator App
true true false SMS und E-Mail mit optionaler Einrichtung der Authenticator App nach SMS- oder E-Mail-Verifizierung SMS
true true true SMS, E-Mail und Authenticator App Authenticator App

Eine API benachrichtigen, wenn eine Authenticator App registriert wird

Die Login-Authentifizierungsmethode kann Ihr Backend unmittelbar benachrichtigen, nachdem ein Benutzer eine neue Authenticator App registriert hat. Die Benachrichtigung ist optional und gilt nur für neue Registrierungen, nicht für spätere Anmeldungen mit der Authenticator App.

So konfigurieren Sie die Benachrichtigung:

  1. Öffnen Sie den Tab Authentication.
  2. Klicken Sie auf die Authentifizierungsmethode Login, um sie zu bearbeiten.
  3. Klicken Sie auf Show advanced.
  4. Wechseln Sie zum Abschnitt Multi-factor.
  5. Aktivieren Sie im Zwei-Faktor-Modus Notify an API when an authenticator app is registered unter den integrierten Faktoroptionen. Aktivieren Sie die Option im erweiterten Multi-Faktor-Modus innerhalb des MFA-Elements Authenticator app.
  6. Konfigurieren Sie die Basis-URL und das Secret der API.

FoxIDs speichert die Registrierung der Authenticator App lokal, bevor die API aufgerufen wird, und schreibt den Trace Authenticator app registration saved locally; external notification pending. Anschließend wird die API synchron aufgerufen. Die Anmeldung wird nur fortgesetzt, wenn die API den HTTP-Status 200 OK zurückgibt. Wenn der Aufruf fehlschlägt oder einen anderen Status zurückgibt, entfernt FoxIDs die neue Registrierung und zeigt die Fehlerseite an. Bestehende Registrierungen werden nicht geändert.

Die erfolgreiche Registrierung wird in das Auditlog geschrieben, nachdem die API 200 OK zurückgegeben hat. Wenn die Benachrichtigung deaktiviert ist, wird der Auditeintrag unmittelbar nach dem lokalen Speichern der Registrierung geschrieben.

Request an die Benachrichtigungs-API

Wenn die konfigurierte Basis-URL https://backend.example/authenticator lautet, sendet FoxIDs eine HTTP POST-Request an:

https://backend.example/authenticator/notification

FoxIDs Cloud ruft Ihre API von IP 57.128.60.142 auf.

IP-Adresse(n) können sich ändern oder erweitert werden.

Die Request verwendet HTTP Basic authentication:

  • Benutzername: authenticator_app
  • Passwort: das konfigurierte API-Secret

Die JSON-Request enthält:

{
  "type": "registered",
  "registration_id": "7a772286-76a2-4f17-a0f8-4e927bb1772d",
  "user_id": "e061ed17-7b44-48a8-b224-ecdb800ed5cc",
  "email": "user@example.com",
  "phone": "+4512345678",
  "username": "user@example.com"
}

type identifiziert die Benachrichtigung. Der unterstützte Typ registered bedeutet, dass eine neue Authenticator App registriert wurde. registration_id ist die dauerhafte eindeutige ID der neuen Registrierung. Ihre API kann sie als Idempotenzschlüssel verwenden. user_id ist die stabile technische FoxIDs-Benutzer-ID. email, phone und username werden einbezogen, wenn sie einen Wert haben. Das Secret der Authenticator App und der Wiederherstellungscode werden niemals gesendet.

Die API sollte die Benachrichtigung akzeptieren und 200 OK zurückgeben, sobald die erforderliche synchrone Verarbeitung abgeschlossen ist. Eine weitere Warteschlangenverarbeitung oder Verteilung an andere Deployments liegt in der Verantwortung des Backends.

Authenticator-App-Registrierungen verwalten

Administratoren können die Authenticator-App-Registrierungen eines Benutzers unter Internal Users → Benutzer bearbeiten → AdvancedTwo-factor auflisten und einzeln entfernen. Registrierungen werden durch ihre dauerhafte Registrierungs-ID und, bei neuen Registrierungen, durch den Registrierungszeitpunkt identifiziert. Bei der Registrierung wird der Benutzer nicht nach einem Anzeigenamen gefragt.

Informationen zum Auflisten, Lesen, Erstellen, Aktualisieren, Löschen oder Synchronisieren von Registrierungen über Control API finden Sie unter Control API - Benutzer und Authenticator Apps. Der Guide dokumentiert Endpoints, Request-Ressource, Sicherheitshinweise, Fehlerresponses und Notification-Verhalten an einer Stelle.

Multi-Faktor Modus (Advanced multi-factor ist aktiviert)

Wenn Advanced multi-factor aktiviert ist, wird MFA als geordnete Liste von bis zu 5 MFA-Elementen konfiguriert.

Es kann nur ein Authenticator app MFA-Element konfiguriert werden. Ein Benutzer kann für dieses Element bis zu fünf Authenticator-App-Registrierungen besitzen. Alle Registrierungen sind Alternativen zum Abschließen desselben MFA-Elements: FoxIDs prüft den übermittelten Code gegen die registrierten Authenticator Apps und akzeptiert die erste Übereinstimmung. Die Registrierungsaufforderung bei der Anmeldung erstellt nur dann eine Registrierung, wenn der Benutzer noch keine besitzt; sie fügt keine weitere Registrierung hinzu, wenn bereits eine vorhanden ist. Der Name der Authenticator App und die optionale API für Registrierungsbenachrichtigungen werden innerhalb des Authenticator app MFA-Elements konfiguriert.

So konfigurieren Sie den Multi-Faktor Modus:

  1. Öffnen Sie die Registerkarte Authentication.
  2. Klicken Sie auf die Login-Authentifizierungsmethode Login, um sie zu bearbeiten.
  3. Klicken Sie auf Show advanced.
  4. Gehen Sie zum Abschnitt Multi-factor.
  5. Aktivieren Sie Advanced multi-factor und konfigurieren Sie die geordneten MFA-Elemente.

Unterstützte MFA-Elementtypen:

Konfigurationsregeln:

  • Integrierte Elementtypen können jeweils nur einmal konfiguriert werden.
  • Elemente vom Typ Authentifizierungsmethode können mehrfach konfiguriert werden, zum Beispiel mit unterschiedlichen Profilen.
  • Die Elemente werden in Listenreihenfolge ausgeführt.
  • Sie können Elemente hinzufügen, entfernen und neu anordnen.

Configure advanced multi-factor item list with add/remove/reorder

AMR- und ACR-Verhalten von MFA-Elementen

Jedes abgeschlossene MFA-Element liefert AMR-Claimwerte für die Sitzung.

  • Integrierte AMR-Werte sind fest:
    • SMS: sms
    • E-Mail: email
    • Authenticator App und Recovery Code: otp
  • MFA-Element vom Typ Authentifizierungsmethode:
    • Ein optionaler benutzerdefinierter AMR kann konfiguriert werden.
    • Wenn das AMR leer ist, wird der Name der Authentifizierungsmethode oder des Profils verwendet.

Angeforderte ACR-Werte werden in diesem Format mit den AMR-Werten der MFA-Elemente abgeglichen:

  • urn:foxids:<amr>
  • Beispiel: urn:foxids:link

urn:foxids:mfa ist die allgemeine MFA-Anforderung, und FoxIDs fügt AMR mfa hinzu, wenn MFA abgeschlossen ist.

Auswahl und Verkettung von MFA-Elementen

  • Wenn spezifische ACR-Werte angefordert werden, muss eines der passenden MFA-Elemente abgeschlossen werden.
  • Wenn nur allgemeine MFA angefordert wird, kann jedes verfügbare konfigurierte MFA-Element die Anforderung erfüllen.
  • Wenn mehr als ein geeignetes MFA-Element vorhanden ist und FoxIDs nicht automatisch auswählen kann, wird eine Auswahloberfläche angezeigt.
  • Wenn eine Authenticator App konfiguriert und bereits registriert ist, bevorzugt FoxIDs diese für allgemeine MFA-Anforderungen.
  • Wenn die Einrichtung der Authenticator App ausgewählt wird und noch keine Registrierung vorhanden ist, kann der Einrichtungsflow nach einem gewählten SMS-, E-Mail- oder Authentifizierungsmethodenschritt fortgesetzt werden.
  • Wenn nur die Authenticator App konfiguriert ist, kann die Einrichtung direkt nach der Anmeldung mit dem ersten Faktor beginnen.

MFA-Seite für Authentifizierungsmethoden mit optionaler Registrierung einer Authenticator App und der Möglichkeit, ein anderes MFA-Element auszuwählen. MFA authentication method selection page

MFA-SMS-Seite mit optionaler Registrierung einer Authenticator App und der Möglichkeit, ein anderes MFA-Element auszuwählen. MFA SMS page

MFA-E-Mail-Seite, auf der die Authenticator App eingerichtet wird, mit der Möglichkeit, ein anderes MFA-Element auszuwählen. MFA Email page

MFA-Seite für die Authenticator App mit der Möglichkeit, ein anderes MFA-Element auszuwählen. MFA authenticator app page

Authentifizierungsmethoden als MFA-Elemente

Authentifizierungsmethoden (OIDC, SAML 2.0, TrackLink) können mit folgenden Regeln als MFA-Elemente verwendet werden:

  • MFA-spezifische ACR-Werte werden nicht an die Anfrage der MFA-Authentifizierungsmethode weitergegeben.
  • Die Antwort der Authentifizierungsmethode muss den erforderlichen AMR-Wert für das ausgewählte MFA-Element enthalten.
  • Der AMR-Wert wird normalerweise im Claim Transform hinzugefügt, wenn die zurückgegebene Identität mit der erwarteten Identität übereinstimmt. Siehe das Beispiel für Claim Transform.
  • Wenn der erforderliche AMR-Wert fehlt, schlägt die Anmeldung fehl.
  • Nach erfolgreicher Validierung fügt FoxIDs AMR mfa zur resultierenden Sitzung hinzu.

MFA von Anwendungen anfordern

Anwendungen können MFA sowohl in OpenID Connect als auch in SAML 2.0 anfordern.

Wenn spezifische ACR-Werte angefordert werden, aber nicht auf MFA-Elementen in der ausgewählten Login-Authentifizierungsmethode konfiguriert sind, schlägt die Authentifizierung fehl.

OpenID Connect

Verwenden Sie acr_values:

  • Allgemeine MFA: acr_values=urn:foxids:mfa
  • Allgemeine MFA und spezifische Methode: acr_values=urn:foxids:mfa urn:foxids:link

SAML 2.0

Verwenden Sie RequestedAuthnContext.AuthnContextClassRef:

  • Allgemeine MFA: urn:foxids:mfa einschließen
  • Allgemeine MFA und spezifische Methode: urn:foxids:mfa und spezifische Werte wie urn:foxids:link einschließen

Sitzungsverhalten

FoxIDs validiert die erforderlichen AMR-Werte gegen die aktuelle Anmeldesitzung.

  • Neue Anmeldung: Die Sitzung wird erstellt, wenn alle Anforderungen erfüllt sind.
  • Step-up Login: Eine bestehende Sitzung wird aktualisiert, wenn alle zusätzlichen MFA-Anforderungen erfüllt sind.
  • Wiederverwendung der Sitzung: Wenn die Sitzung die erforderlichen AMR-Werte bereits erfüllt, verwendet FoxIDs die Sitzung erneut und fordert keine neue Anmeldung an.

Fehlerbehebung

Häufige Gründe für MFA-Fehler:

  • Angeforderte ACR-Werte sind nicht als MFA-Elemente in der Login-Authentifizierungsmethode konfiguriert.
  • Eine Authentifizierungsmethode, die als MFA verwendet wird, gibt den erforderlichen AMR-Wert nicht zurück.
  • Für den Benutzer ist aktuell kein konfiguriertes MFA-Element verfügbar, zum Beispiel weil Telefonnummer oder E-Mail für SMS oder E-Mail fehlen.