Co zrobić gdy Twoja strona WordPress złapała wirusa
Odkrycie, że Twoja strona WordPress została zainfekowana, to jeden z najbardziej stresujących momentów dla każdego właściciela witryny. Nagle pojawia się dziwne przekierowanie, Google wyświetla ostrzeżenie o niebezpiecznej stronie, a hosting wysyła niepokojące maile. Spokojnie – sytuacja jest poważna, ale w większości przypadków da się ją opanować.
Jak rozpoznać, że strona jest zainfekowana
Infekcja WordPress może objawiać się na wiele sposobów. Czasem jest oczywista – odwiedzający są przekierowywani na podejrzane strony z reklamami lub fałszywe sklepy. Innym razem zauważysz, że strona działa znacznie wolniej niż zwykle, albo w kodzie źródłowym pojawiają się dziwne skrypty, których nie dodawałeś.
Często pierwszym sygnałem jest mail od hostingu informujący o podejrzanej aktywności lub wiadomość od Google Search Console o wykryciu złośliwego oprogramowania. Zdarza się też, że przeglądarka wyświetla czerwony ekran z ostrzeżeniem przed wejściem na stronę. Niektóre infekcje są jednak bardziej podstępne – działają w tle, rozsyłając spam lub wykorzystując serwer do kopania kryptowalut, a właściciel strony przez długi czas nie ma pojęcia o problemie.
Pierwsze kroki po wykryciu infekcji
Zachowaj spokój i nie kasuj wszystkiego w panice
Naturalną reakcją jest chęć natychmiastowego usunięcia wszystkich plików i zainstalowania WordPressa od nowa. To jednak rzadko jest dobry pomysł – możesz stracić dane, których nie da się odzyskać, a bez zidentyfikowania źródła problemu infekcja prawdopodobnie wróci.
Wykonaj kopię zapasową aktualnego stanu
Brzmi to absurdalnie – po co robić backup zainfekowanej strony? Powodów jest kilka. Po pierwsze, możesz podczas czyszczenia przypadkowo usunąć coś ważnego. Po drugie, kopia pozwoli specjaliście przeanalizować infekcję, jeśli sam nie dasz rady. Po trzecie, w zainfekowanych plikach nadal znajdują się Twoje treści, zdjęcia i dane, które mogą nie istnieć nigdzie indziej.
Zmień wszystkie hasła
Zacznij od panelu administracyjnego WordPress, potem przejdź do panelu hostingu, bazy danych i FTP. Jeśli używałeś tych samych haseł w innych miejscach – zmień je również. Atakujący często instalują tzw. backdoory, czyli ukryte furtki pozwalające im wrócić na stronę nawet po wyczyszczeniu głównej infekcji. Zmiana haseł utrudnia im ponowny dostęp.
Skanowanie i identyfikacja zagrożenia
Zanim zaczniesz ręcznie przeglądać tysiące plików, warto skorzystać z narzędzi do skanowania. Wtyczki takie jak Wordfence czy Sucuri Security potrafią przeskanować instalację WordPress i wskazać podejrzane pliki. Pamiętaj jednak, że żaden skaner nie jest doskonały – niektóre infekcje są tak sprytnie ukryte, że automatyczne narzędzia ich nie wykryją.
Hosting również może pomóc. Wiele firm hostingowych oferuje własne skanery antywirusowe lub przynajmniej może wskazać, które pliki zostały ostatnio zmodyfikowane. Ta informacja bywa bezcenna – jeśli plik motywu był zmieniany wczoraj, a Ty nic nie aktualizowałeś od tygodnia, to prawdopodobnie właśnie tam znajduje się złośliwy kod.
Czyszczenie strony krok po kroku
Aktualizacja WordPressa, wtyczek i motywów
Większość infekcji wykorzystuje znane luki w nieaktualnym oprogramowaniu. Zanim zaczniesz usuwać złośliwy kod, upewnij się, że masz najnowsze wersje wszystkiego. Jeśli jakaś wtyczka nie była aktualizowana od ponad dwóch lat – rozważ jej usunięcie i znalezienie alternatywy.
Usuń nieużywane wtyczki i motywy
Każda wtyczka i każdy motyw to potencjalna furtka dla atakującego. Jeśli czegoś nie używasz – skasuj to całkowicie, nie tylko dezaktywuj. Nawet nieaktywna wtyczka z luką bezpieczeństwa może zostać wykorzystana.
Porównaj pliki z oryginałami
Pobierz świeże kopie WordPressa, używanych wtyczek i motywu ze źródeł oficjalnych. Następnie porównaj je z tym, co masz na serwerze. Różnice w plikach rdzenia WordPress niemal zawsze oznaczają infekcję – te pliki nie powinny być modyfikowane. Najprościej jest zastąpić całe foldery wp-admin i wp-includes świeżymi kopiami.
Sprawdź folder wp-content
To najtrudniejsza część, bo folder wp-content zawiera Twoje własne pliki – motywy, wtyczki i przesłane media. Zwróć szczególną uwagę na pliki PHP w folderze uploads, gdzie normalnie powinny znajdować się tylko obrazy i dokumenty. Plik PHP w tym miejscu to niemal pewny znak infekcji.
Przejrzyj bazę danych
Złośliwy kod może ukrywać się nie tylko w plikach, ale też w bazie danych. Najczęściej atakujący dodają skrypty JavaScript do treści wpisów lub tworzą ukryte konta administratorów. Sprawdź tabelę użytkowników – czy są tam konta, których nie zakładałeś? Przejrzyj też opcje w tabeli wp_options, szczególnie wpisy związane z adresem strony.
Plik .htaccess i wp-config.php
Te dwa pliki zasługują na szczególną uwagę. Plik .htaccess kontroluje przekierowania i może być wykorzystany do wysyłania odwiedzających na złośliwe strony. Porównaj go z domyślną wersją dla WordPressa – jeśli zawiera dziwne reguły przekierowań, których nie dodawałeś, usuń je.
Plik wp-config.php zawiera dane dostępowe do bazy danych. Sprawdź, czy nie dopisano tam obcego kodu – powinien zawierać tylko standardową konfigurację WordPressa. Szczególnie podejrzane są długie ciągi zakodowanych znaków, funkcje takie jak eval() czy base64_decode() użyte w nietypowy sposób.
Po wyczyszczeniu – co dalej
Samo usunięcie złośliwego kodu to dopiero połowa sukcesu. Musisz też zadbać, żeby sytuacja się nie powtórzyła. Zmień klucze bezpieczeństwa w pliku wp-config.php – możesz wygenerować nowe na stronie api.wordpress.org. Dzięki temu wszystkie zalogowane sesje zostaną unieważnione.
Jeśli Google oznaczył Twoją stronę jako niebezpieczną, po wyczyszczeniu złóż wniosek o ponowną weryfikację w Google Search Console. Zajmuje to zwykle od kilku godzin do kilku dni.
Kiedy lepiej oddać sprawę specjaliście
Nie każdą infekcję da się usunąć samodzielnie. Jeśli po przeprowadzeniu wszystkich powyższych kroków problem wraca, złośliwy kod jest zbyt skomplikowany do zidentyfikowania, albo po prostu nie czujesz się pewnie grzebiąc w plikach PHP – nie ma wstydu w poproszeniu o pomoc. Firmy specjalizujące się w bezpieczeństwie WordPress, takie jak Sucuri czy lokalni specjaliści, mają doświadczenie i narzędzia, których przeciętny użytkownik nie posiada.
Warto też rozważyć skontaktowanie się z hostingiem. Niektóre firmy hostingowe oferują pomoc w usuwaniu złośliwego oprogramowania w ramach wsparcia technicznego lub za dodatkową opłatą. Mają przy tym dostęp do logów serwera, które mogą pomóc ustalić, jak doszło do włamania.
Jak zabezpieczyć się na przyszłość
Regularne aktualizacje to podstawa – większość ataków wykorzystuje znane luki, które zostały już załatane w nowszych wersjach. Automatyczne kopie zapasowe pozwolą Ci szybko przywrócić stronę do działania, nawet jeśli ponownie padniesz ofiarą ataku. Silne, unikalne hasła i ewentualnie dwuetapowa weryfikacja znacząco utrudnią włamanie na konto administratora.
Rozważ też instalację wtyczki bezpieczeństwa, która będzie monitorować stronę i blokować podejrzane działania. Nie jest to gwarancja bezpieczeństwa, ale dodatkowa warstwa ochrony zawsze pomaga.
TL;DR: Zrób backup, zmień wszystkie hasła, przeskanuj stronę, zaktualizuj oprogramowanie, usuń podejrzane pliki i porównaj resztę z oryginałami. Jeśli nie dajesz rady – zwróć się do specjalisty.