Bezpieczeństwo sklepu PrestaShop

Bezpieczeństwo sklepu PrestaShop

Sklep na PrestaShop ma wiele miejsc, które trzeba chronić: pliki, bazę danych, panel administracyjny, integracje i pocztę. W praktyce problemy bezpieczeństwa rzadko biorą się z jednej konkretnej rzeczy. Częściej to suma drobnych zaniedbań, które przez długi czas nie przeszkadzają, aż w końcu ktoś je wykorzysta.

Włamanie nie zawsze oznacza widoczny komunikat na stronie głównej. Często objawy są mniej oczywiste: spadek wydajności, dziwne przekierowania z kart produktów, nowe pliki w folderach sklepu, niechciane maile wysyłane z domeny albo wzrost liczby błędów w logach. Jeśli szybko je zauważysz, łatwiej ograniczysz szkody.

Da się to uporządkować bez skomplikowanych narzędzi, ale potrzebny jest plan. Najpierw aktualizacje, potem dostęp do panelu admin, dalej uprawnienia plików, kopie zapasowe i na końcu monitorowanie oraz skanowanie. Każdy z tych elementów jest ważny, bo chroni przed innym typem problemu.

Co najczęściej psuje bezpieczeństwo sklepu PrestaShop?

Najczęstszy problem to brak regularnych aktualizacji. Sklep działa, więc temat schodzi na dalszy plan, a z czasem robi się duża różnica między tym, co masz, a tym, co jest poprawione w nowszych wersjach. To dotyczy nie tylko samego PrestaShop, ale też modułów i motywu.

Druga częsta przyczyna to słaba kontrola dostępu do panelu administracyjnego. Jeśli panel ma przewidywalny adres, konto admin jest wspólne dla kilku osób, a hasła są powtarzane, ryzyko rośnie. W takim układzie wystarczy jeden wyciek hasła, żeby ktoś przejął sklep bez grzebania w plikach.

Trzecia rzecz to zbyt szerokie uprawnienia do plików i katalogów. Zdarza się, że wszystko jest ustawione tak, żeby „na pewno działało”, czyli z prawami zapisu tam, gdzie nie są potrzebne. To ułatwia podmianę plików, a w konsekwencji uruchomienie złośliwego kodu.

Objawy bywają konkretne, tylko łatwo je zignorować. Zwróć uwagę na nagłe spowolnienia bez zmiany ruchu, podejrzane przekierowania, nowe pliki o dziwnych nazwach, nieznane konta w panelu admin oraz wysyłkę maili, których sklep nie powinien wysyłać. Jeśli widzisz skoki zużycia zasobów, sprawdź też temat pracy serwera opisany w artykule o limitach hostingu, bo infekcje i nadużycia często szybko wychodzą na CPU i dysku.

Aktualizacje PrestaShop, modułów i PHP: jak robić je bezpiecznie

Aktualizacje są podstawą, ale w sklepach wiele osób boi się ich przez ryzyko awarii. Da się to zrobić spokojniej, jeśli dzielisz zmiany na mniejsze kroki i po każdej zmianie robisz krótki test. Najgorszy scenariusz to duża aktualizacja po długiej przerwie, bo wtedy trudniej ustalić, co dokładnie przestało działać.

Zacznij od uporządkowania listy: wersja PrestaShop, wersja motywu i lista modułów, zwłaszcza tych od płatności, dostaw i integracji. To pozwoli Ci podejść do aktualizacji rozsądnie, bo najważniejsze elementy testujesz dokładniej. Po aktualizacji zrób test: wejście na kartę produktu, dodanie do koszyka, złożenie zamówienia testowego i sprawdzenie maili.

Wersja PHP też ma znaczenie. Starsze wersje są słabsze pod względem bezpieczeństwa, a część błędów jest poprawiana tylko w nowszych wydaniach. Jednocześnie nie możesz w ciemno podnosić wersji, bo sklep i moduły muszą ją wspierać. Weryfikację środowiska i podstawowych wymagań masz opisaną w poradniku Hosting pod PrestaShop: minimalne wymagania i jak je sprawdzić przed zakupem.

Jeśli korzystasz z hostingu współdzielonego i masz ograniczone możliwości testów, rozważ środowisko testowe lub staging. W skrajnych przypadkach, przy większym sklepie, lepszą kontrolę daje VPS, co jest opisane w tekście PrestaShop: hosting współdzielony vs hosting VPS. To ważne także dla bezpieczeństwa, bo łatwiej wdrażać zmiany i szybciej reagować na incydenty.

Uprawnienia plików i katalogów

PrestaShop musi zapisywać pliki w niektórych miejscach, na przykład w cache, logach i katalogach z uploadami. To normalne. Problem zaczyna się wtedy, gdy prawa zapisu są zbyt szerokie i obejmują cały sklep, także pliki rdzenia i elementy, które nie powinny się zmieniać podczas zwykłego działania.

Najprościej sprawdzisz to w menedżerze plików w panelu hostingu albo przez FTP. Na VPS możesz też użyć SSH. Interesują Cię dwa obszary: czy pliki rdzenia sklepu nie są „otwarte” do zapisu dla wszystkich oraz czy katalogi, które wymagają zapisu, mają go tylko w takim zakresie, jaki jest potrzebny.

W środowiskach linuksowych często spotyka się ustawienia typu 644 dla plików i 755 dla katalogów, a zapis dla procesu PHP jest rozwiązany przez właściciela plików lub odpowiednią grupę. To nie jest jedyna poprawna konfiguracja, bo zależy od hostingu i sposobu uruchamiania PHP. Ważne jest to, żeby nie „ratować” problemów ustawieniem praw 777, bo to zwykle otwiera drogę do podmiany plików.

Po zmianach zawsze zrób krótki test działania sklepu. Sprawdź logowanie do panelu, zapis ustawień, dodanie zdjęcia produktu i generowanie miniatur. Jeśli coś przestaje działać, cofnij zmianę krok po kroku i szukaj konkretnego katalogu, który wymaga zapisu. Nie wracaj od razu do bardzo szerokich uprawnień.

Lista kontrolna, która pomaga zacząć bez chaosu:

  • sprawdź, czy katalog panelu admin i pliki rdzenia nie są zapisywalne „dla wszystkich”
  • sprawdź katalogi cache, logów i uploadów: czy zapis jest tam, gdzie faktycznie potrzebny
  • po zmianach zrób test: panel admin, dodanie zdjęcia, zapis ustawień, koszyk i zamówienie testowe

Panel admin i konta pracowników: jak ograniczyć ryzyko przejęcia dostępu

Panel administracyjny to najprostsza droga do przejęcia sklepu, dlatego warto go wzmocnić kilkoma rzeczami, które nie utrudniają pracy. Pierwsza to adres panelu. Jeśli masz standardową ścieżkę, boty szybciej ją znajdą i zaczną próby logowania. Zmiana nazwy katalogu admin nie zastępuje zabezpieczeń, ale zmniejsza liczbę przypadkowych ataków.

Druga sprawa to konta użytkowników. W wielu sklepach jedna osoba zakłada konto administratora i później hasło krąży między kilkoma osobami. To nie jest dobre rozwiązanie, bo tracisz kontrolę nad tym, kto robił zmiany. Lepszy standard to osobne konta dla każdej osoby i przydzielone role, które odpowiadają obowiązkom.

Trzecia rzecz to dodatkowe zabezpieczenie logowania. Jeśli masz możliwość włączenia drugiego składnika logowania, skorzystaj z tego, szczególnie dla kont o szerokich uprawnieniach. Dodatkowo ustaw zasady haseł: dłuższe, unikalne, bez powtarzania między usługami, a w razie odejścia pracownika usuń lub zablokuj konto od razu.

Warto też ograniczyć dostęp do panelu po adresach IP, jeśli Twoja praca na to pozwala. Nie zawsze jest to wygodne, bo IP może się zmieniać, ale nawet częściowe ograniczenie (np. dostęp tylko z biura i VPN) potrafi mocno ograniczyć ryzyko.

Zabezpieczenia po stronie hostingu: HTTPS, izolacja i narzędzia ochrony

HTTPS to podstawa, bo panel administracyjny i dane klientów nie powinny być przesyłane bez szyfrowania. Sprawdź, czy certyfikat jest poprawnie wdrożony i odnawia się automatycznie, bo wygasły certyfikat potrafi zrobić bałagan w działaniu sklepu i zaufaniu klientów.

Drugim ważnym elementem jest izolacja konta. Na hostingu współdzielonym chcesz mieć pewność, że Twój sklep jest możliwie odseparowany od innych użytkowników, a procesy i pliki nie są „wspólne” w sposób, który zwiększa ryzyko. Na VPS masz większą kontrolę, ale też więcej odpowiedzialności za konfigurację.

Trzecia rzecz to narzędzia w panelu hostingu: blokady prób logowania, ochrona katalogów, podstawowe mechanizmy filtrujące podejrzane zapytania oraz łatwy dostęp do logów. To nie rozwiązuje wszystkich problemów, ale pomaga ograniczyć automatyczne ataki i szybciej znaleźć źródło błędu.

Przy wyborze usługi warto porównać funkcje bezpieczeństwa w rankingu Hostingu PrestaShop. Zwróć uwagę na kopie zapasowe, dostęp do logów, izolację konta oraz wsparcie, bo przy incydencie liczy się czas.

Kopie zapasowe i plan odtworzenia sklepu po incydencie

Kopia zapasowa to element bezpieczeństwa, bez którego trudno mówić o realnej ochronie sklepu. Nawet jeśli masz dobrze ustawiony panel admin i uprawnienia plików, może się zdarzyć awaria, błąd aktualizacji albo incydent, który wymusi odtworzenie sklepu. Wtedy liczy się to, czy masz kopię plików i bazy oraz czy umiesz ją szybko przywrócić.

Najpierw sprawdź, co masz teraz. Czy kopie robi hosting, czy Ty je robisz ręcznie? Jak często powstają? Ile dni historii trzymasz? Czy kopia jest przechowywana poza serwerem, czy tylko w tym samym koncie? Kopia w tym samym miejscu jest lepsza niż brak kopii, ale przy poważnym problemie może nie wystarczyć.

Kolejny krok to test odtwarzania. Wystarczy raz na jakiś czas przywrócić kopię na środowisku testowym, wejść do panelu i złożyć zamówienie testowe. Dzięki temu wiesz, że backup jest kompletny, a proces odtworzenia działa. Szczegóły organizacji backupu masz w artykule Kopie zapasowe w hostingu. Jak wybrać backup, który działa?.

Jeśli w razie incydentu planujesz przeniesienie sklepu do innego środowiska lub odtworzenie w nowej usłudze, przygotuj procedurę na podstawie poradnika Migracja strony między hostingami krok po kroku. To skraca czas działania pod presją, gdy trzeba szybko uruchomić sklep.

Lista rzeczy, które warto spisać jako plan awaryjny:

  • gdzie jest ostatnia kopia bazy i plików oraz jak ją pobrać
  • kto ma dostęp do hostingu, DNS i panelu PrestaShop
  • jak szybko wyłączyć sklep lub włączyć tryb serwisowy, żeby ograniczyć szkody

Skanowanie malware i monitoring zmian: co kontrolować na co dzień

Skanowanie malware ma sens nie tylko po włamaniu. Dobrze działa jako regularna kontrola, która wykrywa podejrzane pliki i zmiany. Jeśli hosting ma skanowanie w panelu, sprawdź, czy da się ustawić harmonogram i raporty, bo wtedy łatwiej trzymać temat pod kontrolą.

Poza skanerem przydaje się prosta rutyna sprawdzania zmian w plikach. Zwracaj uwagę na daty modyfikacji w plikach rdzenia sklepu, na nowe pliki w katalogach z uploadami oraz na nieznane pliki w miejscach, gdzie normalnie nic się nie zmienia. W wielu przypadkach to najszybszy sygnał, że coś jest nie tak.

Warto też zaglądać do logów serwera i aplikacji. Nie musisz tego robić codziennie, ale dobrze mieć nawyk sprawdzenia logów, gdy pojawiają się objawy: spadek wydajności, błędy 500, problemy z logowaniem, nagłe skoki ruchu do nietypowych adresów. Jeśli widzisz, że sklep zaczyna zużywać więcej zasobów bez powodu, wróć do tematu limitach hostingu i sprawdź, czy problem nie wynika z CPU, RAM lub dysku.

Pamiętaj, że pełne skanowanie bywa obciążające, zwłaszcza gdy sklep ma dużo zdjęć i plików. Jeśli możesz, uruchamiaj je poza godzinami największego ruchu i obserwuj, czy nie wpływa to na działanie sklepu.

Bezpieczeństwo poczty sklepu: SPF, DKIM, DMARC i ochrona domeny

Bezpieczeństwo sklepu obejmuje też pocztę. Jeśli ktoś zacznie wysyłać wiadomości podszywając się pod Twoją domenę, klienci mogą dostać fałszywe informacje o płatności, dostawie albo logowaniu. To uderza w zaufanie i potrafi skończyć się reklamacjami, nawet jeśli sam sklep nie został wprost zhakowany.

Podstawą są rekordy SPF, DKIM i DMARC, które pomagają serwerom odbiorców sprawdzić, czy wiadomość faktycznie pochodzi z Twojej domeny. Wdrożenie i kontrolę tych ustawień masz opisane w artykule Poczta na hostingu: SPF, DKIM, DMARC – jak poprawić dostarczalność maili z domeny. To dobry punkt startu, bo łączy temat bezpieczeństwa z dostarczalnością, czyli realnym docieraniem maili do klientów.

W praktyce warto też trzymać jedną, spójną metodę wysyłki maili, np. przez SMTP, zamiast mieszać różne sposoby. Gdy coś się dzieje, łatwiej ustalić źródło problemu i szybciej je zablokować. Dodatkowo zadbaj o to, żeby w treści maili nie było zachęt do klikania w podejrzane linki i żeby klient wiedział, jak wyglądają oficjalne wiadomości sklepu.

FAQ – Najczęściej zadawane pytania

Jak sprawdzić, czy sklep wysyła niechciane maile z domeny?

Zacznij od logów poczty w panelu hostingu, jeśli masz do nich dostęp. Sprawdź też skrzynki typu sklep@, kontakt@ i adresy używane do SMTP. Jeśli klienci zgłaszają dziwne wiadomości, porównaj je z Twoimi oficjalnymi szablonami. Dodatkowo upewnij się, że rekordy SPF, DKIM i DMARC są poprawne.

Co zrobić jako pierwsze, gdy podejrzewam malware w sklepie?

Najpierw zabezpiecz dostęp: zmień hasła do hostingu i panelu admin, sprawdź konta pracowników, a jeśli możesz, włącz tryb serwisowy. Potem zrób kopię plików i bazy do analizy, żeby mieć materiał do sprawdzenia zmian. Dopiero później przejdź do czyszczenia i aktualizacji.

Czy skanowanie malware na hostingu może spowolnić sklep?

Tak, szczególnie przy dużej liczbie plików i zdjęć. Ustaw skanowanie poza godzinami szczytu i obserwuj zużycie zasobów. Jeśli po skanie sklep zwalnia, sprawdź limity zasobów i logi, żeby ustalić, czy problemem jest CPU lub dysk.

Jak często robić kopie zapasowe sklepu?

To zależy od liczby zamówień i zmian w sklepie, ale dla większości sklepów kopia codzienna to minimum. Przy większej sprzedaży sensownie jest robić kopie częściej, zwłaszcza bazy danych. Ważne jest też przechowywanie historii kopii i możliwość szybkiego przywrócenia.

Czy na hostingu współdzielonym da się sensownie zabezpieczyć PrestaShop?

Tak, ale musisz szczególnie zadbać o aktualizacje, hasła, uprawnienia plików i kopie. W pewnym momencie może się okazać, że potrzebujesz większej kontroli nad konfiguracją lub zasobami i wtedy lepszy będzie VPS. Ten temat jest szerzej opisany w PrestaShop: hosting współdzielony vs hosting VPS.

Jak poprawnie zabezpieczyć domenę mailową sklepu?

Ustaw SPF, DKIM i DMARC, a potem trzymaj się jednej metody wysyłki maili, najlepiej przez SMTP. Sprawdź też, czy wiadomości systemowe PrestaShop nie idą z przypadkowych adresów. Instrukcje i wyjaśnienia znajdziesz w Poczta na hostingu: SPF, DKIM, DMARC – jak poprawić dostarczalność maili z domeny.

Komentarze

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

  • Najczęstsze problemy PrestaShop po aktualizacji PHP/serwera
    Aktualizacja PHP albo całego serwera potrafi przyspieszyć sklep, poprawić bezpieczeństwo i rozwiązać część problemów z wydajnością. Tyle teoria. W praktyce często wygląda to tak: po zmianie wersji PHP sklep zaczyna wyrzucać błąd 500, panel administracyjny przestaje się ładować, a koszyk działa „raz tak, raz nie”. Najbardziej frustrujące jest to, że czasem nie ma żadnego czytelnego… Czytaj dalej →
  • Migracja PrestaShop na inny hosting: checklista
    Migracja sklepu PrestaShop to przenosiny „silnika” i „danych” na nowy serwer. Jeśli przeniesiesz tylko pliki albo tylko bazę, sklep najpewniej wstanie, ale coś zacznie się sypać: koszyk, płatności, maile albo integracje z kurierami. Najgorsze są błędy, które wychodzą dopiero po kilku godzinach, kiedy klienci już robią zakupy. W tym artykule dostajesz checklistę z konkretnymi krokami…. Czytaj dalej →
  • E-commerce i sezonowość: jak skalować hosting PrestaShop
    W PrestaShop najwięcej problemów pojawia się wtedy, gdy ruch rośnie nagle i mocno. Black Friday, kampanie w Google Ads i Meta, mailing do bazy, porównywarki cen albo publikacja u influencera potrafią w kilka minut zwiększyć liczbę wejść kilka razy. Jeśli sklep nie jest na to przygotowany, klienci zaczynają widzieć wolne ładowanie, błędy 503 albo przerwane… Czytaj dalej →