Zwei-Faktor-Authentifizierung
Die Zwei-Faktor-Authentifizierung (2FA) schützt Frontend-Logins Ihrer Kunden mit einem zusätzlichen Einmal-Code, der per E-Mail zugestellt wird.
Hintergrund
Ein gestohlenes Passwort allein reicht nicht aus, um sich am Kundenkonto anzumelden, sobald 2FA aktiviert ist. Beim Login muss zusätzlich ein 6-stelliger Code aus der zuletzt versendeten E-Mail eingegeben werden (Abb.: Frontend-Login mit Zwei-Faktor-Authentifizierung).
Abb.: Frontend-Login mit Zwei-Faktor-Authentifizierung
Funktionsweise
Nach erfolgreicher Eingabe von Benutzername und Passwort sendet der Shop einen 6-stelligen Code an die E-Mail-Adresse des Kunden. Der Kunde gibt diesen Code auf der OTP-Seite ein, um den Login abzuschließen.
Schutzmechanismen:
Der Code ist standardmäßig 5 Minuten gültig. Die Gültigkeitsdauer ist über die Einstellung Lebensdauer des OTP-Codes (Sekunden) konfigurierbar (Zwei-Faktor-Authentifizierung shopweit aktivieren).
Pro Code sind 5 Versuche zulässig. Nach dem fünften Fehlversuch muss der Kunde den Login neu starten.
Zwischen zwei Code-Versendungen liegt eine Wartezeit von 60 Sekunden.
Einsatzbereich
Die 2FA-Schutzfunktion gilt für Frontend-Logins (Kundenkonto im Storefront) sowie für Logins über die OXAPI (headless). Für die Anbindung headless-basierter Frontends siehe Zwei-Faktor-Authentifizierung über die OXAPI.
Nicht abgedeckt:
Logins im Admin-Backend.
Standardverhalten
Nach Installation oder Update des Moduls ist 2FA standardmäßig sowohl shopweit als auch für jeden einzelnen Kunden deaktiviert. Es entstehen keine zusätzlichen Login-Hürden für Bestandskunden.
Sie als Shop-Admin schalten lediglich die Funktion shopweit frei (Zwei-Faktor-Authentifizierung shopweit aktivieren). Erst danach wird die 2FA-Option im Kundenkonto sichtbar. Jeder Kunde entscheidet anschließend selbst, ob er 2FA für sein Konto nutzen möchte (Aktivierung durch den Kunden).
Erst wenn ein Kunde 2FA in seinem eigenen Account aktiviert, wird bei seinem nächsten Login ein 2FA-Code abgefragt.
Zwei-Faktor-Authentifizierung shopweit aktivieren
Voraussetzungen
Sie haben das OXID Security-Modul installiert und aktiviert (siehe Installation).
Vorgehen
Wählen Sie unter das OXID Security-Modul.
Wählen Sie die Registerkarte Einstell..
Wählen Sie den Bereich Zwei-Faktor-Authentifizierung.
Abb.: Zwei-Faktor-Authentifizierung shopweit aktivieren
Markieren Sie das Kontrollkästchen Zwei-Faktor-Authentifizierung aktivieren.
Optional: Passen Sie die weiteren 2FA-Einstellungen an:
Art der Zwei-Faktor-Authentifizierung: Methode zur Übermittlung des zweiten Faktors. Derzeit ist ausschließlich OTP (Einmal-Passwort per E-Mail) verfügbar. TOTP (Authenticator-App) ist für ein zukünftiges Release geplant.
Lebensdauer des OTP-Codes (Sekunden): Wie lange ein per E-Mail versendeter OTP-Code gültig bleibt. Gilt sowohl für den Storefront- als auch für den OXAPI-Flow. Standard: 300 (5 Minuten).
Lebensdauer der API-2FA-Challenge (Sekunden): Nur für die OXAPI relevant. Legt fest, wie lange ein Challenge-Token gegen ein vollständiges Access-Token eingelöst werden kann. Der Wert wird automatisch auf die Lebensdauer des OTP-Codes begrenzt — ein Challenge-Token ist nie länger nutzbar als der OTP-Code selbst. Standard: 300 (5 Minuten). Siehe auch Zwei-Faktor-Authentifizierung über die OXAPI.
Speichern Sie Ihre Einstellungen.
Resultat
2FA ist shopweit aktiviert. Ihre Kunden können die Funktion nun selbst in ihrem Kundenkonto einschalten.
Aktivierung durch den Kunden
Sobald 2FA shopweit aktiviert ist, kann jeder Kunde 2FA für seinen eigenen Account selbst einschalten oder ausschalten.
Vorgehen
Der Kunde meldet sich im Frontend an und öffnet sein Kundenkonto.
Im Bereich Sicherheit wählt der Kunde die Option Zwei-Faktor-Authentifizierung aktivieren.
Der Kunde speichert die Einstellung (Abb.: Kundenkonto Sicherheit mit aktivierter Zwei-Faktor-Authentifizierung).
Abb.: Kundenkonto Sicherheit mit aktivierter Zwei-Faktor-Authentifizierung
Resultat
Beim nächsten Login dieses Kunden wird zusätzlich zu Benutzername und Passwort ein 2FA-Code per E-Mail angefordert.
Bei zu vielen Fehlversuchen
Pro 2FA-Code sind 5 Versuche zulässig. Nach dem fünften Fehlversuch wird der laufende OTP-Vorgang gesperrt: das Eingabefeld für den Bestätigungscode, der Absenden-Button und die Schaltfläche zum erneuten Senden des Codes werden ausgeblendet (Abb.: 2FA-Login nach 5 Fehlversuchen).
Abb.: 2FA-Login nach 5 Fehlversuchen
Stattdessen erscheint die Schaltfläche Erneut anmelden. Mit einem Klick darauf wird der gesperrte OTP-Vorgang verworfen und der Kunde zur Anmeldeseite zurückgeführt. Von dort kann er einen neuen Login-Versuch mit Benutzername und Passwort starten, bei dem ein frischer 2FA-Code an seine E-Mail-Adresse gesendet wird.
OTP-E-Mail anpassen
Die E-Mail mit dem 2FA-Code wird aus einem CMS-Inhalt erzeugt. So passen Sie Betreff und Text der E-Mail im Admin-Backend an Ihr Corporate Design an, ohne in den Code einzugreifen.
Hintergrund
Der CMS-Inhalt hat die Kennung (OXLOADID) oesm2faotpemail und liegt im Ordner CMSFOLDER_EMAILS. Betreff und Text werden je Sprache gepflegt. Das Modul bettet den Text beim Versand sowohl in eine gestaltete HTML-E-Mail als auch in eine Nur-Text-Variante ein.
Beim Versand werden zwei Platzhalter ersetzt:
{ otp }— der 6-stellige Einmal-Code.{ minutes }— die Gültigkeitsdauer des Codes in Minuten. Der Wert ergibt sich aus der Einstellung Lebensdauer des OTP-Codes (Sekunden) (Zwei-Faktor-Authentifizierung shopweit aktivieren).
Behalten Sie beide Platzhalter im Text bei. Enthält der Text den Platzhalter { otp } nicht, versendet das Modul stattdessen die integrierte Standard-E-Mail (siehe unten), damit der Kunde den Code in jedem Fall erhält.
Vorgehen
Öffnen Sie im Admin-Backend die CMS-Inhalte über den Menüpunkt .
Öffnen Sie den Inhalt mit der Kennung (
OXLOADID)oesm2faotpemail.Passen Sie Betreff und Text je Sprache an. Behalten Sie die Platzhalter
{ otp }und{ minutes }bei.Speichern Sie den Inhalt.
Resultat
Die 2FA-Code-E-Mails werden mit Ihrem angepassten Betreff und Text versendet.
Weitere Hinweise:
Fallback. Ist der CMS-Inhalt nicht vorhanden oder inaktiv, versendet das Modul eine integrierte, übersetzte Nur-Text-E-Mail. So erhält der Kunde den Code auch dann, wenn kein CMS-Inhalt gepflegt ist.
Sprachen und Mandanten. Der CMS-Inhalt wird bei Installation oder Update nur für Shop 1 in Deutsch und Englisch angelegt. Abhängig von Ihrer Shop-Konfiguration (CE/PE/EE) und den aktiven Sprachen müssen Sie den Inhalt gegebenenfalls manuell ergänzen — etwa für weitere Sprachen oder für EE-Subshops außer Shop 1.
Hinweise
Login-Probleme bei E-Mail-Verlust. 2FA verlässt sich auf die hinterlegte E-Mail-Adresse des Kunden. Wenn ein Kunde keinen Zugriff mehr auf seine E-Mail hat, kann er auch über die Funktion „Passwort vergessen“ keinen Zugang mehr herstellen — beide Wege nutzen dieselbe E-Mail-Adresse.
Stay-logged-in mit 2FA. Wenn ein Kunde 2FA aktiviert, wird ein bestehender „Stay logged in“-Cookie verworfen. Beim nächsten Aufruf muss sich der Kunde regulär neu anmelden, dann mit 2FA-Code.