Czy ktoś naprawdę chciałby zaatakować Twoją małą stronę firmową? Szczerze? Tak, ale nie dlatego, że ktoś Cię zna albo Cię wybrał. Prawie nikt nie atakuje stron ręcznie. Robią to boty, automaty, które w kółko skanują cały internet w poszukiwaniu słabych punktów, i nie mają pojęcia czy trafiły na wielką firmę czy na jednoosobowy gabinet kosmetyczny. Dla nich to bez różnicy. Liczy się tylko, czy strona ma jakąś lukę do wykorzystania.
Dlaczego akurat WordPress jest tak często atakowany
WordPress napędza ogromną część stron w internecie. To akurat dobra wiadomość dla Ciebie jako właściciela strony, bo oznacza dużą społeczność i mnóstwo gotowych rozwiązań. Ale to samo sprawia, że dla kogoś, kto pisze złośliwe automaty, WordPress jest po prostu opłacalnym celem. Jedna znaleziona luka, jeden skrypt, i można nią próbować na milionach stron naraz zamiast szukać czegoś unikalnego dla każdej z nich.
Tu jednak jest coś, co warto zrozumieć zanim zaczniesz się bać samego faktu, że masz WordPressa. Zdecydowana większość udanych włamań, ponad 90 procent, nie bierze się z samego rdzenia WordPressa. Bierze się z wtyczek i motywów. Konkretnie z tych, które ktoś zainstalował i zostawił bez aktualizacji, czasem przez rok, dwa, aż w końcu ktoś odkrył w nich dziurę i boty zaczęły jej szukać wszędzie, gdzie ta sama wtyczka jest zainstalowana.
Innymi słowy, sam WordPress nie jest z natury dziurawy. Jest po prostu popularny, a popularność przyciąga uwagę automatów. To trochę jak z zamkami do drzwi. Najpopularniejszy model zamka nie jest gorszy od niszowego, ale skoro pasuje do milionów drzwi, to więcej ludzi uczy się go otwierać.
Jak w praktyce wygląda taki atak
Wyobraź sobie nie jednego hakera przy klawiaturze, tylko program, który non stop odwiedza strony logowania na całym świecie i próbuje się zalogować. Wpisuje login, wpisuje hasło, sprawdza czy zadziałało, i leci dalej. Robi to tysiące razy na godzinę, na tysiącach różnych stron jednocześnie. Twoja strona jest dla niego tylko kolejnym adresem na liście, nie celem wybranym z premedytacją.
Coraz częściej te próby logowania nie są zresztą przypadkowym zgadywaniem haseł. Boty korzystają z ogromnych baz danych loginów i haseł, które wyciekły wcześniej z zupełnie innych serwisów, sklepów internetowych, forów, portali. Jeśli kiedykolwiek użyłeś tego samego hasła do WordPressa co do jakiegoś konta, które później padło ofiarą wycieku, to hasło może już krążyć w takiej bazie. Bot po prostu próbuje je po kolei na różnych stronach, w nadziei że gdzieś zadziała.
A co jeśli się uda? Wtedy strona najczęściej nie znika i nie przestaje działać, przynajmniej nie od razu. Częściej dzieje się coś gorszego po cichu. Ktoś dokłada ukryty kod, który przekierowuje część odwiedzających na inną stronę, dolicza się do sieci stron rozsyłających spam, albo zaczyna brać udział w atakach na inne serwisy, bez Twojej wiedzy. Właściciel dowiaduje się o tym zwykle nie z jakiegoś powiadomienia od WordPressa, tylko od klienta, który napisał, że coś jest nie tak.
Co się realnie traci, gdy strona zostanie przejęta
Znam przypadek małego sklepu stacjonarnego z narzędziami, którego strona przez ponad rok miała nieaktualizowaną wtyczkę do formularza kontaktowego. Nikt tego nie pilnował, bo strona „działała”, a to zwykle jedyny sygnał, na który zwraca się uwagę. Pewnego dnia klienci zaczęli pisać z pytaniem, czy strona nie padła, bo zamiast oferty pokazywała się reklama kasyna online. Właściciel dowiedział się o problemie od klienta, nie z jakiegokolwiek monitoringu, a strona w międzyczasie spadła z Google, bo trafiła na listę stron oznaczonych jako niebezpieczne. Naprawa i odzyskanie pozycji zajęły kilka tygodni.
To pokazuje dobrze, na czym naprawdę polega koszt takiego zdarzenia. Nie chodzi tylko o samą naprawę techniczną, choć to też kosztuje i zwykle liczy się w tysiącach złotych, nie w dziesiątkach. Chodzi o to, że przez ten czas strona nie sprzedaje, nie generuje zapytań, a czasem wręcz odstrasza klientów, którzy trafili na coś, czego się nie spodziewali. Do tego dochodzi utrata pozycji w Google, bo wyszukiwarka też traktuje zainfekowaną stronę jako zagrożenie dla użytkowników i potrafi ją oznaczyć ostrzeżeniem albo obniżyć jej widoczność, dopóki problem nie zostanie usunięty.
Co możesz zrobić sam, za darmo
Dobra wiadomość jest taka, że większość tego, co realnie chroni przed automatycznymi atakami, nie kosztuje nic poza czasem:
- Aktualizuj rdzeń WordPressa, wtyczki i motyw regularnie, najlepiej od razu gdy pojawi się nowa wersja. To najczęstsza dziura, którą boty wykorzystują, i najłatwiejsza do zamknięcia.
- Nie używaj loginu „admin” ani żadnej oczywistej nazwy użytkownika, i ustaw hasło, które nie powtarza się na żadnym innym koncie. Jeśli używasz tego samego hasła gdzie indziej, zmień je.
- Włącz weryfikację dwuetapową logowania (2FA), jeśli tylko Twój panel WordPressa na to pozwala. To pojedynczy krok, który blokuje zdecydowaną większość prób logowania botów, nawet jeśli hasło wycieknie.
- Wybierz jedną, sensowną wtyczkę bezpieczeństwa zamiast kilku naraz. Kilka nakładających się wtyczek tego samego typu częściej ze sobą koliduje, niż faktycznie zwiększa ochronę.
- Sprawdź, czy Twoja strona ma otwarty XML-RPC, czyli stary mechanizm komunikacji WordPressa, który boty lubią wykorzystywać do prób logowania. Wystarczy wpisać w przeglądarce adres swojej strony z dopiskiem /xmlrpc.php. Jeśli zobaczysz komunikat, że serwer akceptuje tylko żądania POST, strona jest otwarta. Prawidłowo zabezpieczona powinna zwrócić błąd dostępu.
Oficjalny przewodnik zabezpieczania WordPressa od WordPress.org rozszerza tę listę o kilka rzeczy, które warto znać, na przykład że certyfikat SSL to dziś standard, nie dodatek, i że tryb debugowania (WP_DEBUG) nigdy nie powinien być włączony na działającej stronie.
Co wymaga już specjalisty
Powyższe kroki zamykają większość oczywistych furtek, ale nie odpowiadają na pytanie, czy Twoja strona ma już jakąś lukę, o której nie wiesz, albo czy w kodzie nie siedzi coś, co ktoś wcześniej zdążył podłożyć. Tego się nie sprawdza na oko. Wymaga to przejrzenia plików, wtyczek, uprawnień na serwerze i konfiguracji, czyli dokładnie tego, co sprawdza audyt techniczny WordPress.
Jeśli Twoja strona nigdy nie przechodziła takiego przeglądu, a jednocześnie obsługuje coś ważnego, formularz kontaktowy, sklep, dane klientów, to jest to dokładnie ten moment, w którym samodzielne „na wszelki wypadek” przestaje wystarczać. Dotyczy to zarówno stron postawionych samodzielnie, jak i tych zamawianych jako gotowa strona internetowa u kogoś innego. Sam fakt, że ktoś ją dla Ciebie zbudował, nie znaczy, że ktoś ją od tamtej pory pilnuje.
Więcej o tym, co dokładnie sprawdzam i jak wygląda cały proces, znajdziesz na stronie audytów.
Najczęstsze pytania
Czy mała firma naprawdę jest celem ataków? Tak, ale nie w sensie, w jakim większość ludzi to sobie wyobraża. Boty nie sprawdzają, jak duża jest Twoja firma, tylko czy strona ma lukę do wykorzystania. Mała strona jest równie „atrakcyjna” co duża, jeśli korzysta z nieaktualnej wtyczki.
Czy wtyczka bezpieczeństwa wystarczy zamiast aktualizacji? Nie. Wtyczka bezpieczeństwa dodaje warstwę ochrony i monitoringu, ale nie zamyka luk, które siedzą w nieaktualnym kodzie innych wtyczek czy motywu. Jedno bez drugiego nie daje pełnego obrazu.
Co to jest XML-RPC? To starszy mechanizm w WordPressie, który pozwala na komunikację z zewnętrznymi aplikacjami, na przykład publikowanie postów spoza panelu. Rzadko jest dziś faktycznie potrzebny, a boty chętnie go wykorzystują do prób logowania, więc jeśli go nie używasz, warto go zablokować.
Ile kosztuje naprawa zhakowanej strony? Zależy od skali problemu, ale zwykle mówimy o kwocie liczonej w tysiącach złotych, do tego dochodzi czas przestoju i utracone zapytania od klientów w międzyczasie. To zwykle znacznie więcej niż koszt regularnych aktualizacji albo jednorazowego audytu.
Czy WordPress jest mniej bezpieczny niż inne platformy? Nie ma na to dobrych dowodów. WordPress jest po prostu najpopularniejszą platformą, więc statystycznie odpowiada za większość zainfekowanych stron w internecie, ale to efekt skali, nie dowód na to, że sam system jest gorzej zbudowany od alternatyw.
Jeśli nie wiesz, od czego zacząć sprawdzanie własnej strony, śmiało napisz, zrobię to za Ciebie. 🙂

