Two-Factor Authentication (2FA) — 2FA dla panelu PrestaShop

Two-Factor Authentication (2FA) dodaje drugi krok do logowania do panelu administracyjnego PrestaShop: po wpisaniu hasła każdy pracownik podaje 6-cyfrowy kod z aplikacji uwierzytelniającej zainstalowanej na telefonie (TOTP). Przy skradzionym haśle żadna strona, żaden formularz i żadne wywołanie AJAX panelu nie wykona się bez tego kodu.

Moduł szuka równowagi między bezpieczeństwem a wygodą: zaufane urządzenie zapamiętane na 30 dni, zweryfikowana sesja przez 12 godzin, profile obowiązkowe z okresem przejściowym, panel i dziennik dla superadministratorów oraz kilka dróg powrotu na wypadek zgubienia telefonu.

Najważniejsze funkcje:

  • Kody TOTP zgodne z Google Authenticator, Microsoft Authenticator, Authy, 1Password i Bitwarden
  • Jeden kod na miesiąc i na przeglądarkę: zaufane urządzenie na 30 dni, niezależne od adresu IP (do ustawienia)
  • Zweryfikowana sesja przez 12 godzin (do ustawienia), kończona po wylogowaniu
  • 2FA obowiązkowe dla wybranych profili, z okresem przejściowym i komunikatem ostrzegawczym
  • „Moje uwierzytelnianie dwuskładnikowe” dla każdego pracownika; panel, dziennik, reset i odblokowanie dla superadministratorów
  • 10 kodów odzyskiwania na pracownika, reset przez administratora, plik DISABLE_2FA i polecenie konsoli do dostępu awaryjnego
  • Blokada po błędnych kodach, zapisana w bazie danych
  • Licencja nigdy nie wyłącza ochrony
  • Interfejs po francusku, angielsku, hiszpańsku, włosku i polsku, bez overrides i zewnętrznych bibliotek PHP

Zobacz moduł i oferty


Przegląd

Samo hasło nie wystarcza już do ochrony administracji sklepu internetowego: phishing, wycieki danych, hasła używane wielokrotnie lub udostępniane. A panel daje dostęp do cen, zamówień, plików klientów i tworzenia kont administratora.

Z Two-Factor Authentication (2FA):

  1. Pracownik wpisuje login i hasło jak zwykle.
  2. Samodzielna strona kodu, bez menu i linków panelu, prosi o 6-cyfrowy kod z jego aplikacji.
  3. Kod jest sprawdzany przed jakąkolwiek akcją w panelu. Jeśli pole Zapamiętaj to urządzenie jest zaznaczone, ta przeglądarka nie prosi o kod przez 30 dni; w przeciwnym razie weryfikacja obowiązuje 12 godzin.

Kontrola obejmuje strony, formularze (POST) oraz wywołania AJAX i JSON: przy samym haśle strona jest przekierowywana na stronę kodu, a wywołanie AJAX otrzymuje odpowiedź 401 bez danych. Znane ograniczenie w PrestaShop 1.7: trzy dawne samodzielne skrypty PrestaShop nie podlegają kontroli (zob. „Rozwiązywanie problemów”).


Funkcje

Kod jednorazowy (TOTP)

  • Standard TOTP (RFC 6238): 6-cyfrowy kod odnawiany co 30 sekund, generowany offline przez aplikację
  • Zgodność z Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden i każdą aplikacją TOTP
  • Kod jest akceptowany tylko raz; zegar telefonu może być przesunięty o jeden okres 30 sekund
  • Kod jest wysyłany po wpisaniu szóstej cyfry
  • Sekrety zapisywane w formacie szyfrowanym i uwierzytelnianym; kody odzyskiwania przechowywane jako hasze

Logowanie, które nie przeszkadza zespołowi

  • Zaufane urządzenie: jedno ciasteczko na pracownika i przeglądarkę (HttpOnly, SameSite=Lax), domyślnie ważne 30 dni niezależnie od adresu IP; powiązanie z adresem IP jest opcjonalne
  • Zweryfikowana sesja: wpisany kod obowiązuje domyślnie 12 godzin (od 1 do 168 godzin); wylogowanie go unieważnia
  • Pole „Zapamiętaj to urządzenie” jest domyślnie zaznaczone (do ustawienia)
  • Każdy pracownik widzi swoje urządzenia (przeglądarka, system, ostatnie użycie, ważność) i usuwa te, których już nie używa; maksymalnie 20 urządzeń na pracownika

Profile obowiązkowe i okres przejściowy

  • Wybór profili, dla których 2FA jest obowiązkowe (na przykład SuperAdmin); pozostali pracownicy włączają je dowolnie
  • Okres przejściowy domyślnie 7 dni, liczony od dnia, w którym profil staje się obowiązkowy: w tym czasie komunikat pokazuje pozostałe dni, a pracownik może wybrać „Nie teraz”
  • Po upływie okresu pracownik jest kierowany na stronę konfiguracji i nie może otworzyć panelu, dopóki jej nie zakończy

Moje uwierzytelnianie dwuskładnikowe i panel

  • Każdy pracownik zarządza swoim 2FA w „Moje uwierzytelnianie dwuskładnikowe”: włączenie, zmiana telefonu, tworzenie nowych kodów odzyskiwania, zarządzanie zaufanymi urządzeniami i, poza profilem obowiązkowym, wyłączenie
  • Superadministratorzy mają panel: liczba pracowników, pracownicy chronieni, oczekujące obowiązkowe konfiguracje, zablokowane konta oraz tabela z profilem, statusem, pozostałymi kodami odzyskiwania, urządzeniami i ostatnio wpisanym kodem każdego pracownika
  • Reset (zgubiony telefon) lub odblokowanie współpracownika wykonuje się z tabeli, potwierdzając własnym kodem
Panel superadministratora: 4 pracowników, z czego 3 chronionych, jedna oczekująca obowiązkowa konfiguracja, jeden zablokowany pracownik, z przyciskami Zresetuj i OdblokujPanel pracowników

Dziennik bezpieczeństwa

  • Kody zaakceptowane lub błędne, użyte kody odzyskiwania, blokady i odblokowania, zmiany telefonu, nowe kody odzyskiwania, dodane lub usunięte urządzenia, resety, wyłączenia
  • Filtr według pracownika, stronicowanie, adres IP i szczegóły każdego wiersza; żaden kod ani sekret nie jest zapisywany
  • Automatyczne czyszczenie raz dziennie (domyślnie 90 dni)

Dostęp awaryjny

  • 10 kodów odzyskiwania jednorazowego użytku na pracownika
  • Reset przez superadministratora z panelu
  • Polecenie konsoli wepresta:2fa:disable (jeden pracownik lub cały sklep, z symulacją)
  • Plik DISABLE_2FA w folderze modułu: zawiesza żądanie kodu dla wszystkich, dopóki istnieje, z czerwonym komunikatem dla superadministratorów

Licencja i informacje techniczne

  • Licencja nigdy nie wyłącza ochrony: po wygaśnięciu blokowane są tylko ustawienia i panel
  • Bez overrides rdzenia PrestaShop, bez zewnętrznych bibliotek PHP, archiwum mniejsze niż 250 KB
  • Interfejs dostępny po francusku, angielsku, hiszpańsku, włosku i polsku

Wymagania

  • PrestaShop: 1.7.8, 8.2+ lub 9.1+. PrestaShop 1.7.7, 8.0, 8.1 i 9.0 nie są obsługiwane.
  • PHP: minimum 7.4, w wersji obsługiwanej przez Twój PrestaShop, z rozszerzeniami json, openssl i mbstring.
  • Aplikacja uwierzytelniająca na telefonie każdego zainteresowanego pracownika (Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden lub odpowiednik) oraz czas telefonu ustawiony automatycznie.
  • Zalecany HTTPS dla panelu administracyjnego.

Instalacja

Metoda 1 — przez Back Office (zalecana)

  1. Pobierz archiwum z panelu klienta WePresta
  2. Przejdź do Moduły > Menedżer modułów
  3. Kliknij Prześlij moduł
  4. Wybierz pobrane archiwum ZIP
  5. Poczekaj na zakończenie instalacji, kliknij Konfiguruj i aktywuj licencję

Metoda 2 — przez FTP

  1. Rozpakuj archiwum ZIP
  2. Wgraj folder wepresta_admin_2fa/ do /modules/
  3. W back office: Moduły > Menedżer modułów
  4. Znajdź moduł i kliknij Zainstaluj
  5. Kliknij Konfiguruj i aktywuj licencję

Co robi instalacja

  • Tworzy tabele modułu (rejestracje, zaufane urządzenia, dziennik)
  • Rejestruje potrzebne hooki i otwiera stronę kodu oraz „Moje uwierzytelnianie dwuskładnikowe” wszystkim profilom, także tworzonym później; panel pozostaje zarezerwowany dla superadministratorów
  • Inicjuje ustawienia: 2FA włączone, żaden profil nie jest obowiązkowy

Uwaga: dopóki nie wybierzesz profilu obowiązkowego, nikt nie jest zmuszony do konfiguracji 2FA. Każdy pracownik może włączyć je sam; strona ustawień i panel ostrzegają, jeśli Twoje własne konto nie jest jeszcze chronione.


Aktualizacja z wersji 1.0.0

  1. Wykonaj kopię zapasową sklepu (pliki i baza danych).
  2. Prześlij archiwum 2.0.0 w Moduły > Menedżer modułów: PrestaShop uruchomi aktualizację.
  3. Rejestracje, kody odzyskiwania, dziennik i Twoje ustawienia zostają zachowane. Niepotrzebne pliki wersji 1.0.0 są usuwane.
  4. Zaufane urządzenia z wersji 1.0.0 nie są już rozpoznawane: każdy pracownik wpisuje kod raz na przeglądarkę.
  5. Okres przejściowy profili, które są już obowiązkowe, zaczyna się od nowa w dniu aktualizacji.
  6. Jeśli kontrola licencji z wersji 1.0.0 wyłączyła moduł, aktualizacja włącza go ponownie.
  7. Otwórz ustawienia, sprawdź profile obowiązkowe i czasy, a następnie sprawdź własne logowanie.

Konfiguracja

Dostęp: Moduły > Menedżer modułów > Konfiguruj. Przyciski Moje uwierzytelnianie dwuskładnikowe i Otwórz panel znajdują się w tym samym bloku.

Ustawienia

  • Włącz uwierzytelnianie dwuskładnikowe: po wyłączeniu nikt nie jest proszony o kod; rejestracje zostają zachowane
  • Obowiązkowe dla tych profili: profile, dla których 2FA jest obowiązkowe
  • Okres przejściowy: od 0 do 365 dni (domyślnie 7), liczony od dnia, w którym profil staje się obowiązkowy
  • Zapamiętaj urządzenie na: od 0 do 365 dni (domyślnie 30); 0 wyłącza zaufane urządzenia
  • Domyślnie zaznaczaj „zapamiętaj to urządzenie”: zaznacza pole na stronie kodu
  • Powiąż zaufane urządzenie z jego adresem IP: ostrzejsza kontrola, kod jest ponownie wymagany przy każdej zmianie adresu
  • Poproś o kod ponownie po: od 1 do 168 godzin (domyślnie 12), czas zweryfikowanej sesji
  • Błędne kody przed blokadą: od 1 do 20 (domyślnie 5)
  • Czas blokady: od 1 do 1440 minut (domyślnie 15)
  • Nazwa wyświetlana w aplikacji uwierzytelniającej: domyślnie nazwa sklepu
  • Przechowuj dziennik przez: od 7 do 3650 dni (domyślnie 90); starsze zdarzenia są usuwane automatycznie

Licencja

Aktywuj licencję w ustawieniach modułu. Bez aktywnej licencji 2FA nadal działa, ale ustawienia i panel są zablokowane za formularzem licencji; komunikat zachęca do jej odnowienia. Aktywacja lub odnowienie licencji ponownie otwiera ustawienia.


Włączenie własnego 2FA (pracownik)

  1. Otwórz Moje uwierzytelnianie dwuskładnikowe w menu swojego profilu (u góry po prawej w panelu), a następnie kliknij Skonfiguruj.
  2. Zainstaluj aplikację uwierzytelniającą na telefonie, jeśli nie jest jeszcze zainstalowana.
  3. Zeskanuj kod QR aplikacją. Na samym telefonie użyj Otwórz w aplikacji na tym telefonie; w przeciwnym razie wpisz klucz wyświetlany pod kodem QR.
  4. Wpisz kod wyświetlany w aplikacji, aby potwierdzić, a następnie kliknij Włącz uwierzytelnianie dwuskładnikowe.
  5. Zachowaj swoje 10 kodów odzyskiwania (kopiuj, pobierz lub wydrukuj), a następnie kliknij Kody odzyskiwania mam zapisane. Nie zostaną wyświetlone ponownie.

W okresie przejściowym profilu obowiązkowego komunikat proponuje konfigurację 2FA; potem strona konfiguracji otwiera się sama. Pomyłka przy wpisywaniu nie zmienia kodu QR.

Strona konfiguracji: instalacja aplikacji uwierzytelniającej, zeskanowanie kodu QR (lub wpisanie klucza) i wpisanie kodu wyświetlanego w aplikacjiKonfiguracja w trzech krokach

Przy każdym logowaniu

Po wpisaniu hasła podaj 6-cyfrowy kod; jest wysyłany po wpisaniu szóstej cyfry. Zaznacz Zapamiętaj to urządzenie, aby nie wpisywać go w tej przeglądarce przez 30 dni. Z kodem odzyskiwania kliknij Użyj kodu odzyskiwania.

Strona „Potwierdź swoją tożsamość”: pole 6-cyfrowego kodu, zaznaczone pole „Zapamiętaj to urządzenie na 30 dni” i link do kodów odzyskiwaniaStrona kodu po wpisaniu hasła

Zarządzanie własnym 2FA

Strona Moje uwierzytelnianie dwuskładnikowe pozwala:

  • zmienić telefon (Zmień telefon): wymagany jest kod z bieżącej aplikacji (lub kod odzyskiwania), po czym konfiguracja zaczyna się od nowa
  • utworzyć nowe kody odzyskiwania (Utwórz nowe kody odzyskiwania): wymagany jest kod, a poprzednie kody zostają unieważnione; ostrzeżenie pojawia się, gdy zostało ich niewiele
  • usunąć zaufane urządzenie lub wszystkie urządzenia (Usuń wszystkie urządzenia)
  • wyłączyć uwierzytelnianie dwuskładnikowe (Wyłącz uwierzytelnianie dwuskładnikowe), chyba że Twój profil jest obowiązkowy
Strona „Moje uwierzytelnianie dwuskładnikowe”: status włączony, 10 niewykorzystanych kodów odzyskiwania i lista zaufanych urządzeń (Chrome / macOS, Safari / iOS) z datą ważnościMoje 2FA: kody odzyskiwania i zaufane urządzenia

Zarządzanie zespołem (panel)

Dostęp: Moduły > Menedżer modułów > Konfiguruj, przycisk Otwórz panel (tylko superadministratorzy).

  • Cztery liczniki pokazują liczbę pracowników, pracowników chronionych, niewykonanych konfiguracji obowiązkowych i zablokowanych kont.
  • Zakładka Pracownicy pokazuje dla każdego: profil, status (Chroniony, Obowiązkowe przed …, Obowiązkowe, skonfiguruj teraz lub Wyłączona), pozostałe kody odzyskiwania, urządzenia i ostatnio wpisany kod.
  • Zresetuj usuwa 2FA pracownika, który zgubił telefon; skonfiguruje je ponownie przy następnym logowaniu. Odblokuj pozwala mu spróbować od razu.
  • Każda akcja wymaga Twojego aktualnego kodu (lub kodu odzyskiwania) w panelu potwierdzenia i jest zapisywana w dzienniku.
  • Zakładka Dziennik wyświetla zdarzenia, z filtrem według pracownika.

Dostęp awaryjny

Od najprostszego do najbardziej radykalnego:

  1. Kod odzyskiwania: pracownik wpisuje jeden ze swoich 10 kodów na stronie kodu.
  2. Reset przez innego superadministratora z panelu.
  3. Polecenie konsoli, z folderu sklepu:
    • php bin/console wepresta:2fa:disable --employee=ID_LUB_EMAIL usuwa 2FA jednego pracownika
    • php bin/console wepresta:2fa:disable --all wyłącza ochronę dla całego sklepu
    • opcja --dry-run symuluje bez zmian
  4. Plik DISABLE_2FA: utwórz pusty plik o tej nazwie w modules/wepresta_admin_2fa/. Nikt nie jest proszony o kod, dopóki istnieje; czerwony komunikat przypomina o tym superadministratorom. Usuń go, aby przywrócić ochronę.

Aby uruchomić na żądanie czyszczenie dziennika i wygasłych urządzeń: php bin/console wepresta:2fa:purge.


Typowe przypadki użycia

Ochrona kont krytycznych w tydzień

Wybierz profil SuperAdmin (i te, które mają dostęp do płatności lub eksportów) w Obowiązkowe dla tych profili, zachowaj 7-dniowy okres przejściowy, a następnie obserwuj wdrożenie w panelu.

Stałe stanowisko pracy

30-dniowe zaufane urządzenie ogranicza wpisywanie do jednego kodu na miesiąc i na przeglądarkę, niezależnie od adresu IP.

Wspólne stanowisko lub wrażliwe połączenie

Ustaw czas zaufanych urządzeń na 0: pole „Zapamiętaj to urządzenie” znika, a kod jest ponownie wymagany po upływie czasu zweryfikowanej sesji (domyślnie 12 godzin, można skrócić). Możesz też powiązać urządzenia z adresem IP, aby zaostrzyć kontrolę.

Zgubiony telefon

Pracownik używa kodu odzyskiwania albo superadministrator klika Zresetuj w panelu.


FAQ

Do czego służy uwierzytelnianie dwuskładnikowe (2FA) w panelu administracyjnym?

2FA dodaje drugą weryfikację przy logowaniu do administracji. Nawet jeśli hasło zostanie skradzione (phishing, wyciek danych, hasło używane w wielu miejscach), panel pozostaje zamknięty bez tymczasowego kodu generowanego na telefonie pracownika. To bezpośrednia ochrona przed przejęciem sklepu: zmianą cen, przekierowaniem zamówień, tworzeniem kont administratora czy eksportem danych klientów.

Jaki typ 2FA jest używany (SMS, e-mail, aplikacja)?

Moduł używa standardu TOTP (Time-based One-Time Password, RFC 6238): 6-cyfrowy kod zmieniający się co 30 sekund, generowany przez aplikację uwierzytelniającą. Nie potrzeba SMS-ów (koszty, dostarczalność) ani e-maili (przejęta skrzynka), a kod generuje się bez połączenia z siecią. Telefon z zegarem przesuniętym o jeden okres 30 sekund jest nadal akceptowany; ten sam kod działa tylko raz.

Które aplikacje są kompatybilne (Google Authenticator, Authy, Microsoft...)?

Wszystkie aplikacje TOTP: Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden i ich odpowiedniki. Każdy pracownik używa wybranej aplikacji, bez narzuconego narzędzia własnościowego. Kod QR skanuje się aplikacją; na telefonie przycisk „Otwórz w aplikacji” lub wpisanie klucza konfiguracyjnego pozwalają uniknąć skanowania.

Czy można wymusić 2FA tylko dla wybranych profili (np. SuperAdmin)?

Tak. W ustawieniach wybierasz profile, dla których 2FA jest obowiązkowe, na przykład SuperAdmin oraz profile mające dostęp do płatności, modułów lub eksportów. Pozostali pracownicy mogą włączyć je sami w „Moje uwierzytelnianie dwuskładnikowe”. Okres przejściowy (domyślnie 7 dni) daje czas na przygotowanie: liczy się od dnia, w którym profil staje się obowiązkowy, a komunikat pokazuje pozostałe dni.

Jak uniknąć spowalniania zespołu koniecznością wpisywania kodu przy każdym logowaniu?

Działają dwa mechanizmy. Zaufane urządzenie zapamiętuje przeglądarkę przez 30 dni (do ustawienia), niezależnie od adresu IP: pracownik wpisuje jeden kod na miesiąc i na przeglądarkę, a pole „Zapamiętaj to urządzenie” jest domyślnie zaznaczone. W przeglądarce, która nie jest zapamiętana, weryfikacja obowiązuje 12 godzin (do ustawienia od 1 do 168 godzin): jeden kod na dzień pracy. Wylogowanie lub usunięcie urządzenia w „Moje uwierzytelnianie dwuskładnikowe” ponownie wymaga kodu. Możesz też powiązać urządzenie z jego adresem IP, aby zaostrzyć kontrolę.

Co się stanie, jeśli pracownik zgubi telefon?

Loguje się jednym z 10 kodów odzyskiwania (jednorazowych), a następnie konfiguruje nową aplikację przyciskiem „Zmień telefon”. Jeśli nie ma już kodów, superadministrator otwiera panel, klika „Zresetuj” w jego wierszu i potwierdza własnym kodem: 2FA pracownika zostaje usunięte, a pracownik konfiguruje je ponownie przy następnym logowaniu. Każdy reset jest zapisywany w dzienniku.

Jakie metody awaryjnego odzyskiwania są dostępne?

Cztery sposoby, od najprostszego do najbardziej radykalnego: kod odzyskiwania pracownika; reset przez innego superadministratora; polecenie konsoli wepresta:2fa:disable (opcja --employee z identyfikatorem lub e-mailem pracownika albo --all dla całego sklepu, a --dry-run do symulacji); pusty plik DISABLE_2FA umieszczony w folderze modułu, który zawiesza żądanie kodu dla wszystkich, dopóki istnieje. Czerwony komunikat przypomina superadministratorom o jego obecności.

Czy moduł chroni przed atakami brute force?

Blokuje drugi krok: po 5 błędnych kodach (do ustawienia od 1 do 20) pracownik jest blokowany na 15 minut (do ustawienia od 1 do 1440 minut). Blokada jest zapisana w bazie danych: ponowne zalogowanie hasłem nie zeruje licznika. Kod jest akceptowany tylko raz. Moduł nie ogranicza prób wpisania hasła.

Czy dostępna jest historia logowań i zdarzeń bezpieczeństwa?

Tak. Dziennik w panelu, dostępny tylko dla superadministratorów, wyświetla z datą, pracownikiem, adresem IP i szczegółami: kody zaakceptowane lub błędne, użyte kody odzyskiwania, blokady i odblokowania, zmiany telefonu, nowe kody odzyskiwania, dodane lub usunięte urządzenia, resety i wyłączenia. Można go filtrować według pracownika i nigdy nie zawiera kodu ani sekretu. Wiersze starsze niż 90 dni (do ustawienia od 7 do 3650 dni) są usuwane automatycznie.

Czy kontrola chroni także formularze i wywołania AJAX w panelu?

Tak. Kod jest sprawdzany, zanim panel wykona cokolwiek: strony, formularze (POST), wywołania AJAX i JSON, strony bez menu. Przy samym haśle strona jest przekierowywana na stronę kodu, a wywołanie AJAX otrzymuje odpowiedź 401 bez danych. Znane ograniczenie w PrestaShop 1.7: dawne samodzielne skrypty backup.php, pdf.php i get-file-admin.php odpowiadają zalogowanemu pracownikowi bez przechodzenia przez rdzeń PrestaShop; strona ustawień to sygnalizuje i zachęca do ich usunięcia.

Co dzieje się z 2FA, gdy licencja wygaśnie?

Nadal działa. Licencja nigdy nie wyłącza ochrony: po wygaśnięciu (koniec okresu próbnego, termin płatności, zawieszona licencja lub błąd serwera licencji) blokowane są tylko ustawienia i panel, za formularzem licencji, z komunikatem. Pracownicy nadal logują się swoim kodem. Aktywacja lub odnowienie licencji ponownie otwiera ustawienia.

Jakie wersje PrestaShop i PHP są obsługiwane i jak zaktualizować z wersji 1.0.0?

Moduł działa z PrestaShop 1.7.8, 8.2+ i 9.1+ oraz PHP 7.4 minimum, w jednym archiwum; PrestaShop 1.7.7, 8.0, 8.1 i 9.0 nie są obsługiwane. Aby zaktualizować, prześlij archiwum 2.0.0 w menedżerze modułów: rejestracje, kody odzyskiwania i dziennik zostają zachowane. Zaufane urządzenia z wersji 1.0.0 nie są już rozpoznawane: każdy pracownik wpisuje kod raz na przeglądarkę.

Czy odinstalowanie usuwa dane?

Tak. Odinstalowanie modułu zatrzymuje ochronę i usuwa rejestracje, zaufane urządzenia, dziennik i ustawienia modułu; PrestaShop prosi wcześniej o potwierdzenie. Po odinstalowaniu panel jest znów chroniony samym hasłem.

Czy można wyłączyć 2FA dla całego sklepu?

Tak, tymczasowo. Przełącznik „Włącz uwierzytelnianie dwuskładnikowe” w ustawieniach zawiesza żądanie kodu dla wszystkich bez usuwania rejestracji; włącz go ponownie, aby przywrócić ochronę. Dla jednego pracownika użyj „Zresetuj” w panelu lub, jeśli jego profil nie jest obowiązkowy, „Wyłącz uwierzytelnianie dwuskładnikowe” na jego stronie.

Czy moduł zmienia motyw lub wygląd sklepu?

Nie. Moduł działa tylko w panelu administracyjnym: niczego nie dodaje do tego, co widzą klienci, nie zastępuje żadnego pliku PrestaShop (bez overrides), więc działa z każdym motywem.

Czy dane 2FA są chronione?

Tak. Sekrety TOTP są zapisywane w formacie szyfrowanym i uwierzytelnianym, kody odzyskiwania i tokeny zaufanych urządzeń w postaci skrótów, a dziennik nigdy nie zawiera kodu ani sekretu. Klucze wynikają z klucza szyfrowania PrestaShop, którego nie ma w bazie danych: sam eksport bazy nie pozwala wygenerować poprawnego kodu.

Czy zaufane urządzenie jest bezpieczne?

Opiera się na ciasteczku właściwym dla pracownika i przeglądarki (HttpOnly, SameSite=Lax), z którego baza danych przechowuje tylko skrót. Wygasa w wybranym terminie (domyślnie 30 dni), pracownik może je w każdej chwili usunąć w „Moje uwierzytelnianie dwuskładnikowe”, a Ty możesz powiązać je z adresem IP, aby zaostrzyć kontrolę. Na wspólnym stanowisku wyłącz zaufane urządzenia (czas 0).


Rozwiązywanie problemów

Kod nigdy nie jest akceptowany

  • Sprawdź, czy czas telefonu jest ustawiony automatycznie: przesunięcie większe niż 30 sekund powoduje odrzucenie kodu
  • Poczekaj na następny kod, jeśli wyświetlany właśnie został użyty: kod jest akceptowany tylko raz
  • Po 5 błędnych kodach konto jest domyślnie blokowane na 15 minut: komunikat pokazuje pozostały czas albo superadministrator klika Odblokuj

Nie mogę już otworzyć panelu

  • Użyj kodu odzyskiwania albo poproś superadministratora o reset
  • W przeciwnym razie zastosuj dostęp awaryjny: polecenie wepresta:2fa:disable lub plik DISABLE_2FA

Kod jest wymagany zbyt często

  • Czy zaufane urządzenia są włączone (czas większy niż 0) i czy pole „Zapamiętaj to urządzenie” jest zaznaczone?
  • Czy przeglądarka usuwa ciasteczka przy zamknięciu albo czy pracownik korzysta z trybu prywatnego?
  • Czy powiązanie z adresem IP jest włączone? Kod jest wtedy wymagany ponownie przy każdej zmianie adresu
  • Czy urządzenie zostało usunięte w „Moje uwierzytelnianie dwuskładnikowe”?
  • Wyczyść cache: Parametry zaawansowane > Wydajność > Wyczyść cache
  • Link znajduje się w menu profilu, u góry po prawej, obok „Wyloguj”
  • Sprawdź, czy moduł jest zainstalowany i włączony

Po instalacji z wiersza poleceń kontrola nie wydaje się działać

  • Wyczyść cache PrestaShop: moduł odbudowuje go także samodzielnie, gdy tylko zauważy problem (najwyżej raz na 10 minut)

Strona ustawień sygnalizuje skrypty do usunięcia

  • W PrestaShop 1.7 dawne skrypty backup.php, pdf.php i get-file-admin.php odpowiadają zalogowanemu pracownikowi bez przechodzenia przez rdzeń PrestaShop, a więc bez kontroli modułu. Usuń je, jeśli istnieją w katalogu głównym sklepu.

Pracownik nie może już zatwierdzić kodu po migracji sklepu

  • Jeśli klucz szyfrowania PrestaShop (_COOKIE_KEY_) się zmienił, zapisane sekrety nie są już czytelne: dziennik pokazuje „Sekret nieczytelny”. Zresetuj pracownika w panelu lub poleceniem konsoli, a następnie skonfiguruje on 2FA ponownie.

Changelog

Wersja 2.0.0

Nowości

  • Moduł działa w PrestaShop 1.7.8, 8.2+ i 9.1+, z PHP 7.4 minimum, w jednym archiwum.
  • Każdy pracownik ma stronę „Moje uwierzytelnianie dwuskładnikowe”: włączenie 2FA, zmiana telefonu, tworzenie nowych kodów odzyskiwania, zarządzanie zaufanymi urządzeniami i, poza profilem obowiązkowym, wyłączenie.
  • Panel superadministratorów wyświetla pracowników (status, termin, pozostałe kody odzyskiwania, urządzenia, ostatnio wpisany kod) i dziennik bezpieczeństwa z filtrem według pracownika.
  • Superadministrator resetuje lub odblokowuje współpracownika w panelu, potwierdzając własnym kodem.
  • Zaufane urządzenie jest zapamiętywane przez 30 dni na przeglądarkę, niezależnie od adresu IP; powiązanie z adresem IP staje się opcją.
  • Weryfikacja obowiązuje 12 godzin (do ustawienia od 1 do 168 godzin) i kończy się po wylogowaniu.
  • Okres przejściowy profilu obowiązkowego liczy się od dnia, w którym profil taki się staje, a komunikat pokazuje pozostałe dni.
  • Konfiguracja zajmuje dwie minuty: kod QR zostaje po pomyłce, klucz konfiguracyjny jest czytelny, a przycisk otwiera aplikację na telefonie.
  • Dziennik i wygasłe urządzenia są usuwane automatycznie raz dziennie; polecenie konsoli wepresta:2fa:purge uruchamia czyszczenie na żądanie.

Ulepszenia

  • Kod jest wymagany przed każdą akcją w panelu: strony, formularze, wywołania AJAX i JSON.
  • Zmiana telefonu lub utworzenie nowych kodów odzyskiwania wymaga poprawnego kodu.
  • Kod jest akceptowany tylko raz, a zegar telefonu może być przesunięty o jeden okres 30 sekund.
  • Sekrety są zapisywane w formacie szyfrowanym i uwierzytelnianym; te z wersji 1.0.0 pozostają czytelne.
  • Strona kodu jest samodzielna, bez menu i linków panelu, a kod jest wysyłany po szóstej cyfrze.
  • Licencja nigdy już nie wyłącza 2FA: po wygaśnięciu blokowane są tylko ustawienia i panel, z komunikatem.
  • Zaufane urządzenia pokazują przeglądarkę i system, na przykład „Chrome / macOS”.
  • Wyświetlana jest liczba pozostałych kodów odzyskiwania, z ostrzeżeniem, gdy zostało ich niewiele.
  • Wszystkie profile, także utworzone później, mają dostęp do strony kodu i „Moje uwierzytelnianie dwuskładnikowe”.
  • Interfejs jest kompletny po francusku, angielsku, hiszpańsku, włosku i polsku, łącznie z formularzem licencji.
  • Moduł nie używa żadnej zewnętrznej biblioteki PHP; archiwum waży mniej niż 250 KB.

Poprawki

  • Przy samym haśle nie można już zastąpić telefonu pracownika ani wyświetlić nowych kodów odzyskiwania.
  • Formularze, wywołania AJAX i strony bez menu nie wykonują się już bez kodu.
  • Wygasła licencja, zakończony okres próbny lub błąd serwera licencji nie wyłączają już ochrony.
  • Blokada po błędnych kodach nie jest już zerowana przez nowe logowanie.
  • Tolerancja zegara wynosi jeden okres 30 sekund zamiast jednej sekundy.
  • Awaryjne polecenie konsoli wepresta:2fa:disable działa, a konsola PrestaShop 9 nie zatrzymuje się już, gdy moduł jest aktywny.
  • Panel jest zarezerwowany dla superadministratorów we wszystkich wersjach.
  • Okres przejściowy nie zależy już od wieku konta.
  • Automatyczne czyszczenie dziennika i wygasłych urządzeń działa w PrestaShop 9.

Po aktualizacji: rejestracje, kody odzyskiwania i dziennik zostają zachowane. Zaufane urządzenia z wersji 1.0.0 nie są już rozpoznawane: każdy pracownik wpisuje kod raz na przeglądarkę. Okres przejściowy profili, które są już obowiązkowe, zaczyna się od nowa w dniu aktualizacji. Jeśli kontrola licencji z wersji 1.0.0 wyłączyła moduł, aktualizacja włącza go ponownie.

Wersja 1.0.0

  • Pierwsze wydanie
  • Uwierzytelnianie TOTP
  • Kody zapasowe
  • Zaufane urządzenia
  • Panel administracyjny
  • Rejestr audytu
  • Metody odzyskiwania awaryjnego

Wsparcie

W razie potrzeby skontaktuj się z nami przez panel klienta WePresta lub e-mailem pod adresem mail@wepresta.shop, zgodnie z opcją wsparcia w Twojej ofercie.

Przed kontaktem przygotuj:

  • wersję PrestaShop
  • wersję PHP
  • zdarzenie, którego dotyczy problem, w dzienniku panelu
  • zrzuty ekranu
  • logi PrestaShop, jeśli są dostępne

Zobacz moduł i oferty

Loading...