2FA im administrativen Bereich
Die Zwei-Faktor-Authentifizierung kann selbstverständlich zur Absicherung des Logins des administrativen Bereichs genutzt werden. Dieses Paket ist abhängig von framework-tfa
.
Konfiguration
Die Einrichtung von Authentifikationsverfahren im administrativen Bereich erfolgt in der Konfigurationstabelle 2FA im administrativen Bereich
. Diese Tabelle ist im geschützten Bereich in der Kachel 2FA
zu finden. Die Konfiguration gestaltet sich als einfach. Über eine Checkbox ist die Aktivität der Zwei-Faktor-Authentifizierung steuerbar. Darüberhinaus kann über ein Auswahlfeld das gewünschte Authentifizierungsverfahren ausgewählt werden. Das Verhalten bei fehlendem Authentifikator ist ebenfalls definierbar. Hier gilt es zu beachten, dass nicht jeder Authentifikator auf diese Konfigurationsmöglichkeit zurückgreift.
Wurde ein gültiger Authentifikator ausgewählt und die Zwei-Faktor-Authentifizierung aktiviert, ist die Zwei-Faktor-Authentifizierung nutzbar, sofern der Authentifikator vollständig eingerichtet wurde. Diese Informationen sollten aus den entsprechenden Dokumentationen der Authentifikatoren entnommen werden.
Bei einem aktiven und validen Authentifikator, wird bei einem Login-Versuch auf ein Formular weitergeleitet, welches den 2FA-Code erwartet, der über den Authentifikator validiert werden soll. Ist der Code gültig, wird der Nutzer regulär angemeldet.
OTP
Für die Einrichtung des OTP-Verfahrens bringt Admin/Tfa
eigene Ansichten mit. Zu dieser Ansicht gelangt ein Nutzer, indem er in der Bearbeiten
-Ansicht seines eigenen Nutzers auf den Link Authentikator einrichten
klickt. Dieser Link ist in den Meta-Daten sichtbar. Wurde ein Authentifikator bereits eingerichtet, lässt sich Dieser über einen entsprechenden Link in den Meta-Daten wieder entfernen. Es ist außerdem möglich über eine Kachel auf dem Willkommen-Dashboards zu diesen Ansichten zu gelangen. Wurde über die Konfiguration definiert, dass ein zweiter Faktor forciert werden soll, wird die Ansicht zum Einrichten des Authentifikators nach einem Login automatisch geöffnet.
Zur Konfiguration der Rechte- und Rollen ist das Schema {{Admin 2FA Operator}} vorhanden. Dieses Schema berechtigt den Nutzer dazu OTP-Authentifikatoren einzurichten und zu entfernen.
Für Entwickler
Die Logik für die Einbindung der Zwei-Faktor-Authentifikation ist im Paket admin-tfa als Komponente Admin/Tfa
enthalten. Für OTP benötigte Logik ist in der Komponente Admin/TfaOtp
enthalten. Die Funktinalität wird durch Eventlistener in den 2FA-Prozess eingebracht.
Admin/Tfa
Um die Zwei-Faktor-Authentifizierung im Admin-Login auszulösen, wird die Login-Methode über die @plugin-Notation im DocBlock überschrieben. Dieser Weg wurde gewählt, da der Login im administrativen Bereich noch nicht mit Component/Login
arbeitet. Gibt es eine aktive und valide Konfiguration für den administrativen Bereich, wird die custom-Login-Methode ausgeführt. Bei einem erfolgreichem Login wird der 2FA-Prozess durch die Methode \Brandbox\FrameworkTfa\Tfa\Tfa\Manager::triggerSecondFactor
ausgelöst. Der Nutzer wird wieder abgemeldet und auf die actionPerformed
-Ansicht weitergeleitet, die das Formular zur Codeeingabe enthält.
Events
Event | Beschreibung |
---|---|
| Dieses Event kann genutzt werden, um die Kachel auf dem Willkommen-Dashboard zu erweitern. In dieser Kachel befinden sich beispielsweise Informationen zu fehlenden Authentifikatoren. |
Eventlistener
Events | Funktion |
---|---|
| Dieses Event wird genutzt, um die actionPerformed-Ansicht zu erweitern. Hier wird das Formular zur Codeeingabe platziert ( |
| Die Eventlistener für dieses Event platzieren die nötigen Informationen und Elemente, um die validierung des Codes zu ermöglichen (Identifikatoren, Button zum Absenden des Formulars). |
| Die Eventlistener für dieses Event kümmern sich um die Verarbeitung der validierten Codes. Sie führen nicht die Validierung selbst durch, da die Authentifikator-Komponenten dafür verantwortlich sind. Diese Eventlistener kümmern sich bei gültigen bzw. ungültigen Codes, um den Login, die Weiterleitung und die Kommunikation der Fehler an den Nutzer. |
| Dieser Eventlistener wird genutzt, um das Verhalten bei fehldenen Authentifikatoren zu implementiren. In jedem Fall wird eine Kachel auf dem Willkommen-Dashboard platziert, die den Nutzer auf einen fehlenden Authentifikator hinweist. Diese Kachel selbst ist über das Event |
| Dieses Event wird genutzt, um die Kachel |
Admin/TfaOtp
Diese Komponente kümmert sich um die notwendige Logik und Elemente, um den OTP-Authentifikator im Admin-Bereich einzubinden.
Eventlistener
Event | Funktion |
---|---|
| Mit diesem Eventlistener wird der Hinweis über einen fehlenden OTP-Authentifikator in der Willkommen-Kachel ergänzt. Es wird ein Hinweistext und ein Link zur Einrichtung platziert. Wird der zweite Faktor erzwungen, wird außerdem automatisch ein Tab zur Einrichtung geöffnet. |
| Dieser Eventlistener wird genutzt, um die Meta-Informationen mit dem Status des OTP-Authentifikators zu bereichern. Handelt es sich bei einem zu editierenden Nutzer um den derzeit angemeldeten Nutzer, wird ein Link zur Einrichtung des Authentifikators dargestellt, wenn der Nutzer keinen Authentifikator hat. Ist bereits ein Authentifikator vorhanden, ist es möglich den Authentifikator wieder zu entfernen. |
| Wird der zweite Faktor erzwungen, wird zusätzlich eine Hinweismeldung im Formular zur Einrichtung des Otp-Authentifikators platziert, um den Nutzer über den erforderlichen Authentifikator zu informieren. |