Abbrechen
Suche starten
Diese Suche basiert auf Elasticsearch und kann mehrere tausend Seiten in Bruchteilen einer Sekunde durchsuchen.
Mehr erfahrenMit der TYPO3 Version 11 hat TYPO3 einige neue Sicherheitsfeatures mit an Board, wie z.B. seit v11.1 eine Multi-Faktor-Authentifizierung (MFA). Mit nur wenigen Griffen kann eine Multi-Faktor-Authentifizierung integriert werden.
Des Weiteren können TYPO3-Entwickler eigene MFA-Provider entwickeln (MFA API) oder neben den in TYPO3 v11.1 mitgelieferten MFA-Providern weitere im TYPO3 Extension Repository (TER) finden.
In diesem Artikel liegt der Fokus auf der Administration der in v11.1 mitgelieferten MFA-Provider: Time-based one-time password und Recovery codes.
Time-based one-time password (Einmal-Passwort) und Recovery codes sind sogenannte MFA-Provider, die eine Möglichkeit bieten sich gegenüber dem System zu authentisieren. Es können außerdem mehrere MFA-Provider parallel aktiv sein und das für jeden BE-Benutzer individuell.
Damit auch Backend-Benutzer, die nicht TYPO3-Admin sind MFA-Provider verwenden können, muss ein TYPO3-Admin diese MFA-Provider in einer entsprechenden BE-Gruppe zulassen, die den relevanten BE-Benutzern zugewiesen wird:
Ein MFA-Provider wird im Modul Benutzereinstellungen administriert. Auch hier sollte der TYPO3-Administrator sicherstellen, dass dieses Modul dem BE-Benutzer zur Verfügung steht.
Im Tab Account security befindet sich die neue Option Multi-factor authentification, die je nach MFA-Status einen Button für das Einrichten oder einen Button für das Verwalten der MFA-Provider anbietet:
Der MFA-Provider Time-based one-time password verlangt beim Login einen sechsstelligen Code, der nur 30 Sekunden gültig ist. Hierbei wird eine OTP-Anwendung (One-Time Password) benötigt, wie z.B. der Google Authenticator oder 1Password, die diesen sechsstelligen Code anzeigt.
Der Recovery codes MFA-Provider ist als Fallback gedacht, falls der Standard-Provider, wie in diesem Fall der Time-based one-time password MFA-Provider in irgendeiner Form nicht verwendet werden kann (z.B. Smartphone oder OTP-Anwendung nicht funktionsfähig).
Sollte der BE-Benutzer folgendes Bild sehen, hat er keine Berechtigung durch einen TYPO3-Administrator erhalten einen MFA-Provider zu aktivieren (siehe auch "Einen MFA-Provider aktivieren"):
Bei der Einrichtung des Time-based one-time password MFA-Providers wird eine OTP-Anwendung, wie z.B. der bereits erwähnte Google Authenticator benötigt, mit dem der QR-Code gescannt wird und daraufhin der sechsstellige Code zur Bestätigung im Feld Enter the generated six-digit code eingetragen wird:
Beispielsweise sieht das im Google Authenticator so aus, dass der TYPO3 Sitename (TYPO3 v11) und der BE-Benutzer (user) in Klammern auftaucht:
Nach Beendigung der Einrichtung erscheint wieder die MFA-Übersicht und Du kannst weitere MFA-Provider aktivieren oder bereits aktive anpassen oder deaktivieren:
Nun aktivieren wir noch als Fallback den Recovery codes MFA-Provider. Hierbei werden achtstellige Codes generiert, die an einem sicheren Ort aufbewahrt werden sollten. Das Speichern der Recovery codes kann ein paar Sekunden dauern, da hier eine zusätzliche Verschlüsselung stattfindet - also nicht wundern, wenn es nicht sofort beim Speichern weitergeht:
Nach der Aktivierung der beiden MFA-Provider erscheint beim Backend-Login nach der üblichen Abfrage des Benutzernamen und Passworts die Abfrage des Einmal-Passworts (Time-based one-time password). Des Weiteren werden auch weitere MFA-Provider angezeigt, in unserem Fall der Recovery codes MFA-Provider:
Sollten zu viele Versuche fehlgeschlagen sein, sich mit den entsprechenden Codes zu verifizieren, dann informiert TYPO3 den Benutzer mit einer entsprechenden Meldung:
Eine Entsperrung eines MFA-Providers kann entweder ein TYPO3-Admin vornehmen, z.B. in dem er über das Backend-Benutzer Modul zum entsprechenden Benutzer wechselt und in den Benutzereinstellungen den MFA-Provider entsperrt oder der BE-Benutzer kann sich mit einem alternativen Provider (z.B. Recovery codes) einloggen und dann auch in den Benutzereinstellungen den gesperrten MFA-Provider entsperren (Unlock):
Es sei noch erwähnenswert, dass ein TYPO3-Administrator im BE-Benutzer-Datensatz (Tab-Reiter: Allgemein) aktivierte MFA-Provider löschen/deaktivieren kann (aber nicht entsperren):
In der offiziellen TYPO3-Dokumentation https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Authentication/MultiFactorAuthentication.html werden weitere Konfigurationsmöglichkeiten aufgezeigt, sowie eine Anleitung zur Registrierung eines eigenen MFA-Providers über die MFA API.
Im TYPO3 Extension Repository findet man mit dem Suchbegriff "mfa" weitere MFA-Provider: https://extensions.typo3.org/?L=0&id=1&tx_solr%5Bq%5D=mfa
Wie eingangs erwähnt wurden in TYPO3 v11 neue Sicherheitsfeatures integriert und eine weiteres über das ich gestolpert bin ist der Rate Limiter (Symfony-Bibliothek). Beim Testen des neuen MFA-Features wurden von mir zu oft Benutzername und Passwort falsch in kurzer Zeit hintereinander eingegeben und ich erhielt folgende Meldung:
Durch ein Flush cache (Wartungsmodul / Maintenance) im TYPO3-Backend konnte ich diese Sperre wieder aufheben. Damit werden aber alle Login-Sperren aufgehoben - das nur als Randnotiz.
Das Backend-Login, sowie auch Frontend-Logins werden durch dieses Sicherheitsfeatures geschützt, sodass zu viele fehlgeschlagene Logins von der gleichen IP-Adresse eine Login-Sperre auslösen. Natürlich kann auch dieses Feature angepasst werden, sei es für das Backend- oder Frontend-Login. Ein Beispiel für das Backend-Login:
$GLOBALS['TYPO3_CONF_VARS'][BE][loginRateLimit] = 5;
$GLOBALS['TYPO3_CONF_VARS'][BE][loginRateLimitInterval] = '15 minutes';
$GLOBALS['TYPO3_CONF_VARS'][BE][loginRateLimitIpExcludeList] = '';
Eine Rate Limiter Dokumentation findet ihr hier:
https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/11.3/Feature-93825-RateLimitingForFailedLogins.html