Większość tekstów o zhakowanym WordPressie pisze ktoś, kto czytał o problemie. Ten piszemy z drugiej strony — to nasza własna strona została zainfekowana, a skutki sprzątamy do dziś.
Opisujemy to z liczbami, bo nigdzie nie znaleźliśmy uczciwej odpowiedzi na pytanie, ile takie odzyskiwanie realnie trwa. Wszędzie było „szybko i sprawnie".
Co się stało
Wcześniejsza wersja naszej strony stała na WordPressie. Infekcja nie objawiła się awarią ani komunikatem — strona działała normalnie, wyglądała normalnie, a w panelu nie było nic niepokojącego na pierwszy rzut oka.
Problem widać było wyłącznie w jednym miejscu: w Google. Zamiast kilkunastu naszych podstron w indeksie zaczęły pojawiać się tysiące adresów, których nikt nie tworzył. Wygenerowane maszynowo, wypchane spamem, podpięte pod naszą domenę.
To nie jest sytuacja, w której usuwa się kilka plików i temat się kończy. To domena, która w oczach wyszukiwarki przestała być stroną firmy, a stała się farmą spamu.
Dlaczego to trwa tak długo
Tu jest sedno, którego nie mówi się przy sprzedaży usługi „odwirusowanie strony". Atak dzieli się na dwie zupełnie różne rzeczy:
Wyczyszczenie strony — dni
Usunięcie złośliwego kodu, wymiana rdzenia, zablokowanie punktu wejścia, zmiana haseł. To jest wykonalne w kilka dni i to właśnie sprzedaje większość firm.
Sprzątanie w Google — miesiące
Wyszukiwarka ma już w indeksie tysiące adresów. Trzeba je usunąć, a Google robi to we własnym tempie: musi ponownie odwiedzić każdy adres, zobaczyć, że już nie istnieje, i dopiero wtedy go wyrzucić. Przy dziesiątkach tysięcy adresów to praca na kwartały.
Firma, która obiecuje Wam usunięcie skutków ataku w tydzień, mówi wyłącznie o pierwszym punkcie. Warto o to dopytać, zanim zapłacicie.
Co robiliśmy krok po kroku
1. Decyzja o technologii
Mogliśmy wyczyścić WordPressa i zostawić. Zdecydowaliśmy inaczej — przenieśliśmy stronę na Astro, czyli technologię bez bazy danych, bez wtyczek i bez panelu logowania pod znanym adresem.
Powód był prosty: znika cała kategoria zagrożeń, która doprowadziła do ataku. Nie ma wtyczki, która się zestarzeje, i nie ma bazy, do której da się coś wstrzyknąć. To nie jest rozwiązanie dla każdego — opisaliśmy, kiedy ma sens, na osobnej stronie.
2. Uporządkowanie tego, co zostaje
Nowa strona nie mogła po prostu wystartować i udawać, że nic się nie stało. Trzeba było spisać, które adresy istniały przed atakiem, które są śmieciami, i zbudować mapę przekierowań — żeby to, co miało wartość, przeszło na nowy serwis.
3. Zgłoszenia w Search Console
Ta część jest żmudna i nie da się jej przyspieszyć. Śmieciowe adresy trzeba zgłaszać do usunięcia, a potem obserwować, jak indeks powoli się kurczy. Wykres w Search Console spadał tygodniami — z siedemdziesięciu pięciu tysięcy, przez pięćdziesiąt, czterdzieści, dwadzieścia pięć, aż do obecnych ośmiu i pół tysiąca.
Praktyczna obserwacja: Search Console pokazuje osobno „zindeksowane" i „niezindeksowane". Śmieci po ataku lądują zwykle w tej drugiej grupie — i to jest dobra wiadomość, bo znaczy, że Google już ich nie pokazuje. Ale dopóki tam są, konsumują budżet indeksowania, który mógłby iść na Wasze prawdziwe podstrony.
4. Odbudowa treści
Równolegle budowaliśmy to, co miało zająć miejsce śmieci: podstrony usługowe, lokalne, branżowe i artykuły. W dwa miesiące liczba poprawnie zindeksowanych podstron urosła z kilkunastu do osiemdziesięciu pięciu.
To jest ta część, o której się nie mówi: po ataku nie wystarczy posprzątać. Trzeba dać Google powód, żeby wróciło.
Czego nauczyliśmy się po drodze
- Atak nie wymaga, żeby ktoś się Wami interesował. Boty skanują internet automatycznie w poszukiwaniu znanych podatności. Nie trzeba być dużą firmą — wystarczy nie aktualizować.
- Objawy bywają niewidoczne z panelu. Nasza strona działała normalnie. Problem widać było wyłącznie w wynikach wyszukiwania.
- Kopia zapasowa jest bezcenna, ale bywa zainfekowana. Jeśli infekcja siedziała tam od miesiąca, przywrócenie kopii sprzed tygodnia niczego nie rozwiązuje.
- Sprawdzajcie site:wasza-domena.pl regularnie. To pięć sekund i najwcześniejszy sygnał ostrzegawczy, jaki istnieje.
- Skutki są długoterminowe. Domena z historią spamu odzyskuje zaufanie wyszukiwarki wolniej. To realny koszt, którego nie widać na fakturze.
Ile to kosztuje
Uczciwie: samo wyczyszczenie i uszczelnienie strony to zwykle od kilkuset do dwóch–trzech tysięcy złotych, zależnie od skali. Ale przy dużym ataku prawdziwy koszt jest gdzie indziej.
Prawdziwym kosztem są miesiące obniżonej widoczności — czyli zapytania, które nie przyszły. Przy firmie żyjącej z ruchu z Google to znacznie więcej niż faktura za usunięcie wirusa.
Dlatego przy naszej stronie decyzja o zmianie technologii była tańsza niż czyszczenie WordPressa i czekanie na kolejny atak.
Jak tego uniknąć
Trzy rzeczy załatwiają zdecydowaną większość ryzyka i żadna nie jest skomplikowana:
- Aktualizujcie. System, motyw i wtyczki. Nie „kiedyś", tylko regularnie — bo prawie każdy atak wykorzystuje lukę załataną wcześniej przez producenta.
- Mocne hasła i logowanie dwuskładnikowe dla każdego konta administratora.
- Kopie zapasowe poza serwerem strony. Kopia leżąca na tym samym koncie hostingowym co zainfekowana strona jest kopią zainfekowaną.
Do tego jedna rzecz, którą warto sprawdzić dziś: czy Wasza strona nie ujawnia publicznie listy kont administratorów i dokładnej wersji WordPressa. To dwie informacje, od których zaczyna się większość automatycznych ataków — i regularnie znajdujemy je w audytach.
Podsumowanie
Zhakowana strona to nie jest problem informatyczny, który kończy się wraz z usunięciem plików. To kilka miesięcy odbudowy widoczności, a przy dużej skali ataku także decyzja, czy w ogóle warto zostawać przy tej samej technologii.
Jeśli podejrzewacie infekcję, zacznijcie od tekstu jak sprawdzić, czy strona jest zainfekowana. Jeśli już wiecie, że macie problem — tak wygląda odwirusowanie.
Podejrzewacie, że coś jest nie tak?
Sprawdzimy Waszą stronę bezpłatnie — między innymi to, czy ujawnia dane ułatwiające atak i czy w Google nie ma adresów, których nie tworzyliście.
Zamów bezpłatny audyt →