Jak zabezpieczyć panel PrestaShop uwierzytelnianiem dwuskładnikowym

Poradnik dla sprzedawców: jak włączyć 2FA w panelu PrestaShop, wybrać obowiązkowe profile, zarządzać zaufanymi urządzeniami i odzyskać zablokowane konto.

Comment sécuriser le back-office PrestaShop avec la 2FA

Wspólne hasło, link phishingowy, dawny wykonawca, który zachował dostęp: jedna luka otwiera zamówienia, ceny, pliki klientów i tworzenie kont administratorów. Uwierzytelnianie dwuskładnikowe dodaje po haśle tymczasowy kod. Ten poradnik pokazuje, jak włączyć je z Google Authenticator lub inną aplikacją TOTP, które profile uczynić obowiązkowymi, jak uniknąć kodu przy każdym logowaniu i jak odzyskać konto, gdy zniknie telefon.

Czy 2FA jest natywne w PrestaShop i dla kogo jest ten moduł?

W obsługiwanych wersjach panel wymaga tylko hasła; ten moduł dodaje krok z kodem TOTP. Działa na PrestaShop 1.7.8, 8.0+ i 9.0+ z jednego archiwum i wymaga PHP 7.4 lub nowszego.

Jest przeznaczony dla sklepów, w których kilka osób otwiera administrację: pracownicy, wspólnicy, agencja, freelancer pracujący nad motywem lub modułami. Pomaga też sklepowi prowadzonemu przez jedną osobę, która pracuje na laptopie lub we wspólnej sieci, gdzie skradzione hasło wystarcza do przejęcia.

Możesz to odłożyć, jeśli panel jest dostępny tylko przez VPN i jesteś jedynym użytkownikiem. Moduł nie zastępuje tej granicy: dodaje barierę, gdy hasło zawiedzie.

Czego moduł nie robi

Nie ogranicza prób hasła: blokada dotyczy błędnych kodów w drugim kroku. W PrestaShop 1.7 trzy stare samodzielne skrypty (backup.php, pdf.php i get-file-admin.php) omijają kontrolę; strona konfiguracji je wskazuje i proponuje usunięcie. Moduł nie wysyła SMS-ów ani e-maili, nie blokuje sklepu i nie zastępuje zapory aplikacyjnej. Chroni wyłącznie panel administracyjny. Poza nim Security Audit Pro kontroluje bezpieczeństwo sklepu, a Magic Login zastępuje hasło klienta kodem 6-cyfrowym lub linkiem.

Jak włączyć 2FA z Google Authenticator, krok po kroku?

Otwórz Moje uwierzytelnianie dwuskładnikowe w menu profilu, kliknij Skonfiguruj, zeskanuj kod QR, wpisz kod z aplikacji i zachowaj kody odzyskiwania.

  1. Zainstaluj aplikację uwierzytelniającą na telefonie.
  2. Zeskanuj ten kod QR w aplikacji. Na telefonie Otwórz w aplikacji na tym telefonie pozwala pominąć skanowanie; w przeciwnym razie wpisz klucz widoczny pod kodem QR.
  3. Wpisz 6-cyfrowy kod wyświetlany w aplikacji, a następnie kliknij Włącz uwierzytelnianie dwuskładnikowe.
  4. Skopiuj, pobierz lub wydrukuj 10 kodów odzyskiwania, a następnie kliknij Kody odzyskiwania mam zapisane; potem kliknij Kontynuuj. Nie zostaną pokazane ponownie.

Moduł stosuje TOTP (RFC 6238): 6-cyfrowy kod odnawiany co 30 sekund i generowany offline. Działają Google Authenticator, Microsoft Authenticator, Authy, 1Password i Bitwarden, jak każda aplikacja TOTP. Kod jest przyjmowany tylko raz, a telefon przesunięty o jeden okres 30 sekund jest nadal akceptowany.

Ustawienia są w Moduły > Menedżer modułów > Konfiguruj. Ten sam blok zawiera przyciski „Otwórz panel” i „Moje uwierzytelnianie dwuskładnikowe”. Superadministrator włącza własne 2FA przed zresetowaniem współpracownika: moduł używa go, aby potwierdzić, kto działa. Dokumentacja opisuje każde ustawienie.

Strona Konfiguruj w sklepie z licencją: dwa przyciski prowadzą do panelu i do uwierzytelniania dwuskładnikowego pracownika.
Strona Konfiguruj w sklepie z licencją: dwa przyciski prowadzą do panelu i do uwierzytelniania dwuskładnikowego pracownika.

Jak uczynić 2FA obowiązkowym dla wybranych profili bez blokowania zespołu?

Wybierz profile w Obowiązkowe dla tych profili i ustaw Okres przejściowy: każdy pracownik ma tyle dni na instalację aplikacji, zanim sama otworzy się strona konfiguracji 2FA.

Okres wynosi od 0 do 365 dni (domyślnie 7) i liczy się od dnia, w którym profil staje się obowiązkowy. W tym czasie komunikat pokazuje pozostałe dni i prowadzi do Skonfiguruj teraz; strona konfiguracji zachowuje link Nie teraz. Po jego końcu pracownik nie otworzy panelu, dopóki nie dokończy konfiguracji. Wartość 0 otwiera konfigurację przy następnej stronie.

Zacznij od profili zajmujących się płatnościami, modułami, eksportami lub tworzeniem kont, często SuperAdmin. Pozostali pracownicy mogą włączyć 2FA z menu bez przymusu. Panel, dostępny dla superadministratorów, liczy pracowników, chronionych, oczekujące konfiguracje obowiązkowe i zablokowane konta; lista pokazuje „Chroniony”, „Obowiązkowe przed …”, „Obowiązkowe, skonfiguruj teraz” lub „Wyłączona”.

Gdy ochrona działa, Zresetuj i Odblokuj proszą o Twój kod w panelu potwierdzenia, a każda akcja trafia do dziennika. W ten sposób wyposażasz dziesięć osób bez ganiania za każdą: panel pokazuje, komu brakuje konfiguracji.

Jak uniknąć kodu przy każdym logowaniu dzięki zaufanym urządzeniom?

Zaznacz Zapamiętaj to urządzenie: ta przeglądarka domyślnie nie pyta ponownie o kod przez 30 dni, a niezapamiętana sesja pozostaje zweryfikowana przez 12 godzin.

Ustawienie „Zapamiętaj urządzenie na” przyjmuje od 0 do 365 dni. Każdy pracownik widzi swoje urządzenia na stronie „Moje uwierzytelnianie dwuskładnikowe” (przeglądarka, system, ostatnie użycie, „Ważne do”) i może usunąć te, których już nie używa. Limit to 20 urządzeń na pracownika; Usuń wszystkie urządzenia czyści listę.

W niezapamiętanej przeglądarce ustawienie „Poproś o kod ponownie po” określa długość zweryfikowanej sesji: od 1 do 168 godzin (domyślnie 12). Wylogowanie ją kończy. Plik cookie zaufanego urządzenia jest HttpOnly i SameSite=Lax i pozostaje niezależny od adresu IP, chyba że włączysz Powiąż zaufane urządzenie z jego adresem IP.

Na wspólnym stanowisku ustaw czas zaufanych urządzeń na 0: pole znika ze strony kodu, a weryfikacja wraca po sesji. Na stałym stanowisku wartość domyślna oszczędza całemu zespołowi codzienny kod. Ustawienie Domyślnie zaznaczaj „zapamiętaj to urządzenie” zaznacza pole z góry na stronie kodu.

Co zrobić, gdy pracownik zgubi telefon?

Pracownik loguje się jednym z 10 kodów odzyskiwania, a potem zmienia telefon; bez kodu superadministrator klika Zresetuj w panelu i potwierdza własnym kodem.

Kody odzyskiwania są jednorazowe i przechowywane jako hash. Na stronie kodu link Użyj kodu odzyskiwania otwiera odpowiednie pole. Na stronie „Moje uwierzytelnianie dwuskładnikowe” opcja Zmień telefon zaczyna konfigurację od nowa i prosi o kod z bieżącej aplikacji lub kod odzyskiwania, aby potwierdzić zmianę; Utwórz nowe kody odzyskiwania unieważnia poprzednie, a ostrzeżenie pojawia się, gdy zostaje ich niewiele.

W sobotni wieczór pracownik rozbija telefon przed wysyłką: loguje się kodem odzyskiwania, uruchamia Zmień telefon i skanuje kod QR na nowym telefonie. Jeśli kody się skończyły, superadministrator klika Zresetuj w jego wierszu i potwierdza własnym kodem; pracownik będzie musiał skonfigurować 2FA ponownie, jeśli jego profil jest obowiązkowy. Odblokuj pomaga, gdy konto jest zablokowane po zbyt wielu błędnych kodach.

Gdy panel jest niedostępny, zostają dwie drogi. Polecenie php bin/console wepresta:2fa:disable --employee=ID_LUB_EMAIL usuwa 2FA jednego pracownika, --all zawiesza je dla całego sklepu, a --dry-run symuluje działanie. Pusty plik DISABLE_2FA w folderze modułu zawiesza prośbę o kod dla wszystkich, dopóki istnieje; czerwony komunikat przypomina o nim superadministratorom. Usuń go, aby przywrócić ochronę.

Ile błędnych kodów przed blokadą?

Pięć błędnych kodów blokuje konto domyślnie na 15 minut; obie wartości można ustawić, a blokada pozostaje w bazie nawet po nowym logowaniu hasłem.

Pole Błędne kody przed blokadą przyjmuje od 1 do 20 prób, a pole Czas blokady od 1 do 1440 minut. Komunikat podaje pozostały czas: Zbyt wiele błędnych kodów. Spróbuj ponownie za 15 min. Użyty kod jest odrzucany z Ten kod został już użyty, a błędny pokazuje Ten kod jest nieprawidłowy wraz z liczbą pozostałych prób.

Dziennik, dostępny dla superadministratorów, pokazuje datę, pracownika, adres IP i szczegóły: kody przyjęte lub błędne, użyte kody odzyskiwania, blokady i odblokowania, zmiany telefonu, nowe kody, dodane lub usunięte urządzenia, resety i wyłączenia. Filtruje się go według pracownika i nie zawiera kodów ani sekretów. Ustawienie „Przechowuj dziennik przez” przyjmuje od 7 do 3650 dni (domyślnie 90); czyszczenie usuwa starsze wiersze raz dziennie.

Co się dzieje, gdy licencja wygaśnie lub serwer licencji nie odpowiada?

Bez ważnej licencji moduł wyłącza się we wszystkich sklepach: nikt nie jest proszony o kod, jego ekrany zarządzania się zamykają, ale rejestracje, kody odzyskiwania, urządzenia, ustawienia i dziennik zostają zachowane. Jeśli serwer jest tylko nieosiągalny, obowiązuje siedmiodniowa tolerancja.

To zasada wersji 2.0.1: zawieszona lub unieważniona licencja, brak klucza, nieznana domena lub nieprawidłowy podpis zatrzymują uwierzytelnianie dwuskładnikowe. Strona konfiguracji pozostaje dostępna z formularzem licencji; wpisz Klucz licencji i Sekret licencji, a następnie kliknij Aktywuj licencję. Gdy licencja jest ważna, moduł włącza się i ponownie prosi o kod na następnej stronie. Nikt nie rejestruje się od nowa, a zaufane urządzenia pozostają ważne do własnej daty ważności.

Wygasła licencja: komunikat wyjaśnia, że nikt nie jest proszony o kod, a formularz licencji pozostaje dostępny w konfiguracji.
Wygasła licencja: komunikat wyjaśnia, że nikt nie jest proszony o kod, a formularz licencji pozostaje dostępny w konfiguracji.

Opłacona licencja nie zostaje przerwana przy pierwszym alarmie. Po zakończeniu subskrypcji ochrona działa jeszcze siedem dni po zapisanej dacie końca. Potem moduł pyta serwer najwyżej raz na godzinę, z krótkimi limitami czasu. Tymczasowa odpowiedź — błąd wewnętrzny, zbyt wiele żądań, rozbieżność zegara — niczego nie wyłącza: siedmiodniowa tolerancja liczy się od pierwszego błędu. Odpowiedź, której nie trzeba ponawiać (wygasła, zawieszona lub unieważniona licencja, nieznana domena, nieprawidłowy podpis) działa od razu. W multisklepie aktywuj licencję w kontekście obejmującym wszystkie sklepy: moduł działa wszędzie albo nigdzie.

Aby przejść z 2.0.0 na 2.0.1, zrób kopię zapasową, wgraj archiwum w Moduły > Menedżer modułów i pozwól PrestaShop uruchomić aktualizację. Rejestracje, kody odzyskiwania, urządzenia, ustawienia i dziennik zostają zachowane. Następnie otwórz Konfiguruj i sprawdź licencję.

Najczęściej zadawane pytania

Które aplikacje uwierzytelniające działają z modułem?
Działa każda aplikacja TOTP: Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden i ich odpowiedniki. Moduł stosuje TOTP (RFC 6238) i nie zależy od żadnego dostawcy. Kod QR skanuje się aplikacją; na telefonie Otwórz w aplikacji na tym telefonie lub klucz widoczny pod kodem QR pozwalają pominąć skanowanie. Każdy pracownik wybiera własną aplikację, bez narzuconego narzędzia.
Czy 2FA działa z PrestaShop 1.7, 8 i 9?
Moduł działa na PrestaShop 1.7.8, 8.0+ i 9.0+, z PHP 7.4 minimum i jednym archiwum. PrestaShop 1.7.7 i starsze wersje nie są obsługiwane. W PrestaShop 1.7 trzy stare samodzielne skrypty (backup.php, pdf.php i get-file-admin.php) omijają kontrolę; strona konfiguracji je wskazuje i proponuje usunięcie.
Co się dzieje, gdy licencja modułu wygaśnie lub stanie się nieważna?
Wygasła licencja wyłącza moduł dopiero po siedmiu dniach; zawieszona lub unieważniona licencja, nieznana domena albo nieprawidłowy podpis również go wyłączają. Jeśli serwer jest tylko nieosiągalny, moduł pyta go najwyżej raz na godzinę, z krótkimi limitami czasu, a tymczasowa odpowiedź — błąd wewnętrzny, zbyt wiele żądań lub rozbieżność zegara — nie wyłącza go: siedmiodniowa tolerancja liczy się od pierwszego błędu. Rejestracje i ustawienia pozostają nienaruszone.
Czy adresy IP biura mogą ominąć kod?
Moduł nie ma listy adresów IP zwolnionych z kodu. Aby uniknąć wpisywania kodu przy każdym logowaniu, użyj zaufanego urządzenia na 30 dni, opcjonalnie powiązanego z adresem IP dla ostrzejszej kontroli. Adres IP może się zmienić lub zostać podszyty, dlatego moduł opiera się na urządzeniu i sesji, a nie na sieci.
Jak długo kod pozostaje ważny?
Kod TOTP jest ważny 30 sekund. Moduł akceptuje przesunięcie o jeden okres 30 sekund między telefonem a serwerem i odrzuca kod już użyty. Weryfikacja pozostaje ważna 12 godzin domyślnie w niezapamiętanej przeglądarce, dopóki sesja pozostaje otwarta, lub 30 dni przy zaufanym urządzeniu (wartość domyślna). Oba czasy ustawia się w konfiguracji modułu.
Jak zresetować 2FA pracownika, który odszedł z firmy?
Zresetuj jego konto z panelu przyciskiem Zresetuj, potwierdzając własnym kodem: jego 2FA zostanie usunięta, a stary telefon nie daje już dostępu. Jeśli usuniesz jego kartę pracownika, moduł skasuje sekret, kody odzyskiwania i zaufane urządzenia; dziennik pozostaje do końca okresu przechowywania.

Produkty w tym artykule

Znajdź moduł, którego potrzebuje Twój sklep

Zobacz moduły