webh.pl

Jak zabezpieczyć WordPress przed włamaniem

Praktyczny przegląd zabezpieczeń WordPress: aktualizacje, hasła, ochrona logowania, kopie zapasowe i sygnały włamania, z gotowymi krokami w panelu webh.

  • czytania
  • Zaktualizowano:
WordPress Bezpieczeństwo
Hosting

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ć.

  1. Zaloguj się do panelu administracyjnego WordPress (/wp-admin).
  2. Wejdź w Kokpit → Aktualizacje i zainstaluj dostępne aktualizacje rdzenia, wtyczek i motywów.
  3. 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-admin tylko z Polski i całkowicie blokuje xmlrpc.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.

  1. Wygeneruj darmowy certyfikat SSL dla domeny zgodnie z poradnikiem o SSL.
  2. 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 pliku wp-config.php:
define( 'DISALLOW_FILE_EDIT', true );
  • Odśwież klucze zabezpieczające (sole). W wp-config.php znajdują 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

  1. Zmień wszystkie hasła: do wp-admin, bazy danych, FTP/SSH i panelu klienta.
  2. Wykonaj kopię stanu obecnego (do analizy), a następnie przywróć stronę z czystej kopii sprzed incydentu, korzystając z poradnika o kopiach.
  3. Zaktualizuj wszystko (rdzeń, wtyczki, motywy) i usuń dodatki z niepewnych źródeł.
  4. Odśwież klucze zabezpieczające w wp-config.php, żeby wylogować ewentualnego intruza.
  5. 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.