Total Security Suite - zapora, captcha, 2FA i skaner. Total Security łączy w jednym module zaporę aplikacji internetowej, captchę dla formularzy sklepu, uwierzytelnianie dwuskładnikowe (2FA) dla panelu administracyjnego i klientów, lokalny skaner złośliwego kodu i webshelli oraz bieżącą ocenę bezpieczeństwa, która wskazuje, co warto poprawić. Wszystko działa na Państwa własnym serwerze: nic nie opuszcza sklepu. Bez programowania, bez zmian w motywie.

Total Security łączy w jednym module zaporę aplikacji internetowej, captchę dla formularzy sklepu, uwierzytelnianie dwuskładnikowe (2FA) dla panelu administracyjnego i klientów, lokalny skaner złośliwego kodu i webshelli oraz bieżącą ocenę bezpieczeństwa, która wskazuje, co warto poprawić. Wszystko działa na Państwa własnym serwerze: nic nie opuszcza sklepu. Bez programowania, bez zmian w motywie.

1. Instalacja

  1. W panelu administracyjnym (back office) należy przejść do Modules → Module Manager → Upload a module i wybrać plik ZIP modułu.
  2. Po zainstalowaniu należy kliknąć Configure. Otworzy się krótki panel z przyciskiem Go to configuration, który prowadzi do pełnej strony.
Panel Configure
Panel Configure otwiera pełną stronę konfiguracji
Aktualizacje są automatyczne. Aktualizacje są w cenie. Domeny deweloperskie (.local, .test, localhost) są zawsze dozwolone. Gdy dostępna jest nowa wersja, informacja o niej wyświetla się bezpośrednio w module.

Jeśli zamiast potwierdzenia pojawi się komunikat „Upload failed”, PrestaShop mógł wyłączyć moduł bez powiadomienia: ustawienia i dane pozostają na miejscu. Jak zaktualizować moduł i co zrobić, gdy pojawia się komunikat „Upload failed”.

2. Konfiguracja: karty

Strona modułu jest podzielona na karty u góry: Dashboard, Firewall rules, Blocked log, Login protection, Captcha, Two-factor auth, Malware scanner i Settings.

Dashboard security score

Bieżąca ocena bezpieczeństwa (Security score) z oceną literową (A/B/C/D), obliczana na podstawie ustawień sklepu, warstw zapory, captchy i 2FA oraz ostatniego skanowania pod kątem złośliwego kodu (nic nie opuszcza serwera). Poniżej znajduje się Checklist kontroli bezpieczeństwa (widoczne przykłady: tryb debugowania wyłączony na produkcji, HTTPS wymuszony wszędzie, aktywna zapora aplikacji internetowej, captcha przy logowaniu i rejestracji, uwierzytelnianie dwuskładnikowe w panelu administracyjnym, brak wykrytego złośliwego kodu i webshelli, nazwa folderu panelu administracyjnego trudna do odgadnięcia, włączony token bezpieczeństwa panelu administracyjnego). Pozycje wymagające uwagi mają skrót Fix now, który przenosi bezpośrednio do odpowiedniego ustawienia.

Dashboard
Dashboard: ocena bezpieczeństwa i lista kontrolna

Firewall rules

Listy reguł dodaje się i zarządza nimi za pomocą jednego formularza Add a rule: Whitelist IP/CIDR (zaufane, pomija wszystko), Blacklist IP/CIDR (zablokowane), Country rules (kody ISO-2), Bad user-agents (dopasowanie podciągu), Custom attack patterns (dopasowanie podciągu) oraz Pattern whitelist (/module/designer/save oznacza adres strony, z * na końcu dla adresów poniżej niego; ?fc=module&module=designer&controller=save lub ?controller=search oznacza stronę niezależnie od jej adresu; każdy inny tekst oznacza całą wartość. Wpis nigdy nie pasuje do części wartości: wartość, która go tylko zawiera, jest nadal sprawdzana). Baner pokazuje Państwa bieżący adres IP i ostrzega, aby dodać go do białej listy przed włączeniem trybu blokady (lockdown) lub dostępu do panelu administracyjnego tylko z białej listy, tak aby nigdy nie zablokować samego siebie.

Firewall rules
Firewall rules: biała lista, czarna lista, kraje, user-agents i wzorce

Blocked log

Każde zablokowane żądanie jest rejestrowane z datą, adresem IP, krajem, powodem (np. user_agent, attack_pattern, ip, rate, login), szczegółami, żądanym URI i user-agentem. Można filtrować według powodu lub adresu IP, użyć Export CSV, Clear log albo odblokować adres IP bezpośrednio stąd.

Blocked log
Blocked log: filtrowanie, eksport lub odblokowanie adresu IP

Login protection

Śledzi próby logowania do panelu administracyjnego i blokuje konto lub adres IP po zbyt wielu nieudanych próbach w określonym oknie czasowym; wpis można odblokować ręcznie. Nieudane próby są liczone w PrestaShop 1.7, 8 i 9, a zablokowany adres jest odrzucany jeszcze przed sprawdzeniem hasła, również w PrestaShop 9. Progi konfiguruje się w Settings (Back-office login protection). Logowanie klientów podczas składania zamówienia (checkout) także ma limit nieudanych prób na adres IP (dwukrotność progu panelu administracyjnego, w tym samym oknie czasowym): po jego przekroczeniu klient wraca do zamówienia z komunikatem, że należy odczekać kilka minut.

Login protection
Login protection: nieudane próby i aktywne blokady

Captcha

  • Captcha provider: do wyboru Google reCAPTCHA v2 (pole wyboru), reCAPTCHA v3, hCaptcha, Cloudflare Turnstile lub dostawca Lightweight, który nie wymaga kluczy i zachowuje wszystko na Państwa serwerze.
  • Site key / Secret key: z panelu wybranego dostawcy, reCAPTCHA v3 score threshold, widget theme, badge position, lightweight token lifetime.
  • Protected forms: Login, Registration, Forgot password, Contact form, Newsletter, Product review, Guest checkout (każdy z możliwością włączenia i wyłączenia).
  • Advanced: Fail closed (blokada, gdy dostawca jest nieosiągalny), Skip captcha for logged-in customers, Verification timeout, Trusted IP whitelist, verify hostname, verify action.
  • Rate limiting: ogranicza liczbę nieudanych prób captchy, z maksimum i oknem czasowym.
Captcha
Captcha: dostawca, chronione formularze i ograniczanie liczby prób

Two-factor auth (2FA)

Jednorazowe kody oparte na czasie (Google Authenticator, Authy, 1Password i dowolna zgodna aplikacja). Nic nie opuszcza serwera: sekrety są szyfrowane w spoczynku i weryfikowane lokalnie.

  • Your account: konfiguracja 2FA dla konta, na którym jest się zalogowanym (zeskanowanie kodu QR, wpisanie 6-cyfrowego kodu).
  • Enable 2FA for the back office (pracownicy) i/lub for customers (sklep).
  • Force 2FA for specific employee profiles, według identyfikatora (1 = SuperAdmin, 2 = Logistician, 3 = Translator, 4 = Salesman); wymienione profile nie mogą korzystać z panelu administracyjnego, dopóki się nie zarejestrują.
  • Tolerance window, number of backup codes, issuer name wyświetlana w aplikacji.
  • Enrolled employees i enrolled customers są wyświetlani na liście i można ich zresetować.
Two-factor auth
2FA: rejestracja, wymuszone profile i zarejestrowani użytkownicy

Malware scanner

Lokalne skanowanie pod kątem złośliwego kodu i webshelli: wyszukuje znane sygnatury webshelli i zaciemniania kodu, kod wykonywalny ukryty w folderach z mediami oraz pliki dodane lub zmienione od momentu zaufanego punktu odniesienia. Wszystko działa na serwerze: żaden plik, skrót ani ścieżka nigdy nie opuszcza sklepu.

  • Metrics: podejrzane pliki, pliki w punkcie odniesienia, ostatnie skanowanie.
  • Run scan now i Set current files as trusted baseline.
  • Wyniki są wyświetlane z podaniem severity (ważności), what (czego dotyczą), file (pliku) i when (kiedy).
Malware scanner
Malware scanner: wskaźniki, skanowanie i wyniki

Settings firewall configuration

Własna konfiguracja zapory, pogrupowana według sekcji.

  • General: Enable firewall; Behind a proxy/CDN z zaufanym nagłówkiem proxy i zaufanymi adresami IP/CIDR proxy; tę opcję należy włączać tylko za prawdziwym zaufanym proxy, w przeciwnym razie nagłówki IP i kraju można sfałszować.
  • IP/CIDR blocking.
  • Country blocking: tryb listy blokowanych lub dozwolonych, kody ISO-2, opcjonalna ścieżka do bazy MaxMind GeoLite2 lub nagłówek kraju CDN; bazy nigdy nie dołączamy do modułu ze względów licencyjnych.
  • Bad bots / user-agents: włączenie blokowania UA, blokowanie pustego UA, dodatkowe blokowane podciągi łączone z wbudowaną listą.
  • Rate limiting: maksymalna liczba żądań w oknie, długość okna w sekundach, czas trwania blokady tymczasowej.
  • Attack-pattern blocking: SQLi/XSS/LFI/sondowanie. Sprawdzane jest każde pole wysłanego formularza; przesłanie większe niż 2 MB, zagnieżdżone głębiej niż 32 poziomy lub takie, którego nie da się odczytać do końca, jest odrzucane (powody w logu inspection_limit i inspection_error). Prawdziwy checkout pozostaje daleko poniżej tych limitów; jeśli któryś z modułów w Państwa sklepie zgodnie z przeznaczeniem wysyła większe dane, należy dodać ścieżkę jego adresu (na przykład /module/designer/save) do Pattern whitelist.
  • Back-office login protection: maksymalna liczba nieudanych prób, okno prób, czas trwania blokady, dostęp do panelu administracyjnego tylko z adresów IP z białej listy.
  • Maintenance & logging: Lockdown mode (dostęp tylko z adresów IP z białej listy), rejestrowanie zablokowanych żądań, liczba dni przechowywania logów, usunięcie wszystkich danych przy odinstalowaniu.
  • Weekly security report: wysyła e-mailem krótki raport; działa w tle, małymi krokami, więc nigdy nie spowalnia sklepu.
Settings
Settings: konfiguracja zapory według sekcji

W sklepie

Gdy zapora blokuje żądanie, odwiedzający otrzymuje zwykłą stronę 403 z komunikatem „Forbidden, your request has been blocked by the site firewall”: boty i skanery nigdy nie docierają do sklepu.

Strona blokady
W sklepie: strona 403 wyświetlana, gdy zapora blokuje żądanie

3. Sprawdzenie działania

  • Należy otworzyć Dashboard i przeczytać ocenę bezpieczeństwa oraz listę kontrolną.
  • Należy wysłać żądanie z user-agentem typowym dla skanera (lub z adresem URL do sondowania) i potwierdzić, że pojawia się strona blokady 403 oraz nowy wiersz w Blocked log.
  • Po kilku nieudanych logowaniach do panelu administracyjnego konto lub adres IP zostaje zablokowane w Login protection.
  • Należy włączyć captchę i potwierdzić, że pojawia się w formularzu logowania i rejestracji.
  • Należy skonfigurować 2FA na swoim koncie i zalogować się ponownie przy użyciu 6-cyfrowego kodu.
  • Należy uruchomić Malware scanner i przeczytać wyniki.

4. FAQ

Czy spowalnia sklep?

Nie: zapora działa jako pierwsza, z tanimi, indeksowanymi wyszukiwaniami; skaner i cotygodniowy raport działają w tle.

Czy mnie zablokuje?

Najpierw należy dodać swój bieżący adres IP do białej listy (strona o tym ostrzega; podczas instalacji moduł dodaje do białej listy tylko publiczny adres administratora, nigdy adresy lokalne, takie jak 127.0.0.1/::1, ani adresy proxy); tryb blokady (lockdown) lub dostęp do panelu administracyjnego tylko z białej listy należy włączać dopiero potem. Jeśli moduł widzi połączenie z adresu lokalnego lub prywatnego (na przykład 127.0.0.1), panel administracyjny wyświetla ostrzeżenie: za serwerem proxy, load balancerem lub CDN wszyscy odwiedzający mają prawdopodobnie ten sam adres. Należy wtedy włączyć opcję Behind a proxy/CDN w Settings (i dodać adres proxy do zaufanych serwerów proxy, jeśli nie jest to 127.0.0.1).

PrestaShop 9: odzyskanie dostępu przez zmianę nazwy lub usunięcie folderu modułu. Jeśli w celu odzyskania dostępu zmienia się nazwę lub ręcznie usuwa (przez FTP lub menedżer plików) folder modules/cll_totalsecurity, zaraz potem należy wyczyścić pamięć podręczną PrestaShop: opróżnić folder var/cache/prod lub uruchomić php bin/console cache:clear --env=prod jako użytkownik serwera WWW. Dopóki pamięć podręczna nie zostanie wyczyszczona, panel administracyjny odpowiada błędem 500; sklep nadal działa. Wyłączenie lub odinstalowanie modułu w Module Manager nie powoduje tego problemu.

Czy jakiekolwiek dane opuszczają mój serwer?

Nie: zapora, opcja captchy Lightweight, sekrety 2FA i skaner złośliwego kodu działają lokalnie na Państwa serwerze.

Czy zastępuje osobne moduły zapory, captchy i 2FA?

Tak: to jeden, ujednolicony pakiet bezpieczeństwa.

Czy muszę edytować motyw?

Nie: działa przez standardowe hooki i jest zgodny z każdym motywem.

Ładowanie...
Powrót do góry