Wyobraź sobie taki scenariusz: poniedziałkowy poranek, kawa w dłoni, otwierasz stronę swojej firmy, żeby sprawdzić, czy wszystko działa, a tam… zamiast twojej oferty wita cię baner z reklamą „cudownych tabletek” na potencję albo, co gorsza, strona przekierowuje cię na zagraniczne kasyno. Zimny pot na czole, prawda?
Niestety, to nie jest scena z filmu o hakerach, ale codzienność wielu właścicieli stron na WordPressie, którzy zaniedbali aktualizacje. Ten konkretny rodzaj infekcji, często nazywany „Pharma Hack” lub „Japanese Keyword Hack” (gdy w wynikach wyszukiwania pojawiają się japońskie krzaczki), jest jednym z najczęstszych problemów, z jakimi zgłaszają się do mnie klienci.
W tym wpisie przeprowadzę cię przez proces „leczenia” takiej strony. Na konkretnym przykładzie (case study) pokażę, na czym polega skuteczne usuwanie wirusów WordPress oraz profesjonalna opieka techniczna. Dowiesz się, dlaczego samo wgranie backupu to często za mało i co zrobić, żeby sytuacja się nie powtórzyła.
Pacjent: strona firmowa, która „zachorowała”
Niedawno zgłosił się do mnie klient z branży budowlanej. Problem był klasyczny: strona wizualnie wyglądała prawie normalnie, ale po wejściu na nią z wyników wyszukiwania Google, użytkownik był natychmiast przekierowywany na stronę z nielegalnym hazardem. Co więcej, w stopce strony pojawiły się setki ukrytych linków do stron z viagrą.
Dla Google taka strona staje się momentalnie niewiarygodna. Przeglądarki wyświetlają czerwony komunikat „Ta witryna może być niebezpieczna”, a ruch spada do zera. klient był przerażony, że straci domenę, na którą pracował latami.
Moja diagnoza? Włamanie przez nieaktualną wtyczkę, która posłużyła jako „tylne drzwi” (backdoor) dla botów.
Krok 1: kwarantanna i zabezpieczenie dowodów
Pierwsza zasada: nie panikuj, ale działaj szybko. Zanim cokolwiek usunę, robię pełną kopię zapasową zainfekowanej strony. Brzmi nielogicznie? Nie do końca. Czasami podczas czyszczenia coś może pójść nie tak (np. usuniemy plik systemowy, który wirus tylko zmodyfikował, a nie dodał). Kopia pozwala mi zawsze wrócić do punktu wyjścia, nawet jeśli jest to punkt „zawirusowany”.
Następnie odcinam stronę od świata, włączając tryb konserwacji, aby nikt przypadkowy (ani kolejne boty Google) nie wchodził na witrynę w trakcie operacji.
Krok 2: Usuwanie wirusów WordPress – wielkie sprzątanie
Wiele osób myśli, że wystarczy kliknąć „Skanuj” w popularnej wtyczce zabezpieczającej i po sprawie. Niestety, zaawansowane wirusy potrafią się ukrywać przed skanerami, modyfikując pliki rdzenia WordPressa lub zaszywając się głęboko w bazie danych.
Oto jak wygląda mój proces manualnego i automatycznego czyszczenia:
Podmiana plików systemowych (Core files)
To najbardziej drastyczny, ale najskuteczniejszy krok. Usuwam katalogi wp-admin oraz wp-includes i zastępuję je czystymi, oryginalnymi plikami z repozytorium WordPressa. To daje mi 100% pewności, że w sercu systemu nie ukrywa się żaden złośliwy kod.
Analiza katalogu wp-content
Tutaj jest trudniej, bo nie mogę po prostu usunąć wszystkiego – tam są twoje zdjęcia, motywy i wtyczki.
- Wtyczki: Sprawdzam listę zainstalowanych wtyczek, usuwam je i instaluję świeże wersje prosto od wydawców.
- Motyw: Jeśli korzystasz z gotowego motywu, aktualizuję go do najnowszej wersji. Jeśli to rozwiązanie dedykowane (np. strony internetowe WordPress budowane przeze mnie), ręcznie przeglądam pliki w poszukiwaniu doklejonego kodu (często są to ciągi znaków wyglądające jak
eval(base64_decode(...))). - Uploads: To ulubione miejsce hakerów na ukrywanie plików
.phpudających zdjęcia. Skanuję ten folder w poszukiwaniu plików wykonywalnych, które nie mają prawa tam być.
Czyszczenie bazy danych
To etap, o którym zapomina wielu amatorów. Wirusy typu „Pharma Hack” często wstrzykują tysiące wierszy do bazy danych, tworząc np. fałszywych użytkowników z uprawnieniami administratora. Przeszukuję bazę pod kątem podejrzanych treści (np. linków do stron hazardowych) i usuwam je.
Plik .htaccess i wp-config.php
To tutaj najczęściej siedzą instrukcje przekierowań. Hakerzy modyfikują plik .htaccess, aby ruch z Google trafiał na ich strony. Przywracam te pliki do ich domyślnej, bezpiecznej formy.
Krok 3: zamykamy drzwi, czyli zabezpieczenie po ataku
Gdy strona jest już czysta („pacjent przeżył”), musimy upewnić się, że infekcja nie wróci za godzinę.
- Zmiana wszystkich haseł: Do bazy danych, do FTP, do panelu hostingu i oczywiście dla wszystkich użytkowników WordPressa.
- Zmiana tzw. soli: W pliku
wp-config.phpzmieniam klucze szyfrujące, co powoduje natychmiastowe wylogowanie wszystkich zalogowanych użytkowników (w tym potencjalnego hakera). - Aktualizacje: Aktualizuję WordPressa, motyw i wtyczki do najnowszych wersji. Jeśli jakaś wtyczka jest „porzucona” przez twórcę, szukam dla niej bezpiecznej alternatywy.
Krok 4: „rehabilitacja” w oczach Google
Usunięcie wirusa to połowa sukcesu. Druga połowa to odzyskanie reputacji. Jeśli Google zdążyło zaindeksować „japońskie krzaczki” lub reklamy viagry, twoje SEO mocno ucierpiało.
W ramach czyszczenia zgłaszam stronę do ponownego sprawdzenia w Google Search Console, informując, że problem został rozwiązany. Niestety, proces czyszczenia wyników wyszukiwania może potrwać od kilku dni do nawet kilku tygodni. Tutaj często przydaje się pomoc specjalisty od pozycjonowania. Na mojej stronie w zakładce Marketing internetowy i SEO znajdziesz namiar na eksperta, z którym współpracuję przy takich trudnych przypadkach.
Dlaczego w ogóle doszło do infekcji?
W 99% przypadków, które analizuję, przyczyna jest prozaiczna: brak opieki nad stroną.
WordPress to najpopularniejszy system CMS na świecie, co czyni go głównym celem ataków. Nie są to ataki personalne – to automatyczne boty, które czeszą internet w poszukiwaniu nieaktualnych wtyczek z lukami bezpieczeństwa. Jeśli twoja strona „wisi” w sieci bez aktualizacji przez kilka miesięcy, to jest jak dom z otwartymi drzwiami w niebezpiecznej dzielnicy. Kwestią czasu jest, kiedy ktoś wejdzie do środka.
Inne częste przyczyny to:
- Bardzo słabe hasła typu
admin123. - Tani, niesprawdzony hosting bez firewalla.
- Nieaktualna wersja PHP na serwerze
- Aktualizowanie wtyczek i WordPressa, ale zapominanie o aktualizowaniu motywu
- Pobieranie płatnych wtyczek i motywów z nielegalnych źródeł (tzw. nulled) – one prawie zawsze mają „gratis” w postaci wirusa.
Lepiej zapobiegać niż leczyć
Case study, które opisałem, skończyło się happy endem. Strona działa, wirus zniknął, a klient odzyskał spokój. Ale kosztowało to sporo nerwów i pieniędzy, których można było uniknąć.
Sprzątanie po włamaniu jest zawsze droższe niż regularna profilaktyka. Wyobraź sobie, że tracisz sklep internetowy w szczycie sezonu sprzedażowego. Do tego dochodzą kwestie prawne: jeśli prowadzisz sklep i wyciekły dane klientów, zgodnie z RODO może czekać cię zgłoszenie naruszenia do UODO. To biurokratyczny koszmar, który jest tematem na zupełnie osobny artykuł, ale wierz mi – wolisz tego uniknąć.
Dlatego, jeśli prowadzisz biznes online, np. sklep internetowy WooCommerce, nie możesz pozwolić sobie na przestoje.
Rozwiązaniem jest stała opieka techniczna. W ramach takiej usługi:
- Regularnie aktualizuję system WordPress, wtyczki i motyw
- Robię codzienne kopie zapasowe (w chmurze, poza twoim serwerem)
- Monitoruję stronę pod kątem dostępności (Uptime)
- Reaguję, zanim problem stanie się krytyczny
Jeśli nie chcesz martwić się o techniczne aspekty, dobrym rozwiązaniem może być też strona na abonament. W tym modelu to ja biorę na siebie pełną odpowiedzialność za bezpieczeństwo i aktualizacje, a ty po prostu korzystasz z gotowego narzędzia do biznesu.
Twoja strona dziwnie się zachowuje?
Jeśli widzisz u siebie podobne objawy – nieoczekiwane przekierowania, nowych użytkowników, których nie tworzyłeś, albo reklamy tam, gdzie ich nie powinno być – nie czekaj. Każdy dzień zwłoki to strata zaufania twoich klientów i spadki w Google.
Nie wiesz, czy twoja strona jest bezpieczna, bo dawno nikt do niej nie zaglądał? Napisz do mnie przez formularz kontaktowy. Szybko zdiagnozuję problem, usunę złośliwe oprogramowanie i zabezpieczę twoją witrynę, żebyś mógł spać spokojnie.