Strona na WordPressie zaatakowana, co zrobić w pierwszej kolejności
Jeśli Twoja strona na WordPressie jest zaatakowana, pierwsza zasada jest prosta: nie panikuj i działaj według ustalonej kolejności. Typowy atak polega albo na wstrzyknięciu złośliwego kodu, albo na przejęciu konta administratora, albo na instalacji backdoora ukrytego w plikach. We wszystkich tych przypadkach kolejność działań jest podobna. Najpierw odizolowanie i ocena, potem wyczyszczenie i przywrócenie, a na końcu zabezpieczenie, żeby historia się nie powtórzyła.
Ten artykuł przeprowadzi Cię przez oba etapy, czyli reagowanie na incydent i wdrożenie bezpieczeństwa WordPress na stałe. Jeśli jeszcze nie miałeś włamania, ale chcesz zabezpieczyć stronę zanim do niego dojdzie, ten tekst jest też dla Ciebie.
Skąd wiadomo, że strona WordPress została zaatakowana
Nie każde włamania jest widoczne gołym okiem. Część ataków celowo pozostaje niewidoczna dla właściciela, bo atakujący woli traktować serwer jako narzędzie do spamowania, phishingu lub kopania kryptowalut bez wzbudzania podejrzeń.
Sygnały, które powinny wywołać reakcję:
- Strona wyświetla nieznane treści, reklamy lub przekierowania na inne adresy
- Google Search Console pokazuje ostrzeżenie o złośliwym oprogramowaniu
- Hosting zablokował konto lub zawiesił stronę bez wcześniejszego zgłoszenia
- W wynikach wyszukiwania pod Twoim adresem pojawiają się opisy w innych językach lub niezwiązane z Twoją działalnością
- Wysyłanie formularza kontaktowego powoduje błąd, choć wcześniej działało
- Panel administracyjny WordPress jest niedostępny lub pokazuje błąd
- Dostajesz alerty od Google o nieznanych weryfikacjach w Google Search Console
96%
podatności WordPress
pochodzi z wtyczek, nie z rdzenia systemu
39%
zaatakowanych stron
było nieaktualnych w chwili ataku
4,7 mln
stron WordPress
usuwanych z indeksu Google rocznie z powodu złośliwego kodu
Krok po kroku, jak postępować po wykryciu włamania
Nie próbuj działać na zainfekowanej stronie bez wcześniejszego zabezpieczenia. Oto właściwa kolejność.
- 01
Umieść stronę w trybie konserwacji
Jeśli masz dostęp do panelu WordPress, włącz tryb konserwacji lub zablokuj dostęp przez plik .htaccess albo z poziomu hostingu. Dzięki temu nikt nie zainfekuje się, odwiedzając Twoją stronę w czasie naprawy, a Google nie zindeksuje kolejnych zainfekowanych podstron.
- 02
Zrób kopię zapasową stanu zainfekowanej strony
Zanim cokolwiek zmienisz, zrób pełną kopię plików i bazy danych. Brzmi to paradoksalnie, ale ta kopia może być potrzebna do analizy i porównania z czystą wersją. Nie traktuj jej jako kopii do przywrócenia, tylko jako archiwum do analizy.
- 03
Zmień wszystkie hasła natychmiast
Hasło do panelu WordPress, hasło do bazy danych w pliku wp-config.php, hasło do FTP lub SSH, hasło do panelu hostingowego. Wszystkie naraz, zanim zaczniesz cokolwiek naprawiać. Stare hasła mogą być już w rękach atakującego.
- 04
Przywróć kopię zapasową z okresu przed atakiem
Jeśli masz regularną kopię zapasową sprzed włamania, to jest najszybsza droga do czystej strony. Upewnij się, że kopie robisz na zewnętrzny serwer lub chmurę, a nie tylko na ten sam hosting. Kopia na tym samym serwerze może być zainfekowana razem ze stroną.
- 05
Zeskanuj stronę wtyczką do bezpieczeństwa
Jeśli nie masz czystej kopii do przywrócenia, zainstaluj Wordfence Security i uruchom pełne skanowanie. Wordfence porównuje pliki WordPress z oryginalnymi wersjami z repozytorium i wskazuje zmienione lub dodane pliki. Zmodyfikowane pliki rdzenia WordPress wymagają zastąpienia oryginałami.
- 06
Sprawdź użytkowników administratorów
Zaloguj się do panelu i sprawdź listę użytkowników z rolą Administrator. Usuń każde konto, którego nie rozpoznajesz. Atakujący często dodają konto administratora jako backdoor, żeby zachować dostęp po usunięciu złośliwego kodu.
- 07
Zgłoś do Google prośbę o ponowny przegląd
Jeśli strona trafiła na listę złośliwego oprogramowania i wyświetla ostrzeżenie w przeglądarce, po wyczyszczeniu złóż wniosek o ponowny przegląd w Google Search Console przez sekcję Problemy z bezpieczeństwem. Google zazwyczaj reaguje w ciągu kilku dni.
Jak oczyścić zainfekowany WordPress bez kopii zapasowej
Sytuacja jest trudniejsza, gdy nie masz czystej kopii. Można ją jednak rozwiązać metodycznie.
Zastąpienie plików rdzenia WordPress
Pobierz czystą wersję WordPress z wordpress.org w tej samej wersji, co zainfekowana instalacja. Zastąp pliki rdzenia, czyli katalogi wp-admin i wp-includes oraz pliki w katalogu głównym z wyjątkiem wp-config.php i .htaccess. Nie dotykaj katalogu wp-content, bo tam są Twoje treści, motywy i wtyczki.
Sprawdzenie katalogu wp-content
Katalog wp-content zawiera motywy, wtyczki i pliki mediów. To tutaj najczęściej ukrywa się złośliwy kod. Każdą wtyczkę i motyw, który nie pochodzi z oficjalnego repozytorium lub od sprawdzonego producenta, traktuj jako podejrzany. Usuń wtyczki i motywy, których nie używasz. Zainstaluj je od nowa z czystych źródeł zamiast próbować naprawiać zainfekowane pliki.
Sprawdzenie bazy danych
Złośliwy kod może być wstrzyknięty do bazy danych, szczególnie do treści wpisów, widgetów lub ustawień motywu. Szukaj podejrzanych wpisów zawierających tagi script, eval, base64_decode lub zewnętrzne adresy URL w polach, gdzie ich nie powinno być. Wordfence lub Sucuri Scanner potrafią przeskanować też bazę danych.
Bezpieczeństwo WordPress, jak zapobiegać atakom na stałe
Włamania na strony WordPress niemal nigdy nie są przypadkowe. Atakują boty, które automatycznie skanują internet w poszukiwaniu znanych luk w popularnych wtyczkach i nieaktualnych instalacjach. Jeśli Twoja strona ma niezałataną lukę, bot ją znajdzie w ciągu godzin lub dni od jej upublicznienia.
Dobra wiadomość jest taka, że zdecydowana większość ataków można zatrzymać przez kilka podstawowych działań.
Regularne aktualizacje
Rdzeń WordPress, wtyczki i motyw. Raz w miesiącu wystarczy dla typowej strony firmowej. Krytyczne poprawki bezpieczeństwa warto wdrażać szybciej.
Silne hasła i 2FA
Unikalne hasło do panelu WordPress i włączone uwierzytelnianie dwuskładnikowe. Wtyczki takie jak Two Factor Authentication lub Wordfence obsługują 2FA bez konfiguracji technicznej.
Wtyczka bezpieczeństwa
Wordfence lub Sucuri zapewniają zaporę sieciową, skaner złośliwego kodu i blokowanie prób brutalnego włamania. Jedna wtyczka, skonfigurowana raz, pracuje w tle.
Automatyczne kopie zapasowe
Codzienne kopie poza serwerem. UpdraftPlus z Google Drive lub Dropbox to bezpłatne rozwiązanie, które działa automatycznie i pozwala przywrócić stronę w kilka minut.
Mniej wtyczek
Każda zainstalowana wtyczka to potencjalna luka. Usuń to, czego nie używasz, szczególnie nieaktywne wtyczki i motywy. Zostaw tylko sprawdzone rozwiązania z aktywnym wsparciem.
Ukrycie strony logowania
Zmiana domyślnego adresu /wp-admin na niestandardowy znacząco ogranicza ruch botów atakujących panel. Wtyczka WPS Hide Login robi to jednym kliknięciem.
Aktualizacje, fundament bezpieczeństwa WordPress
Badania branżowe konsekwentnie pokazują, że 96 procent podatności w ekosystemie WordPress pochodzi z wtyczek, a nie z rdzenia systemu. 39 procent zaatakowanych stron było nieaktualnych w chwili ataku. Jeśli aktualizujesz wtyczki i motyw regularnie, eliminujesz główne wejście dla atakujących.
Praktyczna zasada: aktualizacje rdzenia WordPress i krytyczne poprawki wtyczek wdrażaj jak najszybciej po publikacji. Pozostałe aktualizacje raz w miesiącu, po sprawdzeniu, że nie ma doniesień o konfliktach.
Automatyczne aktualizacje rdzenia są domyślnie włączone dla drobnych poprawek bezpieczeństwa. Dla dużych aktualizacji wersji (np. WordPress 6.4 do 6.5) warto przeprowadzić je ręcznie, po wcześniejszym wykonaniu kopii zapasowej.
Silne hasła i uwierzytelnianie dwuskładnikowe
Ataki brute force na panel WordPress to jeden z najczęstszych rodzajów ataków, które boty przeprowadzają automatycznie. Próbują dziesiątek tysięcy kombinacji loginu i hasła na godzinę. Dwa działania całkowicie je neutralizują.
Po pierwsze, unikalne i trudne hasło dla każdego konta administratora. Minimum 16 znaków, losowe, przechowywane w menedżerze haseł. Żadne słownikowe słowo ani kombinacja z datą urodzin.
Po drugie, uwierzytelnianie dwuskładnikowe (2FA). Wtyczka Two Factor Authentication lub Wordfence dodaje drugi krok przy logowaniu, który wymaga kodu z aplikacji na telefonie. Bez tego kodu nawet znajomość hasła nie wystarczy, żeby się zalogować.
Zmiana domyślnej nazwy użytkownika "admin" na unikalną nazwę to kolejne działanie, które eliminuje połowę zadania dla atakujących. WordPress pozwala to zmienić po zalogowaniu lub przez bazę danych.
Zabezpieczenie pliku wp-config.php i .htaccess
Plik wp-config.php zawiera dane dostępowe do bazy danych i klucze bezpieczeństwa WordPress. Plik .htaccess kontroluje reguły dostępu na poziomie serwera. Oba powinny być chronione.
Podstawowe zabezpieczenia przez .htaccess:
# Blokuj bezpośredni dostęp do wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>
# Wyłącz przeglądanie katalogów
Options -Indexes
# Zablokuj dostęp do pliku xmlrpc.php jeśli nie jest używany
<files xmlrpc.php>
order deny,allow
deny from all
</files>
Plik xmlrpc.php to kolejna częsta droga włamania. Jeśli nie korzystasz z aplikacji mobilnej WordPress ani z Jetpack, możesz go całkowicie zablokować.
Wpływ włamania na pozycje w Google
Zaatakowana strona to problem nie tylko techniczny, ale też widoczności w wyszukiwarce. Google regularnie skanuje strony w poszukiwaniu złośliwego kodu i przekierowań. Strona zidentyfikowana jako niebezpieczna trafia na listę Safe Browsing Google i zaczyna wyświetlać ostrzeżenie w przeglądarce przed otwarciem.
Konsekwencje dla SEO są poważne. Pierwsze trzy wyniki organiczne zbierają łącznie ponad połowę wszystkich kliknięć na daną frazę (Backlinko, Google CTR Stats). Strona z ostrzeżeniem "Ta strona może być niebezpieczna" zgarnie z tej puli praktycznie zero. Nawet po usunięciu zagrożenia i złożeniu wniosku o ponowny przegląd, odbudowa zaufania Google zajmuje czas.
Złośliwy kod, który generuje ukryte linki wychodzące lub tworzy nowe podstrony ze spamem, może też prowadzić do manualnej kary od Google. Kary manualne wymagają osobnego wniosku o reconsideration i mogą utrzymywać się przez tygodnie po wyczyszczeniu. (Google Search Central)
Jeśli chcesz wiedzieć, jak budować widoczność w wyszukiwarce na solidnym fundamencie technicznym, zajrzyj do naszego przewodnika jak wypozycjonować firmę lokalnie lub sprawdź, jak działamy w Twoim mieście: Warszawa, Kraków, Wrocław, Poznań.
Regularna opieka techniczna, czyli jak nie wracać do tego tematu
Bezpieczeństwo WordPress to nie projekt, który ma koniec. To powtarzalny proces. Strony bez opiekuna technicznego prędzej czy później są atakowane, bo boty skanujące internet nie śpią.
Minimalny zestaw czynności, który chroni typową stronę firmową:
- Aktualizacje wtyczek i motywu raz w miesiącu
- Weryfikacja kopii zapasowych raz w miesiącu, czy są aktualne i kompletne
- Sprawdzenie Google Search Console w poszukiwaniu ostrzeżeń o bezpieczeństwie raz w miesiącu
- Zmiana haseł do panelu WordPress i hostingu raz na pół roku
- Audyt zainstalowanych wtyczek raz na pół roku, usunięcie nieużywanych
Jeśli nie masz czasu ani zasobów, żeby robić to samodzielnie, opieka techniczna prowadzona przez agencję to rozsądna inwestycja. Koszt miesięcznej opieki jest wielokrotnie niższy niż koszt odbudowy strony po skutecznym ataku.
Więcej o tym, co ma sens technicznie przy budowie i utrzymaniu strony, piszemy w artykule wordpress czy strona kodowana. Jeśli zastanawiasz się, jak zbudować stronę pod widoczność lokalną, przeczytaj też jak zbudować stronę pod pozycjonowanie lokalne. Koszty utrzymania strony omawia osobny artykuł: ile kosztuje utrzymanie strony internetowej rocznie.
11
Najczęstsze pytania
Jak sprawdzić, czy strona WordPress została zaatakowana?
Objawy to między innymi nieznane treści lub przekierowania, ostrzeżenia w Google Search Console, blokada konta przez hosting i zmiany w wynikach wyszukiwania pod Twoim adresem. Możesz też uruchomić darmowy skaner, na przykład Sucuri SiteCheck, który skanuje publicznie dostępne zasoby strony bez logowania do panelu.
Co robić, jeśli nie mam kopii zapasowej przed atakiem?
Zacznij od zmiany wszystkich haseł, zamknięcia dostępu do strony i uruchomienia skanowania przez Wordfence lub Sucuri. Zastąp pliki rdzenia WordPress czystą wersją z oficjalnego źródła. Sprawdź listę użytkowników administratorów i usuń nieznane konta. Jeśli skala infekcji jest duża, rozważ zlecenie sprzątania specjalistom, bo niekompletne wyczyszczenie pozostawia backdoory.
Ile trwa przywrócenie widoczności w Google po ataku?
To zależy od czasu trwania infekcji i zakresu uszkodzeń. Jeśli strona była zainfekowana krótko i złożysz wniosek o ponowny przegląd przez Google Search Console zaraz po wyczyszczeniu, Google zwykle odpowiada w ciągu kilku dni. Jeśli infekcja trwała długo i prowadziła do generowania spamowych podstron lub ukrytych linków, odbudowa może potrwać kilka tygodni.
Czy zmiana motywu lub wtyczki może być przyczyną włamania?
Tak, zwłaszcza jeśli używasz wtyczek lub motywów pobranych z nieoficjalnych źródeł, tak zwanych nulled plugins, czyli pirackich kopii płatnych rozwiązań. Takie paczki bardzo często zawierają celowo wstrzyknięty złośliwy kod. Kupuj wtyczki tylko z oficjalnego repozytorium WordPress.org lub od sprawdzonych producentów przez ich oficjalne strony.