Feature Spotlight: Multi-Faktor Authentifizierung in TYPO3 11.1

Oliver Bartsch

In Zeiten zunehmender Internetkriminalität, die schon lange nicht mehr nur Privatpersonen betrifft, sondern jüngst vor allem auf Unternehmen abzielt, ist der sicherer Umgang mit Zugangsdaten wichtiger als je zuvor. Dies macht natürlich auch nicht vor dem Content Management System der Unternehmenswebseite halt. Insbesonderer, da heutzutage meist weitere unternehmensinterne PIM oder ERM Systeme angeschlossen sind. Um dem entgegenzuwirken, ist TYPO3 unermüdlich damit beschäftigt, seine Tools zum Schutz von Benutzerkonten zu verbessern. Darunter fällt beispielsweise die Verwendung von preisgekrönten Hashing-Algorithmen, ein Benachrichtigungssystem das Administratoren per E-Mail über ungewöhnliches Verhalten informiert, also auch eine Vielzahl an Sicherheitseinstellungen, wie dem Erzwingen einer sicheren Verbindung bei der Anmeldung.

All diese Mechanismen können jedoch nicht vor Risiken schützen, die etwa aus einem zu schwachen oder mehrfach verwendeten Passwort entstehen. Um diesem Problem entgegenzuwirken, hat sich in der IT-Welt Multi-Faktor Authentifizierung (oder kurz MFA) als Sicherheitsstandard etabliert. Dies wird derzeit als die sicherste Methode zur Steigerung des Benutzerkonten-Schutzes angesehen. Bei der Multi-Faktor Authentifizierung muss der Benutzer daher für gewöhnlich neben dem primären Faktor, etwas das er weiß, z.b. die Kombination aus Benutzernamen und Passwort, den Besitz von etwas nachweisen.

Du fragst dich nun sicher: Wie kann ein Benutzer den Besitz von etwas digital nachweisen?

Der einfachste Weg ist die Eingabe eines sogenannten Einmal-Passworts, welches von einem speziellen Gerät oder einer speziellen Anwendung generiert wird. Ein so generiertes Passwort (auch Code genannt) kann dementsprechend nur einmal und innerhalb eines kurzen Zeitfenstern verwenden werden. Auch kann ein Benutzer ein echtes Gerät, einen sogenannten „Hardware-Token”, ähnlich einem USB-Stick, als Besitz vorweisen. Weitere Möglichkeiten sind zudem angeboren Merkmale, für gewöhnlich biometrische Daten, wie beispielsweise der Fingerabdruck. Als Faustregel gilt also: Alles was nicht ohne weiteres einer dritten Person zur Verfügung steht, kann als Besitz angesehen werden und daher als zusätzlicher Faktor verwendet werden.

Hast du Fragen zur Multi-Faktor Authentifizierung?

Get in touch

TYPO3 und MFA

Da TYPO3 die Sicherheit seiner Benutzer sehr ernst nimmt, wird mit der neuesten Version 11.1 standardmäßig jedem Backend-Benutzer die Multi-Faktor Authentifizierung zur Verfügung gestellt. Dies wird durch eine völlig neue API erreicht, die zudem jeder TYPO3 Installation die Möglichkeit bietet, seinen Benutzern beliebig viele „MFA Provider” bereitzustellen. Ein „MFA Provider” ist dabei genau eine Möglichkeit die einem Benutzer erlaubt, seinen Besitz von etwas nachzuweisen.

MFA Konfigurations-Modul
MFA Konfigurations-Modul

TYPO3 stellt standardmäßig zwei Anbieter bereit: Den bereits erwähnten time-based one-time password Provider und den recovery codes Provider. Der recovery codes Provider generiert dabei ein Set an Codes, die der Benutzer an einem sicheren Ort aufbewahren muss. Im Fall, dass er den Besitz nicht mehr nachweisen kann, weil er z.B. sein Gerät, welches die Einmal-Passwörter generiert, verloren hat, können die recovery codes als Ersatz verwendet werden.

Hierbei ist es wichtig zu erwähnen, dass die recovery codes, wie auch alle anderen, von MFA Providern generierten Codes, erst verwendet werden können, sobald der erste Faktor (z.b. Benutzername und Passwort) erfolgreich verifiziert wurde. Zudem sperrt TYPO3 einen Provider automatisch nach drei aufeinanderfolgend fehlgeschlagenen Anmeldeversuchen. Aufgrund dieser Tatsache ist es schlicht unmöglich den zusätzlichen Schritt lediglich durch Raten zu umgehen.

MFA aufsetzen

Um den time-based one-time password Provider aufzusetzen benötigst du ein kompatibles Gerät oder eine entsprechende OTP-Anwendung. Beispiele sind: Google Authenticator, Authy oder 1Password.

Wenn du eine dieser Anwendungen installiert hast oder dein Gerät bereits in der Hand hältst, öffne die Benutzereinstellungen im TYPO3 Backend. Dort findest du einen neuen Reiter „Account Security”. Dieser Reiter beinhaltet einen Eintrag „Multi-factor authentication providers”. Über den dort angezeigten Button „Setup Multi-factor authentication” gelangst du zu dem neuen MFA Konfigurations-Modul. Zum aufsetzen des Providers klickst du auf den „Setup” Button.

Time-based one-time password setup
Time-based one-time password setup

Aktivierungs-Schritte:

  1. Scanne den angezeigten QR-Code mit deiner OTP-Anwendung
    1. Alternativ kannst du auch den angezeigten shared secret manuel in deiner OTP-Anwendung oder deinem Gerät eingeben
  2. Optional kannst du einen beliebigen Namen für diesen Provider festlegen
  3. Gebe den sechsstelligen Code ein, der in deiner OTP-Anwendung oder auf deinem Gerät angezeigt wird
  4. Aktiviere den Provider durch abschicken des Formulars (Klicke auf den „Speichern” Button)

Herzlichen Glückwunsch, du hast soeben deinen ersten MFA Provider aktiviert und dadurch die Sicherheit deines Benutzerkontos drastisch erhöht. Um das komplette Potenzial auszuschöpfen, empfehlen wir darüber hinaus auch den recovery codes Provider zu aktivieren. Öffne dazu die Aktivierungs-Ansicht, kopiere und speichere die angezeigten Codes an einem sicheren Ort und schicke anschließend das Formular ab. Die Aktivierung dieses Providers kann einige Zeit dauern, da TYPO3 die Codes verschlüsselt und sicher abspeichert.

Aktivierte Provider im MFA Konfigurations-Modul
Aktivierte Provider im MFA Konfigurations-Modul

Authentifizieren

Authentifizierung

Von nun an wirst du, wenn immer du dich im TYPO3 Backend anmeldest, neben deinem ersten Faktor, z.b. Benutzername und Passwort, den Besitz von etwas, mithilfe eines der von dir aktivierten Provider, nachweisen. Im Falle des time-based one-time password Providers musst du den sechsstelligen Code, der auf deinem Gerät oder in deiner OTP-Anwendung angezeigt wird, eingeben und anschließend verifizieren. Sobald der eingegebene Code verifiziert wurde, wirst du in das TYPO3 Backend weitergeleitet.

Sobald du mehrere Provider aktiviert hast, z.b. time-based one-time password und recovery codes, kannst du bei jeder Anmeldung den zu verwendenden Provider beliebig auswählen bzw. wechseln. Besonders nützlich ist dies z.B. wenn du verschiedenen Geräte, abhängig von deinem Aufenthaltsort, verwenden möchtest oder für den Fall, dass du temporär keinen keinen Zugriff auf deinen Haupt-Provider hast. Um zu einem alternativen Provider zu wechseln, klicke auf den entsprechenden Link unterhalb der Anmeldemaske des derzeitigen Providers.

Authentifizierung
Benachrichtigung über gesperrten Provider

Zudem informiert dich TYPO3, sobald einer deiner Provider gesperrt ist. In diesem Fall kann der entsprechende Provider nicht mehr zur Authentifizierung verwendet werden. Meldest du dich daraufhin mit einem anderen aktivierten und nicht gesperrten Provider an, kannst du gesperrte Provider im MFA Konfigurations-Modul entsperren.

Falls du dein Gerät oder deine OTP-Anwendung unwiederbringlich verloren hast, wird das Entsperren des Providers leider nicht weiterhelfen. Die einzige Möglichkeit besteht in der Deaktivierung des entsprechenden Providers über das MFA Konfigurations-Modul. Danach kannst du von vorne beginnen. Natürlich kann die Deaktivierung eines Provider jederzeit durchgeführt werden, wenn du z.b. den Provider nicht mehr verwenden oder deine Geräte wechseln möchtest.

Benachrichtigung über gesperrten Provider
Gesperrter Provider im MFA Konfigurations-Modul

Administration von MFA

Als Administrator stellt sich dir vielleicht nun die Frage: Wie kann ich die MFA Provider meiner Benutzer verwalten? Kann ich durchsetzen, dass meine Benutzer MFA Provider einrichten?

Gute Nachrichten. TYPO3 hat verschiedene Konfigurations- und Administrations-Möglichkeiten implementiert. Deine administrierte TYPO3-Installation kann natürlich nur von MFA profitieren, wenn jeder Benutzer zumindest einen MFA Provider aktiviert. Dies kann daher durch setzen der $GLOBALS['TYPO3_CONF_VARS']['BE']['requireMfa'] Variable erzwungen werden.

Information, dass MFA erforderlich ist
Information, dass MFA erforderlich ist

Es ist sehr wahrscheinlich, dass nicht jeder MFA Provider zu deinen Benutzern passt. Daher bist du mit der Möglichkeit ausgestattet, unkompliziert die für deine Benutzer und Benutzergruppen verfügbaren MFA Provider in den entsprechenden Datensätzen zu definieren.

Möglicherweise möchtest du deinen Benutzern auch einen speziellen MFA Provider vorschlagen. Dies ist durch setzen der $GLOBALS['TYPO3_CONF_VARS']['BE']['recommendedProvider'] Variable möglich. Da diese Einstellung einen MFA Provider global für alle Benutzer vorschlägt ist unter Umständen auch die neue TSconfig Option „auth.mfa.recommendedProvider” interessant. Sie erlaubt es, einen MFA Provider auf Benutzerebene vorzuschlagen.

Zu guter Letzt wird es höchstwahrscheinlich früher oder später dazu kommen, dass du eine E-Mail von einem deiner Benutzer erhältst, in der dir mitgeteilt wird, dass sich der Benutzer ausgesperrt hat. Keine Sorge, du kannst dich zurücklehnen. TYPO3 ermöglicht es, jeden MFA Provider eines Benutzer in dessen Benutzerdatensatz zu deaktivieren. Dies versetzt den entsprechenden Benutzer wieder in die Lage, sich anzumelden und MFA neu einzurichten. Wo wir gerade dabei sind: Das Backend-Benutzer-Modul gibt dir jederzeit einen Überblick über den aktuellen MFA Status deiner Benutzer - ob MFA aktiviert oder derzeit gesperrte ist.

MFA Administration im Benutzerdatensatz
MFA Administration im Benutzerdatensatz

Aktiviere Multi-Faktor Authentifizierung noch heute

Unabhängig davon ob du ein Administrator oder Benutzer bist, dein Benutzerkonto könnte jeden Tag in Gefahr sein. TYPO3 begegnet diesen Risiken mit einem hochmodernen Sicherheitsmechanismus und prüft bereits die nächsten Schritte, um die Sicherheit deines Kontos noch weiter zu erhöhen. Zögere daher nicht und aktiviere noch heute deinen ersten MFA Provider - vertraue uns, es ist ganz einfach.

Hast du weitere Fragen zu Multi-Faktor Authentifizierung?

Get in touch