WordPress napędza dużą część stron w internecie, co czyni go częstym celem automatycznych ataków. Dobra wiadomość jest taka, że zdecydowana większość włamań korzysta ze znanych, łatwych do zamknięcia luk: Nieaktualnych wtyczek, słabych haseł i braku kopii zapasowej. Ten poradnik zbiera zabezpieczenia, które realnie ograniczają ryzyko, i pokazuje, jak je wdrożyć na hostingu webh.
Skąd biorą się włamania na WordPress
Boty skanują internet w poszukiwaniu stron z lukami, a nie konkretnie Twojej witryny. Atak najczęściej trafia w jeden z trzech punktów:
- Nieaktualne oprogramowanie: stara wtyczka, motyw lub rdzeń WordPress ze znaną podatnością.
- Słabe logowanie: proste hasło do
wp-adminłamane metodą prób i błędów (atak siłowy). - Niezaufane dodatki: wtyczki i motywy z nielegalnych źródeł, często z ukrytym kodem.
Kolejne sekcje zamykają te furtki po kolei. Im więcej z nich wdrożysz, tym mniej atrakcyjnym celem stajesz się dla automatów.
Aktualizuj rdzeń, wtyczki i motywy
To najważniejszy i najtańszy zabezpieczenie. Twórcy wtyczek łatają luki w aktualizacjach, więc niezaktualizowany dodatek to znana dziura, którą boty potrafią wykorzystać.
- Zaloguj się do panelu administracyjnego WordPress (
/wp-admin). - Wejdź w Kokpit → Aktualizacje i zainstaluj dostępne aktualizacje rdzenia, wtyczek i motywów.
- Włącz automatyczne aktualizacje dla wtyczek, którym ufasz (lista wtyczek, opcja Włącz automatyczne aktualizacje).
Wskazówka
Przed większą aktualizacją zadbaj o aktualną kopię, najlepiej własną, a w razie potrzeby skorzystasz też z automatycznych kopii hostingu. Jeśli aktualizacja coś popsuje, w kilka minut wrócisz do działającej wersji.
Usuwaj wtyczki i motywy, których nie używasz. Nieaktywny dodatek nadal leży na serwerze i nadal może mieć lukę, a nieużywany kod to niepotrzebne ryzyko.
Instaluj wtyczki i motywy tylko z zaufanych źródeł
Każda wtyczka to cudzy kod uruchamiany na Twojej stronie. Pobieraj dodatki wyłącznie z oficjalnego katalogu WordPress.org lub od sprawdzonych producentów.
- Unikaj “darmowych” wersji płatnych wtyczek z przypadkowych stron. Często zawierają ukryte tylne furtki (backdoory), przez które atakujący wraca na stronę mimo zmiany haseł.
- Sprawdzaj, czy wtyczka jest aktualizowana i ma dużą liczbę aktywnych instalacji. Porzucony dodatek nie dostanie poprawki, gdy znajdzie się w nim luka.
Ustaw silne hasła i ogranicz konta
Większość ataków na logowanie to zgadywanie haseł. Mocne, unikalne hasło wystarcza, by takie próby były bezskuteczne.
- Używaj długiego, losowego hasła do
wp-admin, oddzielnego dla każdej usługi (menedżer haseł to ułatwia). - Nie zostawiaj loginu admin. Załóż konto administratora o innej nazwie, a domyślne usuń.
- Każdej osobie nadawaj własne konto i tylko taką rolę, jakiej naprawdę potrzebuje (np. Redaktor zamiast Administrator). Mniej kont z pełnymi uprawnieniami to mniej miejsc, przez które można przejąć stronę.
Wskazówka
Włącz uwierzytelnianie dwuskładnikowe (2FA) dla kont administratorów, korzystając z wtyczki do 2FA. Nawet jeśli ktoś pozna hasło, bez drugiego składnika się nie zaloguje.
Zabezpiecz stronę logowania
Adres /wp-admin i /wp-login.php to najczęściej atakowane miejsce w WordPress. Warto utrudnić do niego dostęp.
- Korzystasz już z firewalla webh. Przed Twoją stroną działa firewall hostingu, który blokuje znaczną część automatycznych ataków, zanim dotrą do serwisu. Domyślnie dopuszcza dostęp do
wp-admintylko z Polski i całkowicie blokujexmlrpc.php, czyli częsty cel ataków. Jak dostosować te reguły, opisujemy w artykule o firewallu hostingu. - Ogranicz liczbę prób logowania wtyczką, która blokuje adres IP po kilku błędnych próbach. To zatrzymuje ataki siłowe.
- Dołóż dodatkowe hasło na poziomie serwera. W panelu hostingowym możesz objąć katalog logowania ochroną hasłem, dzięki czemu do panelu WordPress trzeba przejść przez dodatkowe okno logowania. Krok po kroku opisujemy to w artykule o zabezpieczaniu katalogu hasłem.
Informacja
Jeśli zablokujesz sobie dostęp własnym adresem IP lub regułą firewalla, sprawdź, jak odblokować połączenie, w poradniku o firewallu hostingu i błędzie 403.
Wymuś HTTPS i ważny certyfikat SSL
Bez szyfrowania hasło i dane logowania wędrują przez sieć otwartym tekstem. Certyfikat SSL szyfruje połączenie, a wymuszenie HTTPS sprawia, że nikt nie korzysta ze strony po niezabezpieczonym http.
- Wygeneruj darmowy certyfikat SSL dla domeny zgodnie z poradnikiem o SSL.
- Wymuś przekierowanie całego ruchu na HTTPS, jak opisujemy w artykule o przekierowaniach i wymuszaniu HTTPS.
Rób kopie zapasowe
Kopia zapasowa nie zapobiega włamaniu, ale jest najważniejszą polisą: Pozwala wrócić do czystej wersji strony, gdy coś pójdzie nie tak. Najlepiej trzymać własną kopię (pliki i bazę danych naraz), przechowywaną poza serwerem strony, bo wtedy masz ją pod kontrolą niezależnie od tego, co stanie się z witryną. Dodatkowym zabezpieczeniem są automatyczne kopie hostingu, które powstają co godzinę i z których przywrócisz stronę samodzielnie z panelu, co opisujemy w poradniku o kopiach zapasowych.
Zadbaj o konfigurację WordPress
Kilka ustawień po stronie WordPress domyka mniej oczywiste furtki.
- Wyłącz edytor plików w panelu. Domyślnie administrator może edytować kod motywu i wtyczek z poziomu
wp-admin. Po przejęciu konta to wygodne narzędzie dla atakującego. Wyłączysz je, dodając w plikuwp-config.php:
define( 'DISALLOW_FILE_EDIT', true );
- Odśwież klucze zabezpieczające (sole). W
wp-config.phpznajdują się klucze szyfrujące sesje. Po podejrzeniu włamania wygeneruj nowe na oficjalnym generatorze WordPress i podmień, co wyloguje wszystkich zalogowanych.
Uwaga
wp-config.php zawiera dane dostępowe do bazy danych. Nie udostępniaj go nikomu i nie wgrywaj jego kopii (np. wp-config.php.bak) do katalogu strony, bo taki plik bywa pobierany wprost z przeglądarki.
Korzystaj z aktualnej wersji PHP
WordPress działa na PHP, a starsze wersje języka przestają dostawać poprawki bezpieczeństwa. Nowsza wersja jest też szybsza. Jak sprawdzić i zmienić wersję PHP dla swojej strony, opisujemy w artykule o wersjach PHP.
Monitoruj stronę i rozważ wtyczkę bezpieczeństwa
Wtyczka bezpieczeństwa (np. typu firewall aplikacyjny i skaner) skanuje pliki w poszukiwaniu zmian, ogranicza próby logowania i ostrzega o podejrzanych zdarzeniach. Nie zastępuje aktualizacji i kopii zapasowych, ale dokłada warstwę czujnika, który szybciej wychwyci problem.
Warto też zaglądać do statystyk i logów strony. Nagłe skoki ruchu albo dziwne zapytania potrafią być pierwszym sygnałem ataku.
Jak rozpoznać, że doszło do włamania
Im wcześniej zauważysz problem, tym mniej szkód. Typowe objawy:
- Strona przekierowuje odwiedzających na obce, podejrzane adresy.
- W wynikach wyszukiwania lub na stronie pojawiają się treści, których nie dodawałeś (np. reklamy, spam).
- Przeglądarka lub wyszukiwarka ostrzega, że strona jest niebezpieczna.
- W panelu WordPress widnieją nieznane konta administratorów albo nowe, nieinstalowane przez Ciebie wtyczki.
- Strona nagle zwalnia lub serwer wysyła duże ilości poczty (spam z Twojej domeny).
Co zrobić po włamaniu
- Zmień wszystkie hasła: do
wp-admin, bazy danych, FTP/SSH i panelu klienta. - Wykonaj kopię stanu obecnego (do analizy), a następnie przywróć stronę z czystej kopii sprzed incydentu, korzystając z poradnika o kopiach.
- Zaktualizuj wszystko (rdzeń, wtyczki, motywy) i usuń dodatki z niepewnych źródeł.
- Odśwież klucze zabezpieczające w
wp-config.php, żeby wylogować ewentualnego intruza. - Jeśli nie masz pewności, że strona jest czysta, napisz zgłoszenie do wsparcia webh. Pomożemy ustalić, co się stało, i wskazać dalsze kroki.
Uwaga
Samo usunięcie widocznych zmian zwykle nie wystarcza. Atakujący często zostawia tylną furtkę (backdoor), przez którą wraca mimo zmiany haseł. Najpewniejsze jest przywrócenie czystej kopii sprzed włamania i dopiero potem domknięcie luki, która do niego doprowadziła.
Najczęstsze pytania
Czy webh zabezpiecza moją stronę WordPress za mnie?
Dbamy o bezpieczeństwo infrastruktury (serwery, sieć, firewall hostingu blokujący znaczną część automatycznych ataków), ale za samą aplikację WordPress odpowiadasz Ty. Aktualizacje, hasła, wtyczki i kopie zapasowe pozostają po stronie właściciela strony.
Czy wtyczka bezpieczeństwa wystarczy, żeby być bezpiecznym?
Nie zastąpi podstaw. Najwięcej daje połączenie aktualizacji, silnych haseł i regularnych kopii zapasowych. Wtyczka bezpieczeństwa to wartościowy dodatek, a nie zamiennik tych działań.
Mam kopię zapasową, więc po co dodatkowe zabezpieczenia?
Kopia pozwala wrócić do działającej strony, ale nie powstrzymuje włamania ani jego skutków (np. rozsyłania spamu czy ostrzeżeń w wyszukiwarce). Zabezpieczenia zmniejszają szansę, że w ogóle będziesz musiał z kopii korzystać.
Czy stara wersja PHP jest niebezpieczna?
Wersje PHP po zakończeniu wsparcia nie dostają już poprawek bezpieczeństwa, więc lepiej korzystać z aktualnej. Zmianę wersji opisujemy w artykule o PHP.