Jeśli Twoja strona na WordPressie przekierowuje na obce adresy, Google pokazuje przy niej ostrzeżenie albo hosting ją zablokował, najpewniej została zainfekowana. Najważniejsze jest to, co zrobisz w pierwszej godzinie: nie kasuj niczego na ślepo, zmień hasła, zrób kopię obecnego stanu i sprawdź, którędy weszła infekcja. Poniżej wszystkie kroki po kolei, bez żargonu.
Jak rozpoznać wirusa na stronie WordPress
Złośliwy kod często działa tylko dla części odwiedzających, na przykład na telefonie albo po wejściu z Google. Dlatego właściciel dowiaduje się ostatni, zwykle od klienta albo z maila od hostingu. Najczęstsze objawy:
- Przekierowania na obce strony: hazard, leki, fałszywe loterie, często tylko na telefonie.
- Ostrzeżenie w przeglądarce albo dopisek w wynikach Google, że witryna mogła zostać zhakowana.
- Obce podstrony w Google: adresy, których nie tworzyłeś, często z ofertą leków albo po japońsku.
- Blokada albo ostrzeżenie od hostingu o złośliwych plikach lub wysyłce spamu.
- Nowi administratorzy w panelu WordPress i pliki PHP o dziwnych nazwach na serwerze.
- Nagłe spowolnienie strony i maile z Twojej domeny, których nikt nie wysyłał.
Jak sprawdzić, czy strona jest zainfekowana
Zanim zaczniesz działać, potwierdź problem. Te sprawdzenia zajmują kilkanaście minut i nie wymagają wiedzy technicznej.
- Google Search Console. W sekcji „Bezpieczeństwo i ręczne działania" Google pokazuje wykryte problemy z bezpieczeństwem i przykładowe zainfekowane adresy.
- Stan witryny w Bezpiecznym przeglądaniu Google. Na stronie transparencyreport.google.com w sekcji Bezpieczne przeglądanie wpisz adres swojej strony. Zobaczysz, czy Google oznacza ją jako niebezpieczną.
- Wyszukiwanie site:. Wpisz w Google
site:twojafirma.pli przejrzyj wyniki. Obce tytuły, podstrony z lekami albo znaki japońskie to sygnał, że ktoś dopisał strony spamowe. - Wejście z telefonu przez Google. Wyszukaj swoją firmę na telefonie i kliknij wynik. Część infekcji przekierowuje tylko ruch z wyszukiwarki na urządzeniach mobilnych.
- Lista użytkowników w WordPressie. Sprawdź, czy nie ma kont administratora, których nikt nie zakładał.
Co zrobić od razu: 7 kroków
1. Nie kasuj plików na ślepo
Usuwanie losowych plików i wtyczek to najczęstszy błąd. Możesz skasować objaw, zostawić tylną furtkę i przy okazji zepsuć stronę. Najpierw zabezpiecz sytuację, potem czyść.
2. Zmień wszystkie hasła
Zmień hasła do panelu WordPress wszystkich administratorów, do panelu hostingu, FTP albo SFTP, bazy danych i poczty w domenie. Jeśli hasło wyciekło, atakujący wróci nawet po wyczyszczeniu plików.
3. Zrób kopię obecnego stanu
Skopiuj pliki i bazę danych w obecnej postaci i oznacz kopię jako zainfekowaną. To punkt wyjścia do diagnozy i zabezpieczenie na wypadek, gdyby czyszczenie coś zepsuło.
4. Sprawdź, czy masz czystą kopię sprzed infekcji
Kopia zapasowa może uratować sprawę, ale tylko jeśli powstała przed infekcją. Złośliwy kod potrafi siedzieć w plikach tygodniami, zanim da o sobie znać. Nie przywracaj kopii bez sprawdzenia, bo możesz przywrócić ten sam problem, a przy okazji stracić nowsze treści i zamówienia. Jak robić kopie, żeby w takiej chwili mieć z czego wybierać, opisujemy w poradniku kopia zapasowa WordPress.
5. Chroń odwiedzających
Jeśli strona przekierowuje ludzi na niebezpieczne adresy, włącz tryb konserwacji albo poproś hosting o tymczasowe wyłączenie. Lepiej, żeby klient zobaczył komunikat o przerwie technicznej niż fałszywą loterię z Twoim logo w pasku adresu.
6. Powiadom hosting
Hosting często widzi więcej niż Ty: logi, podejrzane procesy, inne zainfekowane strony na tym samym koncie. Zapytaj też, czy mają czystą kopię i od kiedy.
7. Wyczyść stronę i zamknij lukę
Samo usunięcie złośliwego kodu nie wystarczy. Trzeba znaleźć drogę, którą weszła infekcja, i ją zamknąć. Jak to zrobić, opisujemy niżej. Jeśli nie chcesz robić tego sam, zajmiemy się tym w ramach odwirusowania strony WordPress.
Czego nie robić
- Nie instaluj przypadkowych wtyczek „antywirusowych" z nieznanych źródeł. Część z nich sama jest problemem.
- Nie przywracaj kopii bez sprawdzenia, czy powstała przed infekcją.
- Nie zgłaszaj strony do ponownego sprawdzenia w Google, zanim nie będzie czysta. Google odrzuci prośbę i trzeba będzie zaczynać od nowa.
- Nie zostawiaj starego hasła tylko dlatego, że „przecież nikt go nie znał".
- Nie czekaj, aż samo przejdzie. Z każdym dniem ostrzeżenia rośnie liczba klientów, którzy nie wejdą na stronę.
Jak wyczyścić stronę WordPress z wirusa
To część techniczna. Jeśli nie czujesz się pewnie w panelu hostingu i bazie danych, lepiej zlecić ją komuś, kto robi to regularnie. Jeśli chcesz zrobić to sam, oto kolejność.
- Podmień rdzeń WordPressa. Katalogi
wp-adminiwp-includeszastąp czystymi plikami pobranymi z wordpress.org w tej samej wersji. - Przeinstaluj wtyczki i motyw z oficjalnych źródeł. Wtyczki, których nie używasz, usuń całkowicie.
- Przejrzyj katalog uploads. W
wp-content/uploadsnie powinno być plików PHP. Jeśli są, prawie na pewno są złośliwe. - Sprawdź plik .htaccess i wp-config.php. Szukaj obcych przekierowań, dopisanych instrukcji i zakodowanych fragmentów kodu.
- Przejrzyj bazę danych. Sprawdź adresy strony w ustawieniach, treści wpisów pod kątem obcych skryptów i listę użytkowników z uprawnieniami administratora.
- Wygeneruj nowe klucze bezpieczeństwa w wp-config.php. To wyloguje wszystkie sesje, także te przejęte przez atakującego.
- Zaktualizuj wszystko i sprawdź stronę ponownie: na komputerze, na telefonie i po wejściu z Google.
Jak zdjąć ostrzeżenie Google po ataku
Gdy strona jest czysta, wejdź do Google Search Console, otwórz raport problemów z bezpieczeństwem, zaznacz, że problemy zostały rozwiązane, i poproś o sprawdzenie. W prośbie opisz konkretnie, co zrobiłeś: jakie pliki usunąłeś, co zaktualizowałeś, jak zamknąłeś lukę.
Według Google weryfikacja strony z malware trwa zwykle kilka dni, a przy spamie dopisanym po włamaniu nawet kilka tygodni. Jeśli w wynikach wyszukiwania zostały spamowe podstrony, usuń je ze strony tak, żeby zwracały błąd 404 albo 410, i poczekaj, aż Google je wyindeksuje.
Jak zabezpieczyć WordPressa, żeby atak nie wrócił
- Aktualizuj WordPressa, wtyczki i motyw na bieżąco. Nieaktualna wtyczka to najczęstsza droga ataku.
- Usuń wszystko, czego nie używasz: nieaktywne wtyczki, stare motywy, konta dawnych pracowników.
- Instaluj wtyczki tylko z oficjalnego repozytorium albo od autora. Nigdy z nielegalnych źródeł.
- Włącz logowanie dwuetapowe dla administratorów i używaj długich, unikalnych haseł.
- Rób kopie zapasowe poza serwerem, automatycznie i regularnie.
- Nie trzymaj wielu stron na jednym koncie hostingowym, jeśli nie musisz. Infekcja jednej często przechodzi na sąsiednie.
- Wyłącz edycję plików z panelu WordPress, żeby przejęte konto nie mogło od razu podmienić kodu.
Pełną listę z przykładami z prawdziwych włamań znajdziesz w poradniku jak zabezpieczyć stronę WordPress: 12 kroków.
Jeśli nie chcesz pilnować tego sam, zobacz, co obejmuje opieka nad stroną WordPress, i jak działa szybki hosting LiteSpeed z kopiami zapasowymi.