Podejrzane przekierowania, nieznani użytkownicy, błędy 500 lub nowe pliki na serwerze mogą oznaczać infekcję WordPressa. Skanowanie warto oprzeć na dwóch metodach: porównaniu plików z wersją referencyjną oraz analizie heurystycznej wykrywającej podejrzany kod. Gdy skaner zgłosi problem, najpierw wykonaj kopię zapasową, a dopiero później izoluj i usuwaj zagrożenie.
Po czym poznać, że WordPress może być zainfekowany?
Infekcja nie zawsze powoduje natychmiastowe wyłączenie strony. Czasem złośliwy kod działa w tle, tworzy ukryte konto administratora albo przekierowuje tylko część odwiedzających. Na podejrzane zmiany wskazują przede wszystkim:
- Niespodziewane przekierowania na obce strony, wyskakujące reklamy lub ostrzeżenia przeglądarki.
- Nieoczekiwane zmiany treści, wyglądu albo adresów podstron.
- Błędy krytyczne WordPressa, błędy 500, 403 lub problemy z połączeniem z bazą danych.
- Nieznane pliki i katalogi, zmodyfikowane pliki systemowe albo nagły wzrost zużycia zasobów serwera.
- Nowe wtyczki, motywy, konta użytkowników lub zmienione ustawienia w panelu administracyjnym.
Jakie są metody skanowania WordPressa?
Skanowanie wewnętrzne uruchamia się na serwerze, zwykle za pomocą wtyczki bezpieczeństwa. Sprawdza ono pliki rdzenia WordPressa, motywów i wtyczek, a także może analizować dodatkowe katalogi. Skanowanie zewnętrzne odwiedza stronę z perspektywy użytkownika lub bota i ocenia to, co jest dostępne przez Internet.
| Metoda | Co sprawdza | Główne zalety |
|---|---|---|
| Skaner wewnętrzny | Pliki na serwerze, zmiany w kodzie, nowe pliki, sygnatury malware i integralność komponentów. | Wykrywa zmiany niewidoczne w kodzie HTML strony i pozwala analizować pliki bezpośrednio. |
| Skaner zewnętrzny | Publiczne podstrony, kod HTML, JavaScript, iframe, zasoby oraz obecność na czarnych listach. | Pokazuje, jak stronę widzą odwiedzający, roboty i zewnętrzne systemy bezpieczeństwa. |
| Połączenie obu metod | Stan plików oraz zachowanie strony dostępnej z Internetu. | Zmniejsza ryzyko przeoczenia infekcji ukrytej w plikach albo widocznej dopiero po wejściu na stronę. |
Ważnym elementem skanowania wewnętrznego jest weryfikacja integralności plików. Skaner oblicza sumę kontrolną pliku i porównuje ją z wersją referencyjną, na przykład pochodzącą z oficjalnego repozytorium WordPress. Nawet niewielka zmiana w kodzie może spowodować niezgodność. Taki wynik nie zawsze oznacza malware, ponieważ plik mógł zostać legalnie zmodyfikowany, ale wymaga sprawdzenia.
Drugim filarem jest analiza heurystyczna. Zamiast porównywać plik wyłącznie z gotowym wzorcem, szuka ona podejrzanych funkcji, instrukcji i zachowań typowych dla złośliwego oprogramowania, w tym backdoorów, czyli ukrytych mechanizmów dostępu. Integralność i heurystyka uzupełniają się, ponieważ pierwsza wykrywa nieautoryzowane zmiany, a druga może wskazać podejrzany kod także w komponentach spoza oficjalnego repozytorium.
Do skanowania wewnętrznego można wykorzystać narzędzia takie jak Cerber Security Scanner lub inne sprawdzone wtyczki bezpieczeństwa. W przypadku komercyjnych motywów i wtyczek skaner może nie mieć publicznej wersji referencyjnej, dlatego niezgodność trzeba ocenić na podstawie dokumentacji dostawcy albo oryginalnego archiwum instalacyjnego.
Co zrobić, gdy skaner wykryje zagrożenie?
Nie usuwaj plików automatycznie tylko dlatego, że zostały oznaczone jako podejrzane. Najpierw sprawdź raport, źródło pliku i jego funkcję. Szczególną ostrożność zachowaj przy plikach konfiguracyjnych.
Przed usunięciem któregokolwiek pliku wykonaj pełną kopię zapasową bazy danych i plików. Nawet zainfekowana kopia może pomóc odtworzyć treść, porównać zmiany lub przywrócić plik usunięty przez pomyłkę.
- Wykonaj kopię zapasową – zapisz bazę danych, pliki strony i kopię poza serwerem. Oznacz ją jako potencjalnie zainfekowaną, aby nie pomylić jej z czystym backupem.
- Przeanalizuj raport – sprawdź ścieżki plików, typ zgłoszenia, datę modyfikacji i informację, czy problem dotyczy niezgodnej sumy kontrolnej, podejrzanego kodu czy nieznanego pliku.
- Ogranicz dostęp – tymczasowo włącz tryb konserwacji, ogranicz dostęp do panelu i sprawdź aktywne sesje. Zabezpiecz stronę przed dalszym wykorzystaniem, ale nie kasuj danych bez potwierdzenia.
- Usuń lub zastąp zainfekowane elementy – pliki rdzenia, wtyczek i motywów najlepiej zastąpić czystymi wersjami z zaufanego źródła. Podejrzane pliki spoza instalacji usuń dopiero po analizie.
- Sprawdź użytkowników i hasła – usuń nieznane konta, zweryfikuj role administratorów i zmień hasła do WordPressa, hostingu, FTP, bazy danych oraz skrzynek używanych do zarządzania stroną.
Nie usuwaj bez pełnej wiedzy pliku wp-config.php. Zawiera dane połączenia z bazą oraz ustawienia instalacji, a jego skasowanie może unieruchomić stronę lub doprowadzić do utraty konfiguracji. Sprawdź również plik .htaccess i pliki functions.php, lecz każdą zmianę wykonuj po zapisaniu kopii oryginału.
Jeśli infekcja wraca po oczyszczeniu, problem może znajdować się w nieaktualnej wtyczce, koncie administratora, zadaniu cron, pliku konfiguracyjnym albo kopii używanej do odtworzenia strony. Przy braku doświadczenia z reinstalacją rdzenia i analizą logów bezpieczniej zlecić audyt osobie zajmującej się administracją WordPressem.
Jak zabezpieczyć stronę przed kolejną infekcją?
Po oczyszczeniu nie kończ skanowania. Trzeba usunąć przyczynę problemu i wprowadzić stały nadzór nad instalacją:
- Aktualizuj rdzeń WordPressa, wtyczki i motywy, najlepiej po wykonaniu kopii zapasowej.
- Włącz uwierzytelnianie dwuskładnikowe dla kont administracyjnych i używaj unikalnych haseł.
- Usuń nieużywane wtyczki, motywy, konta oraz pliki, których pochodzenia nie można potwierdzić.
- Ogranicz uprawnienia użytkowników i dostęp do plików do zakresu potrzebnego do pracy.
- Twórz automatyczne kopie zapasowe poza serwerem i okresowo sprawdzaj, czy można je odtworzyć.
- Ustaw cykliczne skanowanie oraz powiadomienia o nowych i zmodyfikowanych plikach.
W przypadku małej strony wystarczy regularny skan ręczny po aktualizacjach i monitorowanie alertów. Serwis często zmieniany, sklep WooCommerce lub witryna z wieloma administratorami wymagają częstszych kontroli. Sam wynik skanera nie zastępuje analizy – fałszywe alarmy są możliwe, a brak zgłoszeń nie daje absolutnej gwarancji bezpieczeństwa.
Skanowanie WordPressa najlepiej traktować jako proces złożony z porównania integralności plików, analizy heurystycznej i kontroli zewnętrznej. Najważniejsza zasada reagowania pozostaje niezmienna: najpierw kopia zapasowa i analiza raportu, dopiero potem czyszczenie oraz zmiana danych dostępowych.