Strona przekierowuje użytkowników pod nieznane adresy, w WordPressie pojawiły się obce konta albo wtyczki, a przeglądarka ostrzega przed wejściem na witrynę? To mogą być objawy infekcji WordPressa złośliwym oprogramowaniem.

Samo skasowanie podejrzanego pliku często nie wystarczy. Trzeba znaleźć źródło infekcji, sprawdzić pliki i bazę danych, usunąć złośliwy kod, zabezpieczyć dostępy i przede wszystkim zamknąć lukę, przez którą atakujący dostał się do strony.

W tym poradniku pokazujemy, po czym rozpoznać zainfekowanego WordPressa, jak podejść do usuwania malware oraz co zrobić już po odwirusowaniu, aby zmniejszyć ryzyko ponownego włamania.

Jak rozpoznać wirusa na stronie WordPress?

Nie każda awaria WordPressa oznacza włamanie. Błąd PHP, konflikt wtyczek, problem z bazą danych albo nieudana aktualizacja również mogą spowodować niedostępność strony. Są jednak sygnały, których nie należy ignorować.

  • strona przekierowuje użytkowników na obce lub podejrzane domeny,
  • pojawiają się treści, linki albo reklamy, których nie dodawałeś,
  • w panelu WordPress znajdujesz nieznane konto administratora,
  • na stronie pojawiają się nieznane wtyczki lub motywy,
  • przeglądarka albo oprogramowanie antywirusowe ostrzega przed wejściem na stronę,
  • hosting informuje o znalezieniu złośliwych plików,
  • ze strony zaczyna być wysyłana duża ilość spamu,
  • w Google pojawiają się setki nowych podstron związanych np. z kasynami, lekami, kryptowalutami lub innymi tematami niezwiązanymi z Twoją witryną,
  • użytkownicy zgłaszają nietypowe przekierowania lub formularze proszące o podanie poufnych danych,
  • strona zaczyna działać znacznie wolniej bez wyraźnej przyczyny.

Oficjalna dokumentacja WordPress wymienia wśród sygnałów włamania m.in. ostrzeżenia wyszukiwarek i programów antywirusowych, blokadę strony przez hosting, pojawienie się nieautoryzowanych użytkowników oraz nietypowe zachowanie witryny. Zobacz zalecenia WordPress dla zaatakowanych stron.

Jeżeli prowadzisz sklep WooCommerce, reakcja powinna być szczególnie szybka. Infekcja może zakłócić proces zakupowy, przekierowywać klientów albo wpływać na działanie elementów odpowiedzialnych za składanie zamówień.

Jeśli istnieją przesłanki, że atakujący uzyskał dostęp do danych klientów, zamówień lub innych informacji przechowywanych przez sklep, trzeba również ustalić zakres incydentu i ocenić, czy doszło do naruszenia bezpieczeństwa danych.

Co zrobić od razu po wykryciu infekcji?

Pierwszym odruchem często jest natychmiastowe usuwanie podejrzanych plików. Lepiej zacząć od zebrania informacji i ograniczenia dalszych szkód. Zbyt szybkie kasowanie może utrudnić późniejsze znalezienie źródła problemu.

Zapisz objawy i ostatnie zmiany

Zanotuj, kiedy zauważyłeś problem i jak dokładnie się objawia. Sprawdź także, czy krótko przed infekcją instalowano wtyczkę, zmieniano motyw, dodawano nowego użytkownika albo wykonywano inne prace na stronie.

Zapisz również orientacyjny czas wystąpienia problemu. Będzie przydatny podczas późniejszej analizy logów i sprawdzania, które pliki zostały zmodyfikowane w podobnym czasie.

Wykonaj kopię obecnego stanu strony

Jeżeli masz taką możliwość, przed rozpoczęciem czyszczenia wykonaj kopię plików i bazy danych. Nie traktuj jej jako bezpiecznej kopii zapasowej do późniejszego przywrócenia. Może już zawierać malware, ale będzie przydatna jako materiał do analizy albo zabezpieczenie na wypadek błędu podczas naprawy.

Ogranicz skutki infekcji

Jeżeli witryna aktywnie przekierowuje użytkowników, wyświetla phishing, pobiera szkodliwe pliki albo rozsyła spam, rozważ czasowe ograniczenie jej dostępności do momentu naprawy. Warto również skontaktować się z administratorem hostingu.

Jeżeli na jednym koncie znajduje się kilka stron, sprawdź wszystkie. Infekcja może nie ograniczać się wyłącznie do jednej instalacji WordPressa. Pozostawienie innej zainfekowanej witryny na tym samym koncie może spowodować ponowne pojawienie się szkodliwego kodu na stronie, którą właśnie wyczyściłeś.

Zabezpiecz dostępy i wyloguj aktywne sesje

Jeżeli masz pewność, że urządzenie, z którego korzystasz, jest bezpieczne, zacznij zabezpieczać najważniejsze dostępy. Zmień przede wszystkim hasła administratorów WordPressa oraz dane umożliwiające zarządzanie hostingiem i plikami strony.

W WordPressie warto również wymienić klucze bezpieczeństwa zapisane w pliku wp-config.php. Unieważni to istniejące sesje użytkowników i może odciąć atakującego, który nadal posiada aktywną sesję administratora.

To jednak nie kończy rotacji danych dostępowych. Po pełnym oczyszczeniu witryny najważniejsze hasła należy zmienić ponownie, ponieważ podczas pierwszego resetu strona lub komputer administratora mogły nadal być zainfekowane.

Sprawdź komputery administratorów

Źródłem przejęcia strony nie musi być podatność samego WordPressa. Dane dostępowe mogą zostać wykradzione z komputera administratora. Dlatego wykonaj pełne skanowanie urządzeń, z których korzystasz podczas logowania do WordPressa, panelu hostingowego, FTP, SFTP lub poczty.

Jeśli urządzenie nadal jest zainfekowane, zmiana hasła wykonana na tym samym komputerze może nie rozwiązać problemu. W takiej sytuacji najpierw zabezpiecz urządzenie lub wykonaj zmianę danych dostępowych z innego, zaufanego sprzętu.

Jak usunąć wirusa z WordPressa?

Skuteczne odwirusowanie WordPressa wymaga sprawdzenia całej instalacji. Złośliwy kod może znajdować się w plikach WordPressa, motywie, wtyczkach, katalogu z przesłanymi plikami, konfiguracji serwera lub bazie danych.

Przeskanuj pliki i bazę danych

Sprawdź pliki WordPressa i bazę danych pod kątem nietypowych zmian. Szczególną uwagę zwróć na pliki utworzone lub zmodyfikowane w okresie, w którym mogło dojść do infekcji.

Podczas analizy warto sprawdzić m.in.:

  • pliki rdzenia WordPressa, w tym index.php,
  • plik wp-config.php,
  • plik .htaccess oraz inne pliki konfiguracyjne serwera,
  • katalogi wp-content/plugins i wp-content/themes,
  • katalog wp-content/mu-plugins, jeśli jest używany,
  • katalog wp-content/uploads pod kątem nietypowych plików wykonywalnych, np. PHP,
  • zadania WP-Cron, których nie rozpoznajesz,
  • tabele bazy danych przechowujące użytkowników, ustawienia oraz treści strony.

W bazie danych szczególnie warto zwrócić uwagę na nieznanych administratorów, podejrzane ustawienia zapisane w tabeli opcji oraz kod JavaScript lub spamerskie odnośniki dodane do treści wpisów i stron.

Automatyczny skaner może ułatwić znalezienie podejrzanego kodu, ale jego wynik powinien być początkiem analizy, a nie jedynym kryterium. Legalny kod PHP lub JavaScript również może wyglądać nietypowo i zostać błędnie rozpoznany.

Usuń złośliwy kod

Po zidentyfikowaniu infekcji usuń pliki dodane przez atakującego oraz oczyść zmodyfikowane elementy. W wielu przypadkach bezpieczniejszym rozwiązaniem jest zastąpienie plików rdzenia WordPressa, wtyczek i standardowych plików motywu czystymi kopiami pobranymi z zaufanych źródeł niż ręczne poprawianie każdego fragmentu kodu.

Zachowaj jednak ostrożność przy motywach i wtyczkach zawierających własne modyfikacje. Bezrefleksyjne nadpisanie całego katalogu może usunąć prawidłowy, niestandardowy kod. Jeśli nie wiesz, które zmiany są zamierzone, porównaj pliki z czystą wersją albo z kopią pochodzącą z pewnego okresu.

Sprawdź również bazę danych. Atakujący może wstrzyknąć tam spamerskie odnośniki, JavaScript, dodatkowe ustawienia albo treści wykorzystywane później do ponownego uruchomienia infekcji.

Sprawdź użytkowników WordPressa

Przejrzyj listę użytkowników i zwróć szczególną uwagę na osoby posiadające rolę administratora. Usuń konta, których nie rozpoznajesz, oraz te, które nie są już potrzebne.

Osobom, które nie muszą mieć pełnego dostępu do witryny, nadaj niższy poziom uprawnień. Zasada najmniejszych potrzebnych uprawnień ogranicza skutki ewentualnego przejęcia pojedynczego konta.

Sprawdź logi i ustal źródło infekcji

Usunięcie widocznego malware nie daje jeszcze odpowiedzi na najważniejsze pytanie: jak atakujący dostał się do strony? Jeśli pozostawisz podatną wtyczkę, przejęte konto albo niebezpieczną konfigurację, infekcja może szybko powrócić.

Przeanalizuj logi

Jeśli masz do nich dostęp, sprawdź logi serwera z okresu poprzedzającego zauważenie infekcji. Szukaj nietypowych żądań, prób logowania, wywołań podejrzanych plików i aktywności pochodzącej z nieznanych adresów IP.

Przydatne mogą być również logi FTP lub SFTP, panelu administracyjnego hostingu oraz historia logowań do WordPressa, jeśli wcześniej była rejestrowana. Porównaj czasy podejrzanej aktywności z datami modyfikacji zainfekowanych plików.

Logi nie zawsze pozwolą jednoznacznie wskazać sposób włamania. Mogą jednak pomóc ustalić, czy atakujący wykorzystał podatność aplikacji, poprawne dane logowania czy dostęp do plików.

Najczęstsze źródła infekcji

  • nieaktualna wtyczka, motyw lub WordPress,
  • porzucone i niewspierane rozszerzenie,
  • przejęte hasło administratora,
  • przejęte dane FTP lub SFTP,
  • zainfekowany komputer użytkownika,
  • zbyt szerokie uprawnienia plików,
  • błędna konfiguracja serwera,
  • inna zainfekowana witryna działająca na tym samym koncie.

Co zrobić po usunięciu wirusa ze strony?

Strona działa poprawnie, a kolejne skanowanie nie pokazuje zagrożeń? Teraz trzeba domknąć incydent: usunąć przyczynę problemu, ponownie zabezpieczyć dostępy i uporządkować elementy, które mogły zostać zmienione podczas włamania.

Zmień najważniejsze hasła ponownie

Jeśli hasła zostały zmienione od razu po wykryciu włamania, po pełnym oczyszczeniu strony wykonaj drugą rotację najważniejszych danych dostępowych. Obejmuje to przede wszystkim WordPressa, panel hostingowy, FTP/SFTP oraz inne konta pozwalające modyfikować stronę.

Hasła powinny być długie, unikalne i nieużywane w innych serwisach. Warto również ponownie upewnić się, że nie pozostały aktywne nieznane sesje.

Zaktualizuj WordPress, wtyczki i motywy

Sprawdź wszystkie elementy instalacji i zaktualizuj je do wspieranych wersji. Dotyczy to WordPressa, aktywnego motywu oraz używanych wtyczek.

Jeżeli rozszerzenia lub motywu nie używasz, usuń go zamiast tylko dezaktywować. Każdy dodatkowy fragment kodu to kolejny element, który trzeba później aktualizować i kontrolować.

Nowe wtyczki instaluj z wiarygodnych źródeł. Zanim dodasz rozszerzenie, sprawdź, czy jest rozwijane, aktualizowane i zgodne z używaną wersją WordPressa.

Jeśli nie wiesz, jak przeprowadzić aktualizację, skorzystaj z poradnika Jak zaktualizować WordPress?.

Sprawdź wersję PHP

WordPress działa w środowisku PHP, dlatego również ten element powinien być aktualny i wspierany. Starsze, niewspierane wersje nie otrzymują standardowych poprawek bezpieczeństwa.

Przed zmianą sprawdź wymagania WordPressa, motywu i wtyczek. Zbyt szybkie przejście na nowszą wersję PHP przy niekompatybilnym rozszerzeniu może spowodować błędy witryny.

Klienci cyber_Folks mogą skorzystać z instrukcji jak zmienić wersję PHP dla domeny.

Jak zabezpieczyć WordPress po infekcji?

Po zakończeniu jednorazowych działań naprawczych warto przejść do stałej profilaktyki. Jej celem nie jest usunięcie obecnej infekcji, ale ograniczenie ryzyka kolejnego włamania.

Włącz WAF i dodatkową ochronę WordPressa

Jedną z dodatkowych warstw ochrony może być WAF, czyli Web Application Firewall. Analizuje on ruch przychodzący do aplikacji i może blokować część niebezpiecznych żądań jeszcze przed dotarciem do WordPressa.

W samym WordPressie możesz również korzystać z jednej dobrze dobranej wtyczki bezpieczeństwa oferującej np. skanowanie plików, ochronę logowania czy firewall aplikacyjny. Instalowanie kilku dodatków realizujących dokładnie te same funkcje może niepotrzebnie komplikować konfigurację.

Pamiętaj, że żadna wtyczka bezpieczeństwa ani WAF nie zastąpi aktualizacji, dobrych haseł i prawidłowo skonfigurowanych dostępów.

Oddziel od siebie różne strony

Jeżeli na jednym koncie działa kilka witryn, warto ograniczyć możliwość swobodnego przechodzenia infekcji między ich katalogami. W przeciwnym razie włamanie do jednej strony może zwiększyć ryzyko infekcji kolejnych.

Na wybranych usługach cyber_Folks można wykorzystać funkcję separacji serwisów. Jej zadaniem jest odizolowanie dostępu do plików poszczególnych stron i ograniczenie możliwości ingerencji jednego serwisu w pliki drugiego. Więcej informacji znajdziesz w poradniku Jak włączyć separację domen?.

Uporządkuj dostępy do strony

Sprawdź nie tylko administratorów WordPressa, ale również wszystkie osoby mające dostęp do hostingu, repozytorium kodu, FTP/SFTP, baz danych, systemów kopii zapasowych i innych usług związanych z witryną.

  • usuń nieużywane konta,
  • ogranicz uprawnienia do niezbędnego minimum,
  • ustaw unikalne hasła,
  • włącz uwierzytelnianie dwuskładnikowe tam, gdzie jest dostępne,
  • nie współdziel jednego konta administratora między wiele osób.

Jeśli stroną zarządza kilka osób, bezpieczeństwo techniczne powinno iść w parze z dobrymi nawykami zespołu. Użytkownicy powinni wiedzieć, jak rozpoznawać podejrzane wiadomości, próby phishingu i nietypowe prośby o podanie danych logowania.

Co sprawdzić w Google po odwirusowaniu WordPressa?

Infekcja strony może pozostawić ślady w wynikach wyszukiwania nawet wtedy, gdy złośliwy kod został już usunięty. Dlatego po naprawie warto dokładnie przejrzeć Google Search Console.

Sprawdź raport Problemy dotyczące bezpieczeństwa

Google Search Console posiada raport Problemy dotyczące bezpieczeństwa, w którym mogą pojawić się informacje o zhakowanych treściach, malware, phishingu i innych potencjalnie szkodliwych działaniach.

Jeśli Google nadal oznacza stronę jako niebezpieczną, najpierw upewnij się, że wszystkie problemy zostały rzeczywiście usunięte. Następnie z poziomu raportu możesz wysłać prośbę o ponowne sprawdzenie witryny. W zgłoszeniu warto opisać, co zostało naprawione oraz jak usunięto przyczynę problemu.

Sprawdź spamowe adresy URL w indeksie

Po ataku w Google mogą pozostać adresy wygenerowane przez malware. Nierzadko są ich setki albo tysiące. Mogą wyglądać jak podstrony produktów, ofert, leków, kasyn czy innych treści, które nigdy nie należały do Twojej strony.

Po usunięciu takich podstron upewnij się, że nie istnieją już w witrynie i zwracają poprawny kod HTTP. Jeśli podstrona została trwale usunięta i nie ma odpowiednika, może zwracać 404 Not Found albo 410 Gone. Nie ma potrzeby masowej zmiany wszystkich poprawnych odpowiedzi 404 na 410 tylko po to, aby przyspieszać usuwanie adresów z Google.

Jeśli potrzebujesz szybkiego, tymczasowego ukrycia konkretnego adresu w wynikach Google, Search Console udostępnia również narzędzie do usuwania adresów URL. Nie zastępuje ono jednak trwałego usunięcia treści lub poprawnej odpowiedzi serwera.

Sprawdź prawidłowe adresy i indeksowanie

Po usunięciu infekcji zweryfikuj najważniejsze podstrony za pomocą narzędzia sprawdzania adresów URL w Google Search Console. Dzięki temu zobaczysz, czy Google może je pobrać i indeksować.

Jeżeli konkretna ważna strona nie jest jeszcze zindeksowana, możesz poprosić o jej ponowne zindeksowanie. Nie ma jednak potrzeby wysyłania ręcznie każdego adresu witryny.

Sprawdź mapę witryny

Zweryfikuj mapy XML zgłoszone w Google Search Console. Powinny zawierać prawidłowe adresy należące do Twojej strony i nie mogą wskazywać spamowych podstron utworzonych przez malware.

WordPress może generować podstawową mapę witryny samodzielnie, a dodatkowe możliwości oferują popularne wtyczki SEO. Najważniejsze jest jednak to, aby mapa XML odzwierciedlała aktualną, oczyszczoną strukturę serwisu.

Sprawdź użytkowników Google Search Console

W Search Console przejdź do ustawień użytkowników i uprawnień. Sprawdź, czy wszystkie osoby mające dostęp do usługi są Ci znane.

Nieznany właściciel lub użytkownik może być sygnałem, że atakujący próbował utrzymać kontrolę nad witryną również poza WordPressem.

Czy przywrócenie kopii zapasowej wystarczy?

Czysta kopia zapasowa może bardzo ułatwić odzyskanie strony, ale nie rozwiązuje automatycznie przyczyny włamania.

Jeżeli backup został wykonany przed infekcją, możesz dzięki niemu przywrócić pliki i bazę danych. Musisz jednak ustalić, jak atakujący dostał się do strony.

Jeśli przyczyną była podatna wtyczka, jej stara wersja znajdzie się również w przywróconej kopii. Jeśli przejęto hasło administratora lub dane FTP, odtworzenie backupu nie zmieni tych danych.

Po przywróceniu czystej kopii:

  • zaktualizuj WordPressa,
  • zaktualizuj wtyczki i motyw,
  • usuń zbędne rozszerzenia,
  • zmień hasła,
  • sprawdź konta użytkowników,
  • zweryfikuj konfigurację serwera,
  • ponownie przeskanuj stronę,
  • sprawdź, czy źródło pierwotnej infekcji zostało usunięte.

Regularny backup nie chroni przed samym włamaniem, ale może znacznie ograniczyć jego skutki. Kopia powinna obejmować zarówno pliki, jak i bazę danych, a możliwość jej odtworzenia warto okresowo sprawdzać.

Jak zabezpieczyć WordPress przed kolejną infekcją?

Nie istnieje pojedyncza wtyczka ani ustawienie, które zagwarantuje pełne bezpieczeństwo WordPressa. Najlepszy efekt daje połączenie kilku warstw ochrony i regularna administracja stroną.

  • Regularnie aktualizuj WordPressa, motyw i wtyczki.
  • Usuwaj dodatki, których już nie potrzebujesz.
  • Korzystaj z aktualnej, wspieranej wersji PHP zgodnej z witryną.
  • Stosuj długie i unikalne hasła.
  • Włącz 2FA dla kont administracyjnych, jeśli jest dostępne.
  • Ogranicz liczbę administratorów.
  • Wykorzystuj WAF i inne warstwy ochrony.
  • Oddzielaj od siebie różne witryny działające na tym samym koncie.
  • Regularnie wykonuj kopie zapasowe i sprawdzaj możliwość ich odtworzenia.
  • Skanuj urządzenia wykorzystywane do administracji.
  • Dbaj o wiedzę osób posiadających dostęp do strony.
  • Monitoruj nietypowe zmiany i logowania, jeśli używane narzędzia na to pozwalają.

Znaczenie ma również środowisko, w którym działa witryna. Wybierając hosting WordPress, warto zwracać uwagę na rozwiązania związane z bezpieczeństwem, aktualnością środowiska, separacją stron oraz kopiami zapasowymi.

Kiedy zlecić odwirusowanie WordPressa specjaliście?

Samodzielne usunięcie malware wymaga swobodnego poruszania się po plikach WordPressa, bazie danych i konfiguracji serwera. Trzeba również potrafić odróżnić prawidłowy kod od zmian wykonanych przez atakującego.

Pomoc specjalisty warto rozważyć szczególnie wtedy, gdy:

  • nie możesz zalogować się do WordPressa,
  • infekcja pojawia się ponownie po czyszczeniu,
  • nie wiesz, od jak dawna strona jest zainfekowana,
  • problem objął kilka stron na jednym koncie,
  • zainfekowany został sklep WooCommerce,
  • Google lub przeglądarka oznacza stronę jako niebezpieczną,
  • w wynikach Google pojawiło się bardzo dużo spamowych podstron,
  • podejrzewasz przejęcie kont lub wyciek danych,
  • nie masz pewności, które pliki można bezpiecznie usunąć.

Przy skutecznym odwirusowaniu najważniejsze jest nie tylko usunięcie widocznych śladów malware. Trzeba także znaleźć źródło infekcji, zamknąć wykorzystaną lukę i sprawdzić, czy atakujący nie pozostawił alternatywnej drogi dostępu.

Jeśli potrzebujesz specjalisty do prac przy witrynie, możesz również skorzystać z platformy _partners, gdzie znajdziesz wykonawców usług cyfrowych.

Usunięcie wirusa to początek zabezpieczania strony

Po wykryciu infekcji trzeba znaleźć i usunąć złośliwy kod, ale równie ważne jest ustalenie, dlaczego problem w ogóle się pojawił. Bez tego nawet prawidłowo wyczyszczona strona może zostać zaatakowana ponownie.

Po odwirusowaniu zaktualizuj WordPressa, motyw, wtyczki i PHP, ponownie zmień najważniejsze dane dostępowe, przejrzyj konta administratorów oraz wykonaj skan urządzeń wykorzystywanych do zarządzania stroną. Sprawdź również logi, które mogą pomóc znaleźć źródło włamania. Jeśli utrzymujesz kilka witryn, zadbaj o ich wzajemne odseparowanie.

Nie zapominaj o Google Search Console. Zweryfikuj problemy dotyczące bezpieczeństwa, użytkowników, mapy witryny i nietypowe adresy URL pozostawione przez malware. Dopiero po przejściu tych kroków można uznać, że proces odzyskiwania strony został rzeczywiście domknięty.

FAQ – usuwanie wirusów z WordPressa

Nie. Trzeba także ustalić źródło infekcji, zamknąć wykorzystaną lukę, sprawdzić użytkowników i dostępy oraz upewnić się, że atakujący nie pozostawił dodatkowej drogi dostępu.

Tak. Najważniejsze dostępy warto zabezpieczyć możliwie szybko z bezpiecznego urządzenia, a po pełnym oczyszczeniu strony ponownie zmienić hasła do kluczowych usług.

Czysta kopia może przywrócić prawidłową wersję strony, ale nie usuwa przyczyny włamania. Po przywróceniu trzeba zaktualizować oprogramowanie, zmienić dostępy i ustalić źródło infekcji.

Tak. Jeśli kilka witryn działa w tym samym środowisku, należy sprawdzić wszystkie, ponieważ złośliwy kod może rozprzestrzenić się pomiędzy instalacjami.

Najpierw upewnij się, że witryna jest całkowicie oczyszczona. Następnie sprawdź raport Problemy dotyczące bezpieczeństwa w Google Search Console i po usunięciu przyczyny poproś o ponowną weryfikację.

Łukasz Bielawski
>
Łukasz Bielawski
Zawsze chętny do pomocy. Od 17 lat zajmuje się marketingiem internetowym, z naciskiem na działania seo oraz kampanie w ekosystemie Google Ads. Prywatnie pasjonat motoryzacji.

Dodaj komentarz

Twój adres e-mail nie będzie opublikowany.

Szukasz dalej?