PS PrestaShop Anfänger

2FA Google Authenticator für PrestaShop — Dokumentation

TOTP-Zwei-Faktor-Authentifizierung im PrestaShop 8 & 9 Back Office installieren und konfigurieren: Kopplung, Wiederherstellungscodes, Pflichtmodus, Brute-Force-Schutz.

Aktualisiert Modulversion 1.1.0

Diese Anleitung behandelt Installation, Konfiguration und tägliche Nutzung des Moduls 2FA Google Authenticator für PrestaShop 8 und 9. Das Modul fügt nach der Passworteingabe im Back Office eine Verifizierung per 6-stelligem Code hinzu (TOTP-Standard, RFC 6238).

Voraussetzungen

  • PrestaShop 8.0 bis 8.2 oder PrestaShop 9.x
  • PHP 7.4 Minimum (PHP 8.1+ von PrestaShop 9 vorausgesetzt)
  • Eine TOTP-App auf dem Telefon jedes Mitarbeiters: Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden, FreeOTP oder jede RFC-6238-kompatible App
  • Über NTP synchronisierte Serveruhr (bei allen modernen Hostern der Fall)

Installation

  1. Öffnen Sie im Back Office Module → Modul-Manager.
  2. Klicken Sie auf Modul hochladen und wählen Sie die aus Ihrem DataFirefly-Konto heruntergeladene Datei df2fa.zip.
  3. Klicken Sie auf Installieren. Das Modul legt seine Datenbanktabelle an und registriert seine Controller automatisch.

Die Installation aktiviert für niemanden die 2FA: Jeder Mitarbeiter muss seine eigene Kopplung durchführen (oder über den Pflichtmodus dazu gezwungen werden, siehe unten). Sie können sich durch die bloße Installation des Moduls nicht aus dem Back Office aussperren.

Modulkonfiguration

Öffnen Sie Module → Modul-Manager → 2FA Google Authenticator → Konfigurieren. Die Seite zeigt drei Blöcke:

Mein 2FA-Konto

Ein Statuspanel oben zeigt, ob Ihre eigene 2FA aktiv ist, mit einem direkten Button zur Kopplung oder Verwaltung.

2FA-Konfiguration

  • 2FA verpflichtend — im erzwungenen Modus wird jeder Mitarbeiter ohne konfigurierte 2FA bei der Anmeldung automatisch zur Kopplungsseite umgeleitet. Im Opt-in-Modus (Standard) wird ein Erinnerungsbanner im Back Office angezeigt, und jeder Mitarbeiter aktiviert seine 2FA, wann er möchte.
  • Aussteller-Name (Issuer) — der in der TOTP-App Ihrer Mitarbeiter angezeigte Name (Standard: Shopname).

2FA-Status der Mitarbeiter

Eine Tabelle listet alle Mitarbeiter mit ihrem 2FA-Status (aktiv/inaktiv), dem Einrichtungsdatum und einem Zurücksetzen-Button für jeden Mitarbeiter mit aktiver 2FA.

Empfohlene schrittweise Einführung: Starten Sie im Opt-in-Modus, lassen Sie das Erinnerungsbanner ein paar Tage wirken, prüfen Sie die Akzeptanz in der Tabelle und wechseln Sie dann in den Pflichtmodus.

Kopplung auf Mitarbeiterseite

  1. Der Mitarbeiter öffnet die Kopplungsseite: über den Link Meine 2FA einrichten im Benutzermenü (oben rechts im Back Office), über das Erinnerungsbanner oder automatisch bei der Anmeldung, wenn der Pflichtmodus aktiv ist.
  2. Er scannt den angezeigten QR-Code mit seiner TOTP-App. Der QR-Code wird lokal im Browser generiert — es werden keine Daten an externe Dienste gesendet. Ist Scannen nicht möglich, kann das Secret manuell in die App eingegeben werden (Kopieren-Button).
  3. Er gibt den von der App angezeigten 6-stelligen Code ein, um die Kopplung zu bestätigen.
  4. Anschließend werden die 8 Einmal-Wiederherstellungscodes angezeigt — dies ist das einzige Mal, dass sie sichtbar sind. Der Mitarbeiter kopiert oder druckt sie und bewahrt sie sicher auf.

Die Wiederherstellungscodes werden gehasht gespeichert (SHA-256): Sie können später nicht erneut angezeigt werden. Bei Verlust muss die 2FA deaktiviert und neu aktiviert werden, oder ein Super Admin setzt sie zurück.

Anmeldung mit 2FA

Nach der Passworteingabe wird der Mitarbeiter zum 2FA-Verifizierungsbildschirm umgeleitet und gibt den aktuellen 6-stelligen Code seiner App ein. Die Verifizierung bleibt 12 Stunden für die Sitzung gültig: Es ist nicht nötig, auf jeder Seite erneut einen Code einzugeben.

Eine Drift-Toleranz von ±30 Sekunden gleicht kleine Uhrenabweichungen zwischen Server und Telefon aus.

Wiederherstellungscodes

Wenn der Mitarbeiter keinen Zugriff mehr auf seine TOTP-App hat (Telefon verloren, gestohlen, zurückgesetzt):

  1. Klicken Sie auf dem Verifizierungsbildschirm auf Wiederherstellungscode verwenden.
  2. Geben Sie einen der 8 Wiederherstellungscodes ein (10 Zeichen).
  3. Jeder Code funktioniert nur einmal. Deaktivieren und reaktivieren Sie nach der Anmeldung die 2FA, um eine neue Kopplung und einen frischen Codesatz zu generieren.

Brute-Force-Schutz

Nach 5 aufeinanderfolgenden ungültigen Codes wird die 2FA-Verifizierung des Kontos für 15 Minuten gesperrt. Der Verifizierungsbildschirm zeigt die verbleibende Zeit an. Der Zähler wird bei jeder erfolgreichen Verifizierung zurückgesetzt.

Zurücksetzen durch einen Super Admin

Wenn ein Mitarbeiter sowohl sein Telefon als auch seine Wiederherstellungscodes verloren hat:

  1. Ein Super Admin öffnet die Konfigurationsseite des Moduls.
  2. In der Tabelle 2FA-Status der Mitarbeiter klickt er in der Zeile des betreffenden Mitarbeiters auf Zurücksetzen.
  3. Die 2FA des Mitarbeiters wird entfernt: Er kann sich nur mit seinem Passwort anmelden und muss neu koppeln (sofort, wenn der Pflichtmodus aktiv ist).

Die eigene 2FA deaktivieren

Klicken Sie unter Meine 2FA verwalten (Benutzermenü oder Modulpanel) auf 2FA deaktivieren und bestätigen Sie mit einem gültigen TOTP-Code. Der Code wird verlangt, um eine Deaktivierung über eine unbeaufsichtigt offene Sitzung zu verhindern.

Upgrade von Version 1.0.x

Das Upgrade auf 1.1.0 ist automatisch und transparent:

  • Die Tabellenstruktur wird migriert (Sperr-Spalten, erweitertes Secret-Feld).
  • Bestehende TOTP-Secrets bleiben gültig und werden beim nächsten Speichern automatisch mit AES-256 verschlüsselt. Keine Neukopplung nötig.
  • Bestehende Wiederherstellungscodes bleiben nutzbar: Sie werden bei der ersten Verwendung in SHA-256-Hashes umgewandelt.

Migration PS8 → PS9: Das Modul ist auf beiden Versionen identisch. Sie können Ihren Shop migrieren, ohne das Modul zu aktualisieren oder Mitarbeiter neu zu koppeln.

Fehlerbehebung

„Ungültiger Code“, obwohl der Code korrekt erscheint

In 95 % der Fälle liegt eine Uhrenabweichung vor. Prüfen Sie, ob die Serveruhr per NTP synchronisiert ist (timedatectl unter Linux) und die Telefonuhrzeit auf automatisch steht. Die Toleranz des Moduls beträgt ±30 Sekunden.

Konto nach Fehlversuchen gesperrt

Warten Sie das Ende der 15-Minuten-Sperre ab oder bitten Sie einen Super Admin, die 2FA des Kontos über die Konfigurationsseite zurückzusetzen.

Alle Super-Admin-Zugänge sind blockiert

Als letztes Mittel deaktivieren Sie das Modul in der Datenbank: Setzen Sie in der Tabelle ps_module die Spalte active für die Zeile df2fa auf 0, oder benennen Sie den Ordner modules/df2fa vorübergehend um. Melden Sie sich wieder an, reaktivieren Sie das Modul und führen Sie die nötigen Kopplungen erneut durch.

Das Erinnerungsbanner wird nicht angezeigt

Das Banner erscheint nur bei Mitarbeitern ohne aktive 2FA. Im Opt-in-Modus kann es für die aktuelle Sitzung über den Schließen-Button ausgeblendet werden; es erscheint in der nächsten Sitzung erneut.

Versionshinweise

1.1.0 — 2. Juli 2026

  • PrestaShop-9-Kompatibilität (Controller, neue Symfony-Login-Seite, Symfony 6.4)
  • AES-256-Verschlüsselung des TOTP-Secrets in der Datenbank, mit automatischer Migration
  • Wiederherstellungscodes mit SHA-256 gehasht (10 Zeichen)
  • 15 Minuten Sperre nach 5 ungültigen Codes
  • QR-Code 100 % lokal generiert (CDN-Abhängigkeit entfernt)

1.0.0 — 12. März 2025

  • Erste stabile Version: TOTP RFC 6238, Pflicht- oder Opt-in-Modus, 8 Wiederherstellungscodes, Super-Admin-Zurücksetzung, Multishop
War diese Seite hilfreich?

Immer noch nicht weiter? Support kontaktieren