Aktualizacje WordPressa, WooCommerce i wtyczek
Nieaktualne wtyczki to jedna z najczęstszych dróg włamania do sklepów na WordPressie. Dokumentacja WooCommerce zaleca włączenie automatycznych aktualizacji rdzenia WordPressa oraz regularne sprawdzanie i instalowanie aktualizacji WooCommerce i wszystkich wtyczek. Instrukcja Hardening WordPress dodaje, że starsze wersje WordPressa nie dostają poprawek bezpieczeństwa, a nieużywane wtyczki należy usuwać, a nie tylko wyłączać.
W sklepie aktualizacje mają jednak drugą stronę: nowa wersja wtyczki płatności czy motywu może zepsuć zamówienie. Dlatego decyzja, czy włączać automatyczne aktualizacje wtyczek, zależy od tego, czy masz środowisko testowe i kogoś, kto szybko zareaguje na błąd:
[#chart:woo65b]
[#uwaga] WooCommerce ostrzega przed kampaniami phishingowymi, w których oszuści wysyłają e-maile o rzekomych krytycznych lukach i podsyłają „łatkę” do pobrania. Nie klikaj takich linków, nie pobieraj plików z wiadomości i nie instaluj wtyczek, które w nich polecono. Aktualizacje instaluj tylko z kokpitu WordPressa albo z WooCommerce.com.
Lista kontrolna zabezpieczeń sklepu na WordPressie
Poniższa tabela zbiera najważniejsze punkty w jednym miejscu. Możesz ją wydrukować i odhaczać przy kwartalnym przeglądzie sklepu:
| Obszar | Co zrobić | Jak często sprawdzać |
|---|
| Konta i hasła | Silne, unikalne hasła, 2FA dla administratorów i menedżerów sklepu | Przy każdej zmianie w zespole |
| Uprawnienia | Minimalne role, usunięcie kont byłych pracowników i podwykonawców | Co kwartał |
| Aktualizacje | WordPress, WooCommerce, motyw i wtyczki, usunięcie nieużywanych wtyczek | Co tydzień |
| Kopie zapasowe | Automatyczne kopie plików i bazy danych trzymane poza serwerem | Test przywracania co kwartał |
| Klucze REST API | Przegląd kluczy, usunięcie nieużywanych, kontrola kluczy z odczytem i zapisem | Co kwartał |
| Pliki i serwer | Wyłączona edycja plików z panelu, uprawnienia 755/644, SFTP zamiast FTP | Po zmianach na serwerze |
| Zapora i logowanie | Wtyczka bezpieczeństwa lub zapora po stronie hostingu, limit prób logowania | Co miesiąc przegląd logów |
| Dane klientów | Archiwizacja starych zamówień i ograniczanie danych trzymanych w sklepie | Co pół roku |
Uprawnienia użytkowników i klucze API w WooCommerce
Każde konto z dostępem do panelu to potencjalne wejście do sklepu. WooCommerce w materiałach o bezpieczeństwie zaleca nadawanie użytkownikom tylko tych uprawnień, których potrzebują do pracy, usuwanie kont osób, które już nie współpracują ze sklepem, i sprawdzanie, czy każda rola ma najniższy możliwy poziom dostępu. Pracownik obsługi zamówień nie potrzebuje roli administratora, a copywriter nie potrzebuje dostępu do zamówień.
Podobnie jest z kluczami REST API, które sklep wydaje integracjom, np. systemowi magazynowemu, księgowemu czy Base. Klucze znajdziesz w ustawieniach WooCommerce, w zakładce zaawansowanej, w sekcji REST API. Przejrzyj je, usuń te, których nikt już nie używa, a klucze z uprawnieniem do odczytu i zapisu zostaw tylko tam, gdzie integracja naprawdę musi zmieniać dane w sklepie. Opisuj każdy klucz tak, żeby po roku było wiadomo, do czego służy.
XML-RPC i dostęp do REST API
Dokumentacja WooCommerce zaleca wyłączenie XML-RPC oraz dostępu do REST API, jeśli nie są potrzebne. W sklepie trzeba z tym uważać: z REST API korzystają bloki koszyka i zamówienia, aplikacja mobilna WooCommerce i wiele integracji. Dlatego zamiast całkowitej blokady zwykle ogranicza się dostęp dla niezalogowanych użytkowników do wybranych punktów, a każdą zmianę testuje na kopii sklepu.
Pliki, serwer i kopie zapasowe
Część zabezpieczeń ustawia się nie w panelu, a na serwerze. Instrukcja Hardening WordPress zaleca m.in.:
Wyłączenie edycji plików z panelu - przez dodanie w pliku wp-config.php stałej DISALLOW_FILE_EDIT ustawionej na true. To nie zatrzyma wgrania złośliwego pliku, ale utrudnia część ataków.
Uprawnienia plików - 755 dla katalogów i 644 dla plików, a dla wp-config.php zwykle 400 lub 440.
Ograniczone uprawnienia użytkownika bazy danych - do zwykłej pracy wystarczą odczyt i zapis, choć odebranie innych uprawnień może utrudnić aktualizacje.
SFTP zamiast FTP - żeby dane logowania nie były przesyłane otwartym tekstem.
Regularne kopie zapasowe - razem z bazą danych, przechowywane tak, żeby dało się wrócić do stanu sprzed niezauważonego włamania.
Dokumentacja WooCommerce poleca do kopii zapasowych wtyczki takie jak UpdraftPlus czy Duplicator, a do skanowania złośliwego kodu, zapory i ochrony logowania wtyczki takie jak Wordfence, Sucuri czy iThemes Security (dziś Solid Security). Rozszerzenie Security for WooCommerce w swojej dokumentacji zaznacza z kolei, że nie zastępuje zabezpieczeń hostingu, dedykowanej zapory aplikacji webowych ani usługi usuwania złośliwego oprogramowania. Wtyczka to jedna warstwa, a nie całe bezpieczeństwo.
Płatności, oszustwa i dane klientów w WooCommerce
Według dokumentacji WooCommerce sam WooCommerce nie przetwarza bezpośrednio danych kart, dlatego kluczowe jest korzystanie z bramek płatności, które obsługują karty po swojej stronie. Zgodność z PCI DSS zależy wtedy przede wszystkim od operatora i sposobu integracji. Nie zapisuj danych kart w notatkach do zamówień ani w e-mailach.
Osobnym problemem jest testowanie kart (card testing), czyli seryjne próby płatności kradzionymi numerami w formularzu zamówienia. Dokumentacja rozszerzenia Anti-Fraud zaleca CAPTCHA w zamówieniu i limity prób. Każde takie zabezpieczenie dodaje jednak krok dla prawdziwego klienta, więc dobieraj je z głową. O tym, jak utrzymać krótki proces zakupu, piszemy we wpisie o tym, jak skrócić proces zamówienia w WooCommerce.
Mniej danych w sklepie oznacza mniejsze skutki ewentualnego wycieku. WooCommerce w materiałach o RODO podpowiada eksport i archiwizację zrealizowanych zamówień poza stroną. Bezpieczeństwo danych łączy się też ze zgodami na cookies i narzędziami analitycznymi, o czym piszemy w tekście o tym, jak wdrożyć Consent Mode v2 w WooCommerce. Kwestie obowiązków prawnych przy naruszeniu danych skonsultuj ze specjalistą od ochrony danych.
Monitorowanie i regularny przegląd bezpieczeństwa sklepu
Zabezpieczenia działają tylko wtedy, gdy ktoś je sprawdza. Wtyczki bezpieczeństwa wysyłają powiadomienia o nieudanych logowaniach, zmianach plików czy nowych kontach administratorów, ale w wielu sklepach te e-maile trafiają do skrzynki, której nikt nie czyta. Ustal, kto odpowiada za bezpieczeństwo sklepu, i przekieruj alerty na adres tej osoby.
Raz na kwartał przejdź tabelę z listą kontrolną i zapisz wynik. Taki przegląd zajmuje godzinę, a pozwala wyłapać rzeczy, które cicho się psują: kopie zapasowe, które przestały się wykonywać, konto podwykonawcy sprzed roku, klucz API po integracji, z której już nie korzystasz, albo wtyczkę, która od dawna nie dostaje aktualizacji od autora. Przy okazji sprawdź, czy certyfikat SSL odnawia się automatycznie i czy cały sklep, łącznie z panelem, działa wyłącznie przez HTTPS.
Warto też spisać prostą procedurę na wypadek incydentu: kogo powiadomić, gdzie są kopie zapasowe, kto ma dostęp do hostingu i jak skontaktować się z jego wsparciem. W stresie po włamaniu taka kartka oszczędza godziny. Trzymaj ją poza sklepem i poza skrzynką e-mail, do której dostęp mógł zostać przejęty, np. w firmowym menedżerze haseł.
Co zrobić, gdy sklep WooCommerce został zaatakowany
Nawet dobrze zabezpieczony sklep może paść ofiarą ataku. Ważne, żeby szybko rozpoznać objawy i wiedzieć, od czego zacząć. Najczęstsze sygnały i pierwsze kroki:
[#chart:woo65c]
Po opanowaniu sytuacji zmień wszystkie hasła, łącznie z hasłami do bazy danych, SFTP i panelu hostingu, wygeneruj nowe klucze API dla integracji i sprawdź listę administratorów. Jeśli nie masz pewności, co zostało zmienione, przywróć sklep z kopii sprzed ataku, a potem odtwórz zamówienia z okresu po kopii na podstawie danych z bramki płatności i systemu magazynowego.
Jak Vinson pomaga zabezpieczyć sklep WooCommerce
W Vinson budujemy i rozwijamy sklepy na WooCommerce oraz integrujemy je z Allegro i Base. Bezpieczeństwo traktujemy jako część utrzymania sklepu, a nie jednorazowe zadanie. W praktyce:
przeglądamy konta użytkowników, role i klucze REST API,
wdrażamy 2FA, limity logowania i wtyczkę bezpieczeństwa dopasowaną do sklepu,
ustawiamy kopie zapasowe poza serwerem i testujemy ich przywracanie,
aktualizujemy sklep z testami na kopii, tak żeby nie zepsuć płatności i integracji.
Więcej o naszej pracy przeczytasz na stronie sklepy na WooCommerce z Vinson.
Najczęściej zadawane pytania
Jak zabezpieczyć sklep na WooCommerce?
Zacznij od silnych haseł i 2FA dla kont z dostępem do panelu, aktualizacji WordPressa, WooCommerce i wtyczek oraz kopii zapasowych trzymanych poza serwerem. Potem ogranicz uprawnienia użytkowników i kluczy API, włącz limit prób logowania i zaporę oraz wyłącz edycję plików z panelu.
Jaka wtyczka bezpieczeństwa do WooCommerce?
Dokumentacja WooCommerce wymienia m.in. Wordfence, Sucuri i iThemes Security (dziś Solid Security) do skanowania, zapory i ochrony logowania. Wybierz jedną, dopasuj ją do sklepu i sprawdź po wdrożeniu, czy nie blokuje koszyka, zamówienia ani integracji. Żadna wtyczka nie zastąpi aktualizacji i kopii zapasowych.
Jak włączyć 2FA w WordPressie?
WordPress nie ma wbudowanego logowania dwuetapowego, więc potrzebna jest wtyczka, np. Two Factor z repozytorium wordpress.org. Po instalacji każdy użytkownik włącza 2FA w swoim profilu, wybierając np. aplikację uwierzytelniającą. Zapisz kody zapasowe na wypadek utraty telefonu.
Czy WooCommerce jest zgodny z PCI DSS?
Według dokumentacji WooCommerce sam WooCommerce nie jest certyfikowany w PCI DSS, bo nie przetwarza bezpośrednio danych kart. Dane kart obsługuje bramka płatności, więc zgodność zależy głównie od operatora i sposobu integracji. Nie przechowuj numerów kart w sklepie ani w e-mailach.
Co zrobić po włamaniu do sklepu WooCommerce?
Przełącz sklep w tryb serwisowy, zabezpiecz kopię aktualnego stanu do analizy i skontaktuj się z hostingiem. Zmień wszystkie hasła i klucze API, usuń nieznane konta i złośliwy kod albo przywróć sklep z czystej kopii. Jeśli doszło do wycieku danych, skonsultuj obowiązki ze specjalistą od ochrony danych.
Bezpieczeństwo WooCommerce to regularna praca, a nie jednorazowa konfiguracja. Jeśli chcesz przejść listę kontrolną zabezpieczeń w swoim sklepie razem z kimś, kto zna WooCommerce i jego integracje, sprawdź sklep na WooCommerce z Vinson.