Jak odzyskać stronę WordPress po ataku hakerskim
Działaj szybko i metodycznie — ten przewodnik krok po kroku pomoże Ci przywrócić stronę do sprawności po incydencie bezpieczeństwa.
Spis treści
- Jak rozpoznać atak na stronę WordPress
- Pierwsze kroki po wykryciu ataku
- Jak wyczyścić zainfekowany WordPress
- Jak przywrócić stronę z backupu
- Często zadawane pytania
Jak rozpoznać atak na stronę WordPress
Odzyskiwanie WordPress po ataku hakerskim wymaga przede wszystkim szybkiego i pewnego rozpoznania, że doszło do incydentu bezpieczeństwa — każda godzina zwłoki oznacza więcej potencjalnych ofiar wśród odwiedzających Twoją stronę i głębsze zakorzenienie złośliwego kodu w plikach. Bezpieczeństwo WordPress zaczyna się od czujności i znajomości sygnałów ostrzegawczych.
Najbardziej oczywiste oznaki włamania to: strona wyświetla nieznane treści — spam, linki do aptek, kasyn, albo strony phishingowe. Odwiedzający są automatycznie przekierowywani na inne witryny. Na stronie pojawia się komunikat Google "Ta strona może zaszkodzić Twojemu komputerowi". Twoja firma hostingowa (smartxhosting.pl) wysyła alert o wykryciu malware lub zawiesza konto.
Subtelniejsze sygnały, które łatwo przeoczyć: w panelu WordPress pojawiły się nowe konta administratorów, których nie zakładałeś. Strona nagle działa znacznie wolniej niż zazwyczaj (złośliwy kod może kopać kryptowalutę lub rozsyłać spam). Otrzymujesz skargi od użytkowników, że ich antywirus blokuje Twoją stronę. W Google Search Console pojawia się powiadomienie o problemach z bezpieczeństwem. Analizuj te sygnały regularnie — wczesne wykrycie ataku dramatycznie skraca czas odbudowy.
Pierwsze kroki po wykryciu ataku
To absolutny priorytet — zanim zaczniesz cokolwiek czyścić. Zmień hasła do: panelu administracyjnego WordPress (wszystkich kont), bazy danych MySQL (w Plesk → Bazy danych), konta FTP/SFTP, panelu Plesk. Jeśli używasz tych samych haseł w innych serwisach, zmień je tam również. Haker, który ma aktualne hasła, może wrócić i ponownie zainfekować stronę nawet po jej wyczyszczeniu.
Wyłącz stronę dla odwiedzających, aby nie były narażeni na złośliwy kod. Możesz to zrobić przez wtyczkę trybu konserwacji lub bezpośrednio w Plesk — zmień uprawnienia katalogów tak, by strona zwracała kod 503. Jeśli masz kilka domen na koncie i tylko jedna jest zainfekowana, możesz odizolować tylko ją. Powiadom swoją firmę hostingową (smartxhosting.pl) — obsługa techniczna może pomóc w izolacji i diagnostyce.
Paradoksalnie, zainfekowaną stronę warto najpierw zbackupować — nie po to, żeby ją przywracać, ale żeby mieć materiał do analizy. Zapisz logi dostępu (access_log) z Plesk — zawierają informacje o tym, kiedy i przez jakie żądanie nastąpiło włamanie. Te dane pomogą zrozumieć, jaką lukę wykorzystał haker, i zapobiec ponownemu atakowi. Zrób też zrzuty ekranu zainfekowanych stron jako dokumentację.
Jak wyczyścić zainfekowany WordPress
Czyszczenie zainfekowanego WordPress to wymagający proces, który wymaga metodycznego podejścia. Masz dwie główne opcje: ręczne czyszczenie plików lub przywrócenie czystego backupu. Ręczne czyszczenie jest bardziej pracochłonne, ale konieczne, gdy nie masz aktualnego backupu lub gdy infekcja jest stosunkowo powierzchowna.
Zacznij od uruchomienia skanera Wordfence (jeśli masz dostęp do panelu WordPress) lub skanera Imunify360 dostępnego w panelu Plesk. Wordfence wskaże dokładne pliki z złośliwym kodem — możesz je zobaczyć w wynikach skanu z możliwością naprawy lub usunięcia. Dla plików rdzenia WordPress (wp-admin/, wp-includes/) Wordfence oferuje automatyczną naprawę — pobierze oryginalne pliki z repozytorium WordPress i zastąpi nimi zmodyfikowane.
Dla zainfekowanych plików motywów i wtyczek najlepiej pobrać świeże kopie z wordpress.org lub od producenta i zastąpić nimi zainfekowane wersje. Nie próbuj ręcznie usuwać złośliwego kodu z pliku, jeśli nie masz doświadczenia w PHP — ryzykujesz pominięcie ukrytych fragmentów lub uszkodzenie pliku. Sprawdź też bazę danych: zaloguj się do phpMyAdmin w Plesk i przeszukaj tabelę wp_options pod kątem podejrzanych wpisów, a tabele wp_posts i wp_postmeta pod kątem ukrytych linków lub skryptów JavaScript.
Po wyczyszczeniu wszystkich plików uruchom kolejny pełny skan Wordfence i zewnętrzny skaner Sucuri SiteCheck (sitecheck.sucuri.net) — poczekaj 30 minut po wyczyszczeniu, by cache Sucuri się zaktualizował. Jeśli oba skanery potwierdzają czystość strony, możesz ją ponownie udostępnić publicznie.
Jak przywrócić stronę z backupu
Przywrócenie strony z czystego backupu jest często najszybszą i najskuteczniejszą metodą — szczególnie przy rozległych infekcjach. Kluczowe pytanie: kiedy był wykonany ostatni backup sprzed infekcji? Jeśli infekcja trwała kilka dni lub tygodni, backup sprzed tygodnia może być już zainfekowany. Przejrzyj kilka backupów i wybierz najnowszy sprzed daty, w której zauważyłeś pierwsze oznaki ataku.
Zaloguj się do panelu Plesk. Przejdź do Backup Manager wybranej domeny. Przeglądnij listę dostępnych backupów — będą posortowane chronologicznie. Wybierz backup z daty sprzed zauważonych problemów. Jeśli masz backupy z ostatnich 7 dni i infekcja nastąpiła 2 dni temu, bezpiecznym wyborem będzie backup sprzed 3 lub więcej dni. Kliknij wybrany backup, by zobaczyć jego szczegóły (rozmiar, zawartość).
Kliknij przycisk "Restore" (Przywróć) przy wybranym backupie. Plesk wyświetli opcje przywracania: możesz przywrócić pliki i bazę danych, tylko pliki lub tylko bazę danych. Wybierz "Restore selected components" i zaznacz zarówno pliki strony, jak i bazę danych — tylko pełne przywrócenie gwarantuje spójność. Kliknij "Restore" i potwierdź operację. Proces przywracania trwa zazwyczaj 5-15 minut zależnie od rozmiaru backupu.
Po przywróceniu backupu Twoja strona jest w czystym stanie, ale może mieć stare wersje WordPressa i wtyczek — przez które pierwotnie nastąpił atak. Niezwłocznie zaloguj się do panelu WordPress i zaktualizuj WordPress rdzeń, wszystkie wtyczki i motywy do najnowszych wersji. Usuń wszelkie nieużywane lub podejrzane wtyczki. Zainstaluj i skonfiguruj Wordfence, jeśli nie był wcześniej aktywny — i od razu uruchom pełne skanowanie przywróconej instalacji.
Często zadawane pytania
Jak długo trwa odzyskanie zhakowanego WordPress?
Czas odzyskania zhakowanego WordPress zależy od metody i stopnia zainfekowania. Przywrócenie ze świeżego, czystego backupu przez Plesk zajmuje zazwyczaj 15-30 minut. Ręczne czyszczenie zainfekowanej instalacji może trwać od kilku godzin do kilku dni — szczególnie przy zaawansowanych infekcjach z wieloma backdoorami ukrytymi w różnych plikach. Dlatego regularne backupy są fundamentem bezpieczeństwa WordPress: zmniejszają czas przestoju z potencjalnych dni do kilkudziesięciu minut.
Czy po wyczyszczeniu WordPress z malware strona jest z powrotem bezpieczna?
Wyczyszczenie WordPress z malware i zmiana haseł to dopiero początek przywracania bezpieczeństwa. Musisz też znaleźć i załatać pierwotną lukę, przez którą haker dostał się na stronę — w przeciwnym razie zostanie zainfekowana ponownie, często w ciągu kilku godzin. Przeprowadź audyt wtyczek i motywów, zaktualizuj WordPress do najnowszej wersji, sprawdź logi dostępu i wzmocnij bezpieczeństwo WordPress według sprawdzonych zasad.
Co zrobić, gdy Google oznaczyło moją stronę jako niebezpieczną?
Jeśli Google oznaczyło Twoją stronę jako niebezpieczną, najpierw wyczyść stronę z malware. Następnie zaloguj się do Google Search Console, przejdź do zakładki Bezpieczeństwo, kliknij "Poproś o weryfikację" — Google zazwyczaj weryfikuje stronę w ciągu 1-3 dni roboczych i usuwa ostrzeżenie po potwierdzeniu czystości strony. Proces może trwać do 72 godzin. Możesz też skorzystać z narzędzia Google Safe Browsing (transparencyreport.google.com) do weryfikacji statusu swojej domeny.
Potrzebujesz pomocy z hostingiem WordPress?
Zespół smartxhosting.pl pomoże Ci skonfigurować i zarządzać hostingiem WordPress na serwerze Plesk. Tani hosting WordPress od 10 zł/miesiąc z darmowym SSL i codziennym backupem.
Skontaktuj się z nami