„Działa, to po co ruszać" - to zdanie słyszę najczęściej na chwilę przed katastrofą. Strona WordPress bez opieki nie psuje się z dnia na dzień. Psuje się po cichu, etapami, według scenariusza, który widziałem już kilkanaście razy. Oto on, miesiąc po miesiącu.
Miesiące 1-2: nic nie widać (i to jest pułapka)
Strona wygląda i działa dokładnie tak samo jak w dniu odbioru. W tle dzieje się jednak coś, czego nie widać: ekosystem WordPressa publikuje kilkadziesiąt poprawek bezpieczeństwa miesięcznie - do rdzenia, wtyczek i motywów. Każda niezainstalowana poprawka to publicznie opisana dziura: listy podatności (CVE) są jawne, więc włamywacz nie musi niczego odkrywać. Wystarczy, że sprawdzi, czego nie zaktualizowałeś.
W tym okresie nikt nie zagląda też do kopii zapasowych. Zwykle „gdzieś się robią" - na tym samym serwerze, na którym stoi strona. Zapamiętaj ten szczegół, wróci w miesiącu ósmym.
Miesiące 3-4: pierwsze rysy
Formularz kontaktowy zaczyna przepuszczać spam, w zapleczu pojawia się dziwne konto „użytkownika", strona ładuje się zauważalnie wolniej. To jeszcze nie włamanie - to zwykła entropia: przestarzałe wtyczki konfliktują ze sobą, a wersja PHP na hostingu właśnie straciła wsparcie.
Właściciel zwykle kwituje to zdaniem „trzeba będzie kiedyś zrobić porządek". Tymczasem automaty skanujące internet już wiedzą, że ta strona ma wersję wtyczki z podatnością sprzed pół roku. Nie osoba - automat. Włamania na małe strony nie są osobiste, są hurtowe.
Miesiące 5-7: ciche włamanie
To najciekawszy etap, bo na stronie nadal nic nie widać. Włamywacz nie zmienia treści ani nie wiesza czaszki na stronie głównej - to amatorszczyzna. Profesjonalny skrypt zostawia sobie tylne wejście (backdoor) i dokleja do strony tysiące ukrytych linków: apteczne specyfiki, kasyna, podróbki. Widzi je wyłącznie Googlebot - technika nazywa się cloaking.
Twoja strona pracuje teraz na czyjeś pozycje w Google. Dokładnie taki przypadek opisałem w kronice naprawy strony kliniki: dwa lata bez opieki, kilkanaście tysięcy doklejonych podstron ze spamem i backdoory w trzech miejscach.
Miesiące 8-10: Google się orientuje
Pozycje w wyszukiwarce zaczynają spadać - najpierw powoli, potem skokowo. W Google Search Console (jeśli ktokolwiek do niej zagląda) pojawia się raport z setkami dziwnych podstron w obcych językach. Przy wynikach wyszukiwania potrafi wisieć komunikat „ta witryna mogła paść ofiarą ataku" - zaproszenie, żeby kliknąć konkurencję.
Wtedy zwykle pada pomysł „przywróćmy kopię". I wtedy wychodzi na jaw, że kopia robiła się na tym samym serwerze - i od trzech miesięcy zawiera już zainfekowane pliki. Czysta wersja strony nie istnieje nigdzie.
Miesiące 11-12: finał
Serwer zaczyna wysyłać spam mailowy, więc hosting zawiesza konto - taki obowiązek zapisany jest w każdym regulaminie. Przeglądarki pokazują czerwony ekran ostrzeżenia (czarna lista Safe Browsing). Dzwonią klienci: „wasza strona nie działa, coś tam się wyświetla o wirusach". Wizerunkowo to najdroższy telefon w historii firmy.
Rachunek za ten rok: czyszczenie po włamaniu, ponowna weryfikacja w Google, odbudowa pozycji (miesiące), utracone zapytania z okresu spadków i zaufanie, którego nie widać w żadnej fakturze. Wszystko to za oszczędność na opiece, której koszt roczny jest niższy niż jedna taka awaria.
Jak ten scenariusz przerwać (dzisiaj, w 20 minut)
- Zrób kopię poza serwerem - teraz, choćby ręcznie na dysk. Kopia na tym samym hostingu to nie kopia, to złudzenie.
- Zaktualizuj rdzeń, wtyczki i motyw - po kopii, nie przed.
- Usuń wtyczki, których nie używasz - każda to dodatkowe drzwi do pilnowania.
- Włącz dwuskładnikowe logowanie do zaplecza i zmień hasło, jeśli ma więcej niż rok.
- Zajrzyj do Google Search Console - raport „Problemy dotyczące bezpieczeństwa" powie Ci, czy scenariusz z tego artykułu przypadkiem już się nie zaczął.
A jeśli wolisz, żeby ktoś pilnował tego za Ciebie - dokładnie po to istnieje stała opieka nad stroną: aktualizacje po testach, kopie poza serwerem, monitoring całodobowy i reakcja w 24 h, zanim problem zdąży urosnąć do rozmiaru z tej kroniki.
Częste pytania
Jak sprawdzić, czy moja strona WordPress została zhakowana?
Trzy szybkie testy: wpisz w Google „site:twojadomena.pl" i sprawdź, czy nie ma dziwnych podstron w obcych językach; zajrzyj do raportu Problemy dotyczące bezpieczeństwa w Google Search Console; przejrzyj listę użytkowników i wtyczek w zapleczu pod kątem pozycji, których nie znasz. Jeśli cokolwiek budzi wątpliwości - nie kasuj niczego samodzielnie, tylko zabezpiecz kopię i skonsultuj się ze specjalistą.
Jak często trzeba aktualizować WordPressa?
Poprawki bezpieczeństwa najlepiej instalować w ciągu kilku dni od publikacji, a pełny przegląd wtyczek i motywu robić co miesiąc. W praktyce bezpieczne minimum dla firmowej strony to comiesięczny serwis z kopią zapasową przed każdą aktualizacją.
Czy nie wystarczą automatyczne aktualizacje?
Automatyczne aktualizacje są lepsze niż żadne, ale mają dwie wady: potrafią wyłożyć stronę konfliktem wtyczek (bez nikogo, kto to zauważy), a nie obejmują wszystkiego - licencje premium, motywy i PHP na serwerze nadal wymagają człowieka. Automat też nie sprawdzi, czy kopia zapasowa faktycznie da się odtworzyć.