Przekierowania na obce strony, nagłe spowolnienie witryny, nowe konta administratorów albo ostrzeżenie od Google to sygnały, że WordPress wymaga skanowania. Zacznij od pełnej kopii plików i bazy danych, a dopiero potem sprawdzaj witrynę kilkoma metodami. Sam skaner we wtyczce nie daje pewności, że wykryje każdą infekcję.
Kiedy wykonać WordPress malware scan?
Skanowanie uruchom nie tylko po potwierdzonym włamaniu. Warto zrobić je także wtedy, gdy zachowanie strony zmieniło się bez wyraźnej przyczyny. Najczęstsze sygnały ostrzegawcze to:
- Niewyjaśnione przekierowania użytkowników do obcych lub phishingowych witryn.
- Nagły spadek wydajności strony albo nietypowe obciążenie serwera.
- Powiadomienie od Google o złośliwym oprogramowaniu, wyłudzaniu danych lub dodaniu witryny do blacklisty.
- Informacja od hostingu o podejrzanych procesach, plikach lub naruszeniu zasad bezpieczeństwa.
- Nieznane pliki w katalogach WordPressa albo nowe konta z uprawnieniami administratora.
Infekcja może znajdować się w pliku PHP, bazie danych, konfiguracji serwera, pliku .htaccess, a nawet w pliku obrazu, którego rozszerzenie nie sugeruje wykonywania kodu. Dlatego pojedynczy szybki test nie powinien być traktowany jako ostateczne potwierdzenie bezpieczeństwa.
Jak przygotować witrynę do skanowania?
Przed rozpoczęciem przygotuj środowisko tak, aby wynik skanowania można było przeanalizować bez ryzyka utraty danych. Lista kontrolna obejmuje:
- Wykonaj pełną kopię plików witryny, w tym katalogu
wp-content, oraz osobny eksport bazy danych. - Zapisz kopię poza serwerem, aby infekcja nie uszkodziła jedynego dostępnego backupu.
- Sprawdź, czy masz dostęp do panelu hostingu, FTP lub SSH oraz danych logowania do bazy.
- Wyloguj użytkowników i ogranicz równoczesne zmiany w panelu administracyjnym.
- Zanotuj aktualny stan witryny, w tym objawy, datę ich wystąpienia i ostatnie instalowane rozszerzenia.
Nigdy nie usuwaj złośliwego kodu bez aktualnej kopii zapasowej całej witryny. Automatyczne czyszczenie może usunąć fragment legalnego kodu, uszkodzić motyw albo przerwać działanie wtyczki. Backup pozwala przywrócić stronę i porównać pliki, jeśli narzędzie wskaże fałszywy alarm.
Jak wykonać skanowanie za pomocą wtyczki?
Wtyczka bezpieczeństwa jest dobrym pierwszym krokiem, ponieważ sprawdza pliki z poziomu panelu WordPressa i może porównać je z wersjami referencyjnymi. Do tego celu można wykorzystać między innymi Wordfence, WP Cerber lub WordPress Doctor Malware Scanner. Nazwy ustawień różnią się między narzędziami, ale procedura wygląda podobnie:
- Zaktualizuj wtyczkę – korzystaj z aktualnej wersji pobranej z zaufanego źródła. Przed instalacją sprawdź, czy masz działającą kopię zapasową.
- Uruchom pełne skanowanie – wybierz tryb obejmujący pliki WordPressa, wtyczki, motywy, katalogi tymczasowe, bazę danych oraz plik
.htaccess, jeśli narzędzie oferuje takie opcje. - Włącz kontrolę integralności – skaner może porównywać pliki rdzenia z wersją z oficjalnego repozytorium. Niezgodność sumy kontrolnej oznacza, że plik różni się od wersji referencyjnej.
- Sprawdź pliki nowe i nieznane – tak zwany „nienadzorowany podejrzany plik” nie musi być malware, ale powinien zostać ręcznie zweryfikowany.
- Przeanalizuj wynik przed usunięciem – sprawdź ścieżkę pliku, fragment kodu, datę modyfikacji i źródło rozszerzenia. Nie zatwierdzaj automatycznego czyszczenia bez oceny raportu.
- Ustaw harmonogram – po zakończeniu analizy włącz cykliczne szybkie skany oraz pełne skanowanie w odstępach oferowanych przez daną wtyczkę. Raporty e-mail powinny informować przynajmniej o nowych problemach i zmianach w plikach.
Suma kontrolna jest technicznym odciskiem pliku. Jeżeli plik rdzenia WordPressa różni się od wersji przechowywanej w oficjalnym repozytorium, może to oznaczać modyfikację po włamaniu, ale nie zawsze dowodzi infekcji. Zmiana może wynikać także z legalnej edycji lub niestandardowej dystrybucji.
Fałszywy alarm występuje wtedy, gdy skaner uznaje prawidłowy kod za podejrzany. Dotyczy to między innymi niestandardowych wtyczek, zakodowanych fragmentów PHP i rozszerzeń instalowanych ręcznie. Wynik trzeba potwierdzić przez porównanie z dokumentacją producenta, repozytorium lub czystą kopią pliku. Skanowanie może też chwilowo zwiększyć obciążenie serwera, więc na hostingu z ograniczonymi zasobami obserwuj zużycie CPU i pamięci.
Która metoda skanowania jest najlepsza?
Najlepsze rezultaty daje połączenie kilku warstw. Wtyczka widzi zawartość instalacji, skaner zewnętrzny ogląda stronę z perspektywy użytkownika, a analiza serwerowa może ujawnić aktywność niewidoczną w panelu WordPressa.
| Metoda | Łatwość | Dokładność | Zastosowanie |
|---|---|---|---|
| Wtyczka w WordPressie | Wysoka | Dobra, ale zależna od konfiguracji i sygnatur | Kontrola plików, integralności, zmian i znanego podejrzanego kodu |
| Skaner zewnętrzny, np. Sucuri lub VirusTotal | Wysoka | Ocenia głównie to, co widoczne z Internetu | Blacklisty, przekierowania, nagłówki i zawartość dostarczaną odwiedzającym |
| Analiza serwera i logów | Średnia lub niska | Duża przy właściwej interpretacji | Ślady włamania, żądania HTTP, nowe procesy, modyfikacje plików i backdoory |
WP Cerber może kontrolować pliki rdzenia, motywów i wtyczek, wykrywać nowe pliki oraz podejrzane dyrektywy w .htaccess. Przy automatycznych skanach usługa korzysta z harmonogramu, a według dostarczonej dokumentacji szybkie skanowanie może być uruchamiane nawet raz na godzinę, natomiast pełne skanowanie raz dziennie. Nie należy jednak przenosić tych ustawień bezpośrednio na inne narzędzia.
WordPress Doctor Malware Scanner analizuje pliki i bazę danych według wzorców złośliwego kodu, a wyniki rozdziela na mechaniczne dopasowanie wzorca i późniejszą diagnozę. Takie rozwiązanie może ułatwić znalezienie podejrzanej linii, lecz sama obecność dopasowania nie zastępuje ręcznej weryfikacji. Żaden skaner nie gwarantuje wykrycia każdej infekcji.
Co zrobić po wykryciu złośliwego kodu?
Nie ograniczaj się do usunięcia jednego wskazanego pliku. Backdoor może pozostawić dodatkowe konta, zmienione reguły przekierowań albo kod w bazie danych, który odtworzy infekcję.
Postępuj w następującej kolejności:
- Odizoluj witrynę – w razie aktywnego ataku włącz tryb konserwacji lub ogranicz dostęp, zachowując możliwość pracy administratora.
- Zabezpiecz dostęp – zmień hasła do WordPressa, hostingu, FTP, SSH, bazy danych i skrzynek powiązanych z administracją.
- Zweryfikuj konta – usuń nieznanych administratorów i sprawdź, czy istnieją użytkownicy utworzeni bez zgody właściciela.
- Odtwórz rdzeń WordPressa – przy potwierdzonych zmianach pobierz czystą wersję tej samej gałęzi lub użyj funkcji ponownej instalacji rdzenia.
- Przejrzyj motywy i wtyczki – zaktualizuj je, usuń nieużywane rozszerzenia i pobierz pliki ponownie z wiarygodnego źródła.
- Sprawdź bazę danych – wyszukaj obce skrypty, zmienione adresy witryny, nieznane wpisy i treści dodane do postów lub widżetów.
- Przeanalizuj logi – ustal, kiedy doszło do modyfikacji i z jakich adresów wykonywano podejrzane żądania.
- Przeskanuj stronę ponownie – po naprawie użyj wtyczki, skanera zewnętrznego i, jeśli to możliwe, kontroli po stronie serwera.
Jeśli objawy wracają, infekcja obejmuje pliki PHP, bazę danych lub nie masz doświadczenia w ich edycji, zleć analizę administratorowi albo specjaliście od bezpieczeństwa. Usunięcie widocznego fragmentu nie musi oznaczać usunięcia mechanizmu, który ponownie zapisuje złośliwy kod.
Jak ograniczyć ryzyko kolejnej infekcji?
Po oczyszczeniu witryny utrzymuj kilka niezależnych warstw ochrony:
- Instaluj aktualizacje WordPressa, motywów i wtyczek możliwie szybko po ich sprawdzeniu.
- Stosuj unikalne, silne hasła oraz uwierzytelnianie dwuskładnikowe dla kont administracyjnych.
- Ogranicz dostęp do
wp-admini monitoruj logowania oraz zmiany plików. - Usuwaj nieużywane wtyczki i motywy zamiast pozostawiać je wyłączone.
- Wybierz hosting z aktualnym środowiskiem, izolacją kont, kopiami zapasowymi i dostępem do logów.
- Utrzymuj harmonogram skanów oraz testuj, czy raporty e-mail rzeczywiście docierają.
Najbezpieczniejszy schemat to backup, pełne skanowanie wtyczką, kontrola zewnętrzna, analiza serwera i dopiero potem naprawa. Dzięki temu łatwiej odróżnić pojedynczy fałszywy alarm od rzeczywistej, wielowarstwowej infekcji.