• WordPress

Jak zabezpieczyć witrynę WordPress przed prawdziwymi zagrożeniami?

  • Felix Rose-Collins
  • 18 min read

Wprowadzenie

Większość ataków hakerskich na WordPress nie polega na tym, że ktoś celowo atakuje Twoją stronę. Zazwyczaj są to zautomatyzowane boty, które przeszukują internet w poszukiwaniu typowych słabych punktów, takich jak przestarzała wtyczka, słabe hasło logowania lub pozostawione otwarte ustawienie. Jeśli Twoja strona wygląda na łatwą do złamania, boty mogą zacząć próbować w ciągu kilku minut.

Nie musisz być inżynierem ds. bezpieczeństwa, aby ją chronić. Potrzebujesz kilku podstawowych zabezpieczeń, które dobrze ze sobą współdziałają. Zablokuj kluczowe ustawienia WordPressa. Dodaj reguły serwerowe. Dbaj o aktualizację wszystkich elementów. Tworzenie kopii zapasowych i monitorowanie powinny być obowiązkowe. Dzięki temu wcześnie wykryjesz problemy i szybko je naprawisz, zamiast odkrywać szkody dopiero po kilku tygodniach.

Ten przewodnik ma charakter praktyczny. Zaczynamy od podstawowych zasad o dużym znaczeniu, a następnie przechodzimy do bardziej zaawansowanych metod wzmacniania bezpieczeństwa.

Typowe ataki na bezpieczeństwo witryn WordPress {#common-security-attacks-on-wordpress-sites}

Większość ataków na WordPress przebiega według znanego schematu. Boty najpierw sprawdzają typowe punkty wejścia, a potem przechodzą do tego, co najłatwiej wykorzystać.

Common Security Attacks on WordPress Sites

Oto najczęstsze zagrożenia, z którymi spotkasz się na prawdziwych stronach WordPress.

Brute Force {#brute-force}

Metoda brute force działa, ponieważ łatwo ją zautomatyzować i nadal się opłaca. Zamiast zgadywać jedno hasło, boty próbują tysięcy nazw użytkowników i haseł na minutę na stronach logowania. Jeszcze skuteczniejsze jest wypełnianie danych uwierzytelniających (credential stuffing), ponieważ wykorzystuje ono dane uwierzytelniające, które wyciekły w wyniku innych naruszeń. Jeśli wyciekające dane uwierzytelniające pasują, następuje natychmiastowy dostęp administratora.

Kiedy tak się dzieje, zauważysz skoki ruchu, powtarzające się przekierowania i mnóstwo nieudanych logowań w logach wtyczek lub serwera. Nawet bez włamania, to obciąża procesor, spowalnia witrynę i zalewa logi.

Podatne na ataki wtyczki i motywy {#vulnerable-plugins-and-themes}

Zdarzają się problemy z rdzeniem WordPressa, ale prawdziwym problemem są zazwyczaj wtyczki i motywy. Atakujący atakują je, ponieważ wykrycie wersji jest łatwe, a kod wykorzystujący lukę rozprzestrzenia się szybko.

Poznaj Ranktracker

Platforma "wszystko w jednym" dla skutecznego SEO

Za każdym udanym biznesem stoi silna kampania SEO. Ale z niezliczonych narzędzi optymalizacji i technik tam do wyboru, może być trudno wiedzieć, gdzie zacząć. Cóż, nie obawiaj się więcej, ponieważ mam właśnie coś, co może pomóc. Przedstawiamy Ranktracker - platformę all-in-one dla skutecznego SEO.

W końcu otworzyliśmy rejestrację do Ranktrackera całkowicie za darmo!

Załóż darmowe konto

Lub Zaloguj się używając swoich danych uwierzytelniających

Sygnały ostrzegawcze to porzucone wtyczki, darmowe kopie narzędzi premium i opóźnione aktualizacje. Skutki mogą być różne – od zdalnego wykonania kodu po kradzież bazy danych i wstrzykiwanie spamu SEO.

Wstrzykiwanie złośliwego oprogramowania {#malware-injection}

Złośliwe oprogramowanie często ukrywa się w miejscach, do których ma się dostęp do zapisu lub które są pomijane. Może to być złośliwy skrypt umieszczony w katalogu wp-content/uploads/, plik wtyczki po cichu zmodyfikowany za pomocą niechlujnego kodu PHP lub kod wstrzyknięty do bazy danych, dzięki czemu rozprzestrzenia się poprzez szablony lub posty.

Typowe oznaki to przekierowania tylko na urządzenia mobilne, tajemniczy użytkownicy admin, dziwne zadania cron, nietypowe zaplanowane zadania, skoki liczby żądań wychodzących oraz ostrzeżenia o nadużyciach w Search Console lub na serwerze. Często prowadzi to do powtarzających się infekcji, spamu i ryzyka umieszczenia na czarnej liście.

Ataki spamowe SEO {#seo-spam-attacks}

Spam SEO nie zawsze jest widoczny dla ludzi. Atakujący dodają ukryte linki, strony spamowe lub treści, które widzą tylko roboty indeksujące. Mogą wstrzykiwać spam do bazy danych, dodawać nieautoryzowane mapy witryn lub modyfikować plik .htaccess, aby wyświetlać innym treści botom.

Pierwsze oznaki zwykle pojawiają się w wynikach wyszukiwania: dziwne zindeksowane adresy URL i nagłe spadki ruchu. Twoja domena zaczyna być pozycjonowana jako spam, a prawdziwe strony tracą widoczność. Oczyszczanie trwa dłużej, ponieważ spam jest często rozproszony po całej bazie danych.

Wstrzyknięcie kodu SQL {#sql-injection}

Wstrzyknięcie kodu SQL ma miejsce, gdy wtyczka lub niestandardowy kod wysyła niebezpieczne dane do bazy danych. Typowe oznaki to dziwne ciągi zapytań w adresach URL, alerty SQLi w logach zapory sieciowej oraz nagłe skoki obciążenia bazy danych. Może to prowadzić do kradzieży danych, zmian treści oraz stałego dostępu, jeśli atakujący zmodyfikują użytkowników lub ustawienia.

Fałszowanie żądań międzywitrynowych {#cross-site-request-forgery}

Fałszowanie żądań międzywitrynowych (CSRF) ma miejsce, gdy jesteś zalogowany do WordPressa, a wtyczka nie przeprowadza odpowiednich kontroli bezpieczeństwa. Atakujący może nakłonić Cię do kliknięcia linku, który wyzwala działania, takie jak tworzenie użytkowników, zmiana adresów e-mail lub aktualizacja ustawień.

Sygnałem ostrzegawczym jest każda zmiana administracyjna, która następuje zaraz po kliknięciu, a której nie zamierzałeś dokonać. Logi mogą nadal wyglądać normalnie, ponieważ operacja przebiega w ramach Twojej sesji, ale może ona po cichu zmienić uprawnienia i doprowadzić do przejęcia kontroli.

Cross-Site Scripting {#cross-site-scripting}

Cross-Site Scripting (XSS) ma miejsce, gdy wtyczka lub motyw wyświetla treści użytkownika bez ich uprzedniego oczyszczenia. Stored XSS jest gorszy, ponieważ złośliwy kod zostaje zapisany i może zostać uruchomiony później, nawet w panelu administracyjnym, umożliwiając atakującym zmianę ustawień, dodawanie użytkowników lub instalowanie wtyczek.

Możesz zauważyć dziwne skrypty w postach lub ustawieniach, przekierowania dostępne tylko po zalogowaniu lub zmiany, których nie wprowadziłeś. Może to prowadzić do przejęcia sesji i trwałej infekcji zapisanej w bazie danych.

Podstawowe zasady bezpieczeństwa {#baseline-security-essentials}

Zacznij od podstaw, które eliminują łatwe punkty wejścia i sprawiają, że Twoja konfiguracja jest domyślnie trudniejsza do złamania.

Wybierz bezpieczny hosting WordPress {#choose-a-secure-wordpress-hosting}

Możesz wzmocnić zabezpieczenia WordPressa, a mimo to paść ofiarą słabego hostingu. Hosting kontroluje środowisko, w którym działa Twoja witryna, a środowisko to ma ogromny wpływ na bezpieczeństwo.

Oto, co powinien zawierać hosting zorientowany na bezpieczeństwo.

  • Izolacja i bezpieczne ustawienia domyślne

Jeśli Twoja witryna znajduje się na zatłoczonym serwerze, gdzie konta mogą na siebie wzajemnie wpływać, narażasz się na dodatkowe ryzyko. Poszukaj silnej izolacji kont, rozsądnych uprawnień do plików oraz konfiguracji, która domyślnie nie pozostawia otwartych ryzykownych usług.

  • Ochrona na poziomie serwera

Solidny hosting zajmuje się regułami zapory sieciowej, filtrowaniem botów, instalowaniem poprawek bezpieczeństwa i wzmocnionymi konfiguracjami. Nie powinieneś musieć logować się na serwer i zmieniać ustawień tylko po to, żeby był wystarczająco bezpieczny.

  • Kopie zapasowe i szybkie przywracanie

Kiedy coś idzie nie tak, liczy się szybkość. Automatyczne kopie zapasowe i szybkie przywracanie danych ratują Twoją firmę.

  • Widoczność

Dzienniki dostępu, dzienniki błędów i wskaźniki wydajności pomagają wykryć ataki brute force, problemy z PHP i skoki zużycia zasobów, zanim doprowadzą one do awarii.

  • SSL

Certyfikaty SSL szyfrują logowania i sesje, dzięki czemu dane pozostają prywatne podczas przesyłania. Bezpieczny hosting ułatwia konfigurację certyfikatów i ich automatyczną rotację, aby uniknąć problemów związanych z wygaśnięciem.

Poznaj Ranktracker

Platforma "wszystko w jednym" dla skutecznego SEO

Za każdym udanym biznesem stoi silna kampania SEO. Ale z niezliczonych narzędzi optymalizacji i technik tam do wyboru, może być trudno wiedzieć, gdzie zacząć. Cóż, nie obawiaj się więcej, ponieważ mam właśnie coś, co może pomóc. Przedstawiamy Ranktracker - platformę all-in-one dla skutecznego SEO.

W końcu otworzyliśmy rejestrację do Ranktrackera całkowicie za darmo!

Załóż darmowe konto

Lub Zaloguj się używając swoich danych uwierzytelniających

Na zarządzanych platformach WordPress wiele zabezpieczeń jest już wdrożonych, aby powstrzymać typowe zagrożenia, zanim dotrą one do WordPressa. Na przykład hosting zarządzany Cloudways obejmuje funkcje bezpieczeństwa na poziomie platformy, takie jak zapory sieciowe, automatyczne kopie zapasowe, opcjonalne dodatki WAF i SafeUpdates. Nawet wtedy nadal odpowiadasz za aktualizacje i kontrolę dostępu, ale zaczynasz od bezpieczniejszych podstaw.

Cloudways oferuje również migrację stron internetowych z pomocą ekspertów, a pierwsza migracja jest wliczona w cenę.

Zainstaluj certyfikat SSL {#install-an-ssl-certificate}

Czy zauważyłeś kiedyś małą ikonę kłódki obok adresu URL strony internetowej? Oznacza to, że Twoja strona korzysta z protokołu HTTPS. Informuje to odwiedzających, że połączenie z Twoją stroną jest bezpieczne, a ich dane są chronione. Bez tego hakerzy mogliby przechwycić poufne informacje, takie jak dane logowania lub dane dotyczące płatności.

SSL (Secure Sockets Layer) szyfruje dane przesyłane między Twoją stroną a odwiedzającymi. Chroni ten ruch, dzięki czemu hasła i dane klientów nie są przesyłane w postaci zwykłego tekstu. Niezależnie od tego, czy prowadzisz bloga, sklep czy portfolio, zainstalowanie certyfikatu SSL nie jest już opcjonalne – jest niezbędne.

Wybierz opcję SSL

Większość dostawców usług hostingowych oferuje bezpłatną opcję SSL, którą można włączyć za pomocą kilku kliknięć. W Cloudways możesz włączyć bezpłatny certyfikat Let’s Encrypt bezpośrednio z platformy.

Jeśli potrzebujesz certyfikatu przeznaczonego dla firm lub konkretnej weryfikacji, możesz również kupić go od dostawców takich jak DigiCert lub Sectigo.

Wygeneruj CSR

Żądanie podpisania certyfikatu (CSR) to żądanie wysyłane przez serwer do dostawcy certyfikatu. Zazwyczaj opcja Generuj CSR znajduje się w panelu hostingowym.

Dodaj podstawowe informacje, takie jak domena, nazwa organizacji i lokalizacja, a następnie wygeneruj CSR. Twój dostawca wykorzysta go do wydania certyfikatu.

Zweryfikuj własność domeny

Przed wydaniem certyfikatu musisz udowodnić, że jesteś właścicielem domeny. W zależności od dostawcy zazwyczaj oznacza to jedno z następujących działań: potwierdzenie wiadomości e-mail z weryfikacją, dodanie rekordu DNS lub przesłanie małego pliku weryfikacyjnego. Po pomyślnym przejściu tej weryfikacji certyfikat zostanie wydany.

Zainstaluj certyfikat

Zainstaluj lub prześlij certyfikat w panelu hostingowym. Poszukaj sekcji takiej jak „Zarządzanie SSL” lub „Ustawienia bezpieczeństwa”, a następnie postępuj zgodnie z instrukcjami, aby przypisać certyfikat do odpowiedniej domeny.

Install the certificate

Wymuś HTTPS

Po zainstalowaniu SSL upewnij się, że cały ruch domyślnie kierowany jest do HTTPS. Dzięki temu odwiedzający zawsze trafią do bezpiecznej wersji Twojej witryny.

Można to zrobić za pomocą wtyczki takiej jak Really Simple SSL lub wymusić HTTPS dla panelu administracyjnego WordPressa, wprowadzając następujące ustawienie w pliku wp-config.php:

Zaktualizuj linki wewnętrzne

Jeśli Twoja witryna nadal odwołuje się do starych adresów URL HTTP w ustawieniach lub bazie danych, przeglądarki mogą wyświetlać ostrzeżenia o mieszanej zawartości. Zaktualizuj te linki wewnętrzne, aby wszystko ładowało się przez HTTPS.

Oprócz bezpieczeństwa, SSL buduje zaufanie i może pomóc w SEO. To szybka aktualizacja, która pokazuje odwiedzającym, że poważnie traktujesz prywatność.

Aktualizuj WordPress, motywy i wtyczki {#keep-wordpress-themes-and-plugins-updated}

Aktualizacje to bezpieczeństwo. Większość wydań naprawia znane luki. Gdy luka w zabezpieczeniach zostanie upubliczniona, boty skanują witryny, które nadal korzystają ze starej wersji, i właśnie w tym momencie dochodzi do infekcji.

Aktualizuj rdzeń WordPress

Aktualizacje rdzenia często zawierają poprawki bezpieczeństwa, nawet jeśli wydanie wydaje się niewielkie.

Update WordPress Core

Wykonaj następujące kroki, aby zaktualizować rdzeń WordPressa:

  • Przejdź do panelu administracyjnego WordPressa → Aktualizacje.
  • W sekcji WordPress kliknij Aktualizuj teraz, jeśli aktualizacja jest dostępna.
  • Po zakończeniu otwórz swoją witrynę i upewnij się, że się ładuje oraz że możesz się zalogować.

Praktyczna procedura aktualizacji

  • Włącz automatyczne aktualizacje przynajmniej dla wersji drugorzędnych.
  • W przypadku dużych aktualizacji korzystaj ze środowiska testowego.
  • Zarezerwuj comiesięczny czas na konserwację w celu instalowania poprawek i przeprowadzania testów regresji.

Jeśli wybierzesz platformę hostingową, taką jak Cloudways, funkcja SafeUpdates planuje aktualizacje rdzenia WordPressa, wtyczek i motywów poprzez proces tworzenia kopii zapasowych i testowania, zanim zmiany zostaną wprowadzone do środowiska produkcyjnego.

Aktualizacja motywów

Wykonaj poniższe kroki, aby zaktualizować motyw WordPress:

  • Przejdź do panelu administracyjnego WordPressa → Aktualizacje.

Updates

  • Jeśli na liście znajdują się aktualizacje motywów, zaznacz pola wyboru, a następnie kliknij Aktualizuj motywy.
  • Po zakończeniu sprawdź, czy strona główna, menu i kluczowe strony ładują się poprawnie.

Usuń nieużywane wtyczki i motywy

Nieaktywne wtyczki i motywy pozostają na serwerze. Usuń je, aby zmniejszyć ryzyko związane z bezpieczeństwem i ograniczyć powierzchnię ataku.

themes

Lista kontrolna czyszczenia:

  • Usuń nieużywane wtyczki i motywy. Dezaktywacja pozostawia po sobie pliki.
  • Najpierw przetestuj usunięcie na serwerze testowym w przypadku wtyczek związanych z formularzami, buforowaniem, SEO lub e-commerce.
  • Zachowaj tylko aktywny motyw i jedną kopię zapasową.
  • Po czyszczeniu sprawdź, czy logowanie, formularze, realizacja transakcji i wyszukiwanie działają.
  • Co miesiąc przeglądaj zainstalowane wtyczki i motywy.

​​Wykonaj poniższe czynności, aby usunąć nieużywaną wtyczkę WordPress:

  • W panelu administracyjnym WordPressa przejdź do sekcji WtyczkiZainstalowane wtyczki.
  • Znajdź wtyczkę, której nie potrzebujesz.
  • Kliknij Dezaktywuj. Po tym pojawi się opcja Usuń.
  • Kliknij Usuń i potwierdź, jeśli pojawi się monit.

Następnie wykonaj poniższe czynności, aby usunąć nieużywany motyw:

  • W panelu administracyjnym WordPressa przejdź do WyglądMotywy.
  • Kliknij motyw, którego nie potrzebujesz.
  • Kliknij Usuń i potwierdź, jeśli pojawi się monit.

Wybieraj sprawdzone motywy i wtyczki

Nie wszystkie wtyczki zasługują na zaufanie, nawet jeśli ich funkcje wyglądają świetnie. Zwracaj uwagę na regularne aktualizacje, przejrzystą dokumentację, aktywne wsparcie techniczne oraz zgodność z aktualnymi wersjami WordPressa.

Krótkie sprawdzenie przed instalacją:

  • Unikaj porzuconych wtyczek i motywów.
  • Unikaj wtyczek i motywów z łamanych wersji.
  • Zachowaj ostrożność w przypadku pobrań spoza oficjalnych sklepów, chyba że ufasz dostawcy.
  • Pomiń wszystko, co nie zostało ostatnio zaktualizowane lub nie obsługuje w sposób jednoznaczny Twojej aktualnej wersji WordPressa.

Praktyczne działania związane z bezpieczeństwem {#practical-security-operations}

Oto standardowe kroki, które zmniejszają codzienne ryzyko, ograniczają aktywność botów i pomagają wcześnie wykrywać problemy.

Atakujący atakują stronę logowania, ponieważ jest ona przewidywalna i zawsze dostępna. Zabezpiecz punkty dostępu administratora, aby boty napotykały przeszkodę, a skradzione hasła nie przekładały się na natychmiastowy dostęp.

Użyj uwierzytelniania dwuskładnikowego {#use-two-factor-authentication}

Uwierzytelnianie dwuskładnikowe zapobiega większości przypadków przejęcia konta poprzez wypełnianie danych uwierzytelniających i ponowne wykorzystanie danych uwierzytelniających. Włączenie tej funkcji dla kont administratora blokuje logowanie nawet w przypadku kradzieży hasła.

Aby włączyć uwierzytelnianie dwuskładnikowe na swojej stronie WordPress, wybierz renomowaną wtyczkę 2FA i aplikację uwierzytelniającą na telefon. Popularne wtyczki 2FA to między innymi miniOrange 2FA, WP 2FA, Wordfence Login Security i Two Factor.

Włącz uwierzytelnianie dwuskładnikowe:

  • W panelu administracyjnym WordPressa przejdź do sekcji WtyczkiDodaj nową.
  • Wyszukaj wtyczkę 2FA, a następnie zainstaluj ją i aktywuj.
  • Otwórz menu wtyczki z lewego paska bocznego, zazwyczaj w sekcji Bezpieczeństwo lub jako osobna pozycja.
  • Znajdź opcję Uwierzytelnianie dwuskładnikowe lub 2FA, a następnie wybierz opcję Aplikacja uwierzytelniająca.
  • Zeskanuj kod QR w aplikacji uwierzytelniającej lub wprowadź klucz konfiguracyjny.
  • Wprowadź kod jednorazowy w celu potwierdzenia, a następnie kliknij Włącz lub Aktywuj.
  • Pobierz kody odzyskiwania i zapisz je w menedżerze haseł.

Wymuś 2FA dla ról administratora:

  • Otwórz ustawienia wtyczki, zazwyczaj w sekcji Ustawienia lub Bezpieczeństwo2FA.
  • Włącz opcję Wymagaj 2FA.
  • Zastosuj to dla ról Administratora i Redaktora, a także dodaj Menedżera sklepu, jeśli prowadzisz sklep internetowy.
  • Zapisz zmiany po zarejestrowaniu co najmniej dwóch kont administratora na oddzielnych urządzeniach.

2FA

Zmień domyślny adres URL logowania {#change-the-default-login-url}

Większość witryn WordPress używa tych samych domyślnych adresów URL: /wp-login.php do logowania i /wp-admin/ do panelu administracyjnego. Boty znają te adresy URL, więc próbują je wielokrotnie.

Zmiana adresu URL logowania nie powstrzyma zdeterminowanego atakującego, ale może ograniczyć automatyczny spam logowania i próby ataków brute force.

Wykonaj poniższe kroki, aby zmienić domyślny adres URL logowania w WordPress:

  • Przejdź do sekcji WtyczkiDodaj nową.
  • Zainstaluj wtyczkę do zmiany adresu URL logowania, a następnie ją aktywuj.
  • Otwórz ustawienia wtyczki w sekcji Ustawienia lub Bezpieczeństwo.
  • Ustaw nowy adres URL logowania i zapisz zmiany.
  • Wyloguj się i przetestuj nowy adres URL w oknie incognito.

Użyj unikalnej nazwy użytkownika administratora {#use-a-unique-admin-username}

** **„admin” to pierwsze hasło, które pojawia się na każdej liście ataków brute force. Użycie go daje atakującym połowę tego, czego potrzebują.

Wykonaj poniższe czynności, aby używać unikalnej nazwy użytkownika administratora w WordPress:

  • Przejdź do sekcji UżytkownicyDodaj nowego.
  • Utwórz nowego użytkownika z unikalną nazwą użytkownika. Nie używaj nazwy swojej domeny, nazwy marki ani przedrostka adresu e-mail.
  • Ustaw rolę na Administrator, a następnie utwórz konto.
  • Wyloguj się i zaloguj ponownie jako nowy użytkownik z uprawnieniami administratora.
  • Przejdź do UżytkownicyWszyscy użytkownicy.
  • Znajdź stare konto administratora i zmień jego rolę na niższą lub je usuń. Jeśli je usuniesz, przypisz jego zawartość do nowego administratora, gdy WordPress wyświetli monit.

Ogranicz liczbę prób logowania {#limit-login-attempts}

Nie pozwól botom na nieograniczoną liczbę prób wpisywania haseł. Po kilku nieudanych próbach zablokuj adres IP na jakiś czas.

Najpierw proste opcje

  • Zainstaluj wtyczkę obsługującą ograniczanie częstotliwości, taką jak Wordfence, Limit Login Attempts Reloaded lub Loginizer.
  • Włącz ograniczenie częstotliwości w panelu zapory sieciowej Twojego dostawcy usług hostingowych, jeśli jest to możliwe.

Zaawansowana konfiguracja serwera

Przykład ograniczenia szybkości w Nginx (zalecane, jeśli kontrolujesz konfigurację Nginx):

Dodaj to w kontekście HTTP Nginx:

Następnie dodaj limit dla punktu końcowego logowania wewnątrz bloku serwera:

Wskazówka: Zwiększ wartość „rate” lub „burst”, jeśli blokowani są legalni użytkownicy. Dokładnie przetestuj.

Używaj silnych haseł administratora {#use-strong-admin-passwords}

Hasła administratora nie muszą być łatwe do zapamiętania. Muszą być trudne do odgadnięcia. Użyj menedżera haseł, aby wygenerować długie, losowe hasła i upewnij się, że każde konto administratora ma swoje unikalne hasło. W ten sposób, jeśli jedna usługa zostanie zhakowana, dostęp administratora do WordPressa nie zostanie naruszony.

Wskazówki dotyczące konfiguracji:** **

  • Jeśli to możliwe, wyłącz ponowne używanie haseł w polityce organizacji.
  • Natychmiast zmieniaj hasła administratora, gdy członek zespołu odchodzi.

Wykonaj poniższe kroki, aby zmienić hasło administratora w WordPressie:

  • Przejdź do sekcji UżytkownicyWszyscy użytkownicy.
  • Edytuj użytkownika administratora.
  • Kliknij Ustaw nowe hasło, a następnie Zaktualizuj użytkownika.

Korzystaj z zalecanych wtyczek zabezpieczających WordPress {#use-recommended-wordpress-security-plugins}

Wtyczki zabezpieczające nie rozwiążą wszystkich problemów, ale mogą zapewnić szybką ochronę i znacznie lepszą widoczność. Szukasz logów, które faktycznie przydadzą się, gdy coś będzie wyglądało podejrzanie.

Dobra wtyczka zabezpieczająca zawiera:

  • Monitorowanie integralności plików w celu wykrywania nieoczekiwanych zmian
  • Ochrona logowania i wymóg uwierzytelniania dwuskładnikowego
  • Skanowanie w poszukiwaniu złośliwego oprogramowania z jasną ścieżką czyszczenia i odzyskiwania
  • Powiadomienia i dzienniki audytowe, które faktycznie można przejrzeć
  • Podstawowe reguły zapory

Gdy już wiesz, czego szukasz, zainstaluj jedną z renomowanych wtyczek, takich jak Wordfence, Sucuri lub All In One WP Security. Narzędzia te zapewniają ochronę logowania, wykrywanie zmian w plikach oraz logi, a także mogą blokować wiele typowych zagrożeń, w tym próby ataków brute force.

Aby zainstalować wtyczkę zabezpieczającą WordPress, wykonaj następujące kroki:

  • Przejdź do sekcji WtyczkiDodaj nową.
  • Wyszukaj wtyczkę zabezpieczeń.
  • Kliknij Zainstaluj teraz, a następnie Aktywuj.
  • Otwórz wtyczkę z lewego paska bocznego i uruchom kreatora konfiguracji, jeśli jest dostępny.

Wskazówki dotyczące konfiguracji:

  • Używaj jednej głównej wtyczki zabezpieczającej, aby uniknąć konfliktów i powtórzeń.
  • Wyłącz funkcje, których nie będziesz używać, zwłaszcza intensywne skanowanie na ruchliwych stronach.
  • Jeśli Twój dostawca usług hostingowych oferuje funkcję ograniczania przepustowości lub blokowania, skorzystaj z niej w miarę możliwości w celu ochrony przed atakami typu brute force.

Rozwiązywanie problemów:

  • Jeśli zostaniesz zablokowany w panelu administracyjnym WordPressa, sprawdź reguły zapory sieciowej i najpierw zmniejsz poziom restrykcyjności trybu ścisłego.
  • Dodaj swój adres IP do białej listy, aby nie zablokować dostępu własnemu zespołowi.
  • Przejrzyj logi przed wyłączeniem ochrony, aby sprawdzić, co spowodowało blokadę.

Użyj zapory sieciowej i skanowania w poszukiwaniu złośliwego oprogramowania {#use-a-firewall-and-malware-scanning}

Zapory sieciowe zatrzymują ataki, zanim dotrą one do WordPressa. Skanowanie w poszukiwaniu złośliwego oprogramowania sprawdza następnie pliki i bazę danych pod kątem manipulacji.

Jeśli nie masz kontroli nad konfiguracją serwera, skorzystaj z panelu zapory sieciowej swojego dostawcy usług hostingowych lub wtyczki zabezpieczającej, takiej jak Wordfence lub Sucuri, aby ograniczyć liczbę logowań oraz spowolnić lub zablokować XML-RPC.**

Konfiguracja zapory

Stosuj warstwy. WAF na obrzeżach sieci, reguły serwerowe dla niepożądanego ruchu oraz skanowanie w poszukiwaniu złośliwego oprogramowania w celu oczyszczenia systemu.

Firewall setup

Na platformach zarządzanych możesz włączyć wbudowaną zaporę sieciową aplikacji internetowych z blokowaniem adresów IP lub krajów. Na przykład Cloudways oferuje opcjonalny dodatek Cloudflare Enterprise do filtrowania na obrzeżach sieci i ochrony przed botami.

Skanowanie w poszukiwaniu złośliwego oprogramowania

Skanuj w poszukiwaniu nieoczekiwanych zmian w plikach i wstrzyknięć do baz danych (linki spamowe, ukryte skrypty).

Zaplanuj regularne kontrole pod kątem:

  • Modyfikacje plików i nieznany kod PHP w katalogu wp-content/uploads
  • Spam w bazie danych lub wstrzyknięty kod
  • Podejrzane zadania cron i połączenia wychodzące

Cloudways zapewnia dodatek Malware Protection oparty na Imunify360 do skanowania na poziomie serwera i automatycznego czyszczenia.

Wykonaj poniższe kroki, aby usunąć złośliwe oprogramowanie z WordPressa:

  • Włącz tryb konserwacji.
  • Zidentyfikuj punkt wejścia (podatna wtyczka, słabe dane uwierzytelniające).
  • Zmień wszystkie klucze (hasła administratora/bazy danych, sole, klucze SSH).
  • Przywróć system z czystej kopii zapasowej.
  • Napraw przyczynę źródłową przed uruchomieniem serwisu.

Zaawansowane zabezpieczenia techniczne {#advanced-technical-hardening}

Zaawansowane zabezpieczenia techniczne to wzmocnienie konfiguracji WordPressa wykraczające poza podstawowe ustawienia. Te kroki skupiają się na konfiguracji, kontrolach serwera i zasadach dostępu, które zmniejszają narażenie i ograniczają szkody w przypadku naruszenia loginu lub wtyczki.

Zabezpiecz plik wp-config.php {#secure-the-wp-config-php-file}

Plik wp-config.php zawiera dane uwierzytelniające do bazy danych oraz tajne klucze. Traktuj go jak skarbiec kluczy.

Ustaw ścisłe uprawnienia za pomocą następującego polecenia:

chmod 400 wp-config.php.

Uniemożliwi to innym użytkownikom i procesom odczytanie lub modyfikację pliku. Użyj 440, jeśli Twój serwer WWW potrzebuje grupowego dostępu do odczytu.

Jeśli strona przestanie działać przy ustawieniu 400, zmień na 440 i upewnij się, że właściciel grupy jest zgodny z tym, pod jakim konto działa Twój serwer.

Aby zapewnić dodatkową ochronę, jeśli pozwala na to konfiguracja, przenieś plik wp-config.php o jeden poziom wyżej niż katalog główny serwisu. WordPress nadal będzie go ładował automatycznie.

Ogranicz role i uprawnienia użytkowników {#limit-user-roles-and-permissions}

Przypisuj użytkownikom tylko te uprawnienia, których potrzebują (zasada minimalnych uprawnień). Zapobiega to przejęciu całej witryny przez zhakowane konto.

Wykonaj poniższe kroki, aby ograniczyć role i uprawnienia użytkowników w WordPressie:

  • Przejdź do UżytkownicyWszyscy użytkownicy.
  • Kliknij użytkownika, którego chcesz sprawdzić.
  • W menu rozwijanym Rola wybierz najniższą rolę, jakiej potrzebuje, na przykład Subskrybent, Współautor, Autor lub Redaktor.
  • Kliknij „Zaktualizuj użytkownika”.

Powtórz tę czynność dla każdego konta z uprawnieniami administratora i odejmij uprawnienia wszystkim, którzy ich nie potrzebują. Usuń lub wyłącz nieaktywne konta, z których nikt już nie korzysta.

Jeśli potrzebujesz specjalnego dostępu, użyj niestandardowych ról i sprawdź uprawnienia przed ich przypisaniem. Co kwartał sprawdzaj role i usuwaj niepotrzebny dostęp administratora. Ogranicza to możliwości atakującego, który zdobył skradzione dane logowania.

Wyłącz edycję plików z poziomu pulpitu nawigacyjnego {#disable-file-editing-from-the-dashboard}

Wyłącz wbudowany edytor motywów i wtyczek. W ten sposób zhakowane konto administratora nie będzie mogło szybko umieścić złośliwego kodu w plikach Twojej witryny.

Wykonaj poniższe kroki, aby wyłączyć edycję plików z poziomu pulpitu nawigacyjnego WordPress:

  • Połącz się ze swoją witryną za pomocą SFTP lub menedżera plików dostawcy hostingu.
  • Edytuj plik wp-config.php w katalogu głównym WordPressa i dodaj:
  • Zapisz plik.
  • Sprawdź sekcję Wygląd w panelu administracyjnym WordPressa. Edytor motywów zniknie. Edytor wtyczek również zniknie.

Jeśli Twój zespół korzysta z edycji w panelu administracyjnym, przenieś ten proces do wdrożeń opartych na Git lub SFTP z kontami o ograniczonych uprawnieniach.

Wyłącz XML-RPC {#disable-xml-rpc}

XML-RPC jest częstym punktem wejścia dla ataków brute force i nadużyć pingbacków. Zablokuj go na poziomie WordPressa lub serwera.

Opcja A: Wyłącz w WordPress

  • Dodaj następujący kod do pliku functions.php lub niestandardowej wtyczki:
  • Zapisz plik.
  • Otwórz punkt końcowy xmlrpc.php w przeglądarce, odwiedzając stronę https://yourdomain.com/xmlrpc.php Zobaczysz ogólny komunikat XML-RPC, ale żądania XML-RPC nie będą już działać.

Spowoduje to wyłączenie XML-RPC na poziomie WordPressa. Punkt końcowy xmlrpc.php nadal może być atakowany, więc aby zapewnić pełną ochronę i zmniejszyć obciążenie, zablokuj go na serwerze WWW lub w WAF.

Opcja B: Zablokuj na poziomie serwera WWW**

Blokowanie XML-RPC na serwerze jest najskuteczniejszym rozwiązaniem, ponieważ zatrzymuje żądania przed uruchomieniem PHP.

Nginx:

  • Otwórz plik konfiguracyjny Nginx swojej witryny dla danej domeny.
  • Dodaj regułę dla xmlrpc.php w bloku serwera.
  • Zaktualizuj Nginx.

Apache:

  • Edytuj konfigurację Apache'a swojej witryny lub plik .htaccess, jeśli jest to dozwolone.
  • Dodaj regułę bloku xmlrpc.php.
  • Zaktualizuj Apache.

Dzięki temu żądania nigdy nie docierają do WordPressa, co zmniejsza obciążenie i odcina typowe ścieżki ataków XML-RPC.

Uwaga: Jeśli wtyczka Jetpack lub aplikacja mobilna WordPressa potrzebuje XML-RPC, nie blokuj go całkowicie. Zamiast tego ogranicz liczbę żądań i, jeśli to możliwe, zezwól na dostęp tylko z zaufanych adresów IP.

Kopie zapasowe i monitorowanie {#backups-and-monitoring}

Przygotuj się na awarie. Kopie zapasowe pozwalają na szybkie przywrócenie danych. Monitorowanie pokazuje, co się zmieniło.

Regularnie twórz kopie zapasowe swojej witryny {#back-up-your-website-regularly}

Kopie zapasowe nie są opcjonalne. Stanowią one wyjście awaryjne w przypadku, gdy aktualizacja zakłóci działanie serwisu, wtyczka zostanie naruszona lub nieprawidłowe wdrożenie zniszczy bazę danych.

Chodzi o to, aby zachować czystą kopię witryny, którą można szybko przywrócić, bez zgadywania, czego brakuje.

Ręczna kopia zapasowa

Wykonaj poniższe kroki, aby wykonać kopię zapasową swojej witryny WordPress:

  • Zainstaluj i aktywuj wtyczkę do tworzenia kopii zapasowych z menu WtyczkiDodaj nową.
  • Otwórz wtyczkę i uruchom opcję „Utwórz kopię zapasową teraz” z zaznaczonymi plikami i bazą danych.
  • Zapisz kopię na zewnętrznym nośniku, jeśli jest to możliwe.

Automatyczna kopia zapasowa

Większość hostów zarządzanych WordPress domyślnie oferuje automatyczne kopie zapasowe, zazwyczaj tworzone codziennie, przechowywane przez określony czas i dostępne jako punkty przywracania za pomocą jednego kliknięcia z panelu hostingowego.

Automated backup

Wybierz harmonogram w oparciu o to, jak często zmienia się Twoja witryna.

  • Codziennie: Dla aktywnych stron z częstymi aktualizacjami, komentarzami lub zamówieniami.
  • Co tydzień: Dla stron marketingowych, na których wprowadzane są niewielkie zmiany.
  • Co miesiąc:** **Gdy treść rzadko się zmienia.

Pełna kopia zapasowa obejmuje bazę danych, folder wp-content (zwłaszcza pliki przesłane) oraz pliki konfiguracyjne, jeśli Twoja konfiguracja nie odtwarza ich automatycznie.

Najlepsze praktyki:

  • Przechowuj kopie zapasowe poza siedzibą firmy. Awaria serwera ich nie usunie.
  • Zachowaj wiele punktów przywracania, a nie tylko najnowszą kopię.
  • Regularnie testuj przywracanie danych. Niesprawdzone kopie zapasowe nie są sprawdzone. Możesz mieć nadzieję, że zadziałają, gdy będzie to miało znaczenie.

Jeśli przywracanie trwa zbyt długo lub kończy się niepowodzeniem, kopia zapasowa jest zazwyczaj zbyt rozbudowana. Sprawdź wzrost rozmiaru kopii zapasowej, często spowodowany plikami dziennika lub katalogami pamięci podręcznej wewnątrz wp-content. Wyklucz katalogi pamięci podręcznej z kopii zapasowych, jeśli Twoja platforma może je bezpiecznie odtworzyć.

Monitoruj swoją witrynę {#monitor-your-site}

Zabezpieczenia pomagają, ale monitorowanie pozwala wychwycić to, co się wymyka. Wykrywaj problemy wcześnie. Przygotuj logi, aby prześledzić, co się stało.

Monitorowanie czasu działania

Kontrole dostępności pozwalają wykryć, kiedy strona przestaje działać lub pojawiają się na niej niepożądane zmiany, takie jak zhakowana strona główna, aktualizacja powodująca błędy w PHP lub atak powodujący przeciążenie serwera.

Narzędzia do monitorowania dostępności, takie jak UptimeRobot (oferujące hojny bezpłatny pakiet) lub Pingdom, obsługują kontrole HTTP i słów kluczowych na stronie głównej oraz kluczowych podstronach.

Praktyczna konfiguracja:

  • Monitoruj swoją stronę główną oraz jedną ważną stronę, która działa bez logowania, np. stronę z cennikiem, stronę płatności lub główną stronę docelową.
  • Używaj zarówno sprawdzania statusu HTTP, jak i sprawdzania słów kluczowych, aby zhakowana strona, która nadal zwraca normalną odpowiedź 200, nie umknęła Twojej uwadze.

Alerty bezpieczeństwa

Ustaw alerty dla zdarzeń, które sygnalizują przejęcie konta, manipulację lub odchylenia.

Wtyczki bezpieczeństwa, takie jak Wordfence lub Sucuri, ostrzegają o nagłym wzroście liczby logowań, zmianach w plikach i nowych użytkownikach z uprawnieniami administratora.

Wykonaj poniższe kroki, aby skonfigurować alerty w WordPressie:

  • Przejdź do sekcji WtyczkiDodaj nową.
  • Zainstaluj i aktywuj wtyczkę zabezpieczającą, która obsługuje alerty.
  • Otwórz wtyczkę z lewego paska bocznego.
  • W ustawieniach wtyczki znajdź opcję Alerty lub Powiadomienia.
  • Włącz alerty dla:
    • Utworzenie nowego użytkownika administratora
    • Zmiany w plikach wtyczki lub motywu
    • Skoki liczby logowań lub powtarzające się błędy
    • Dostępne krytyczne aktualizacje wtyczek
    • Problemy z DNS lub certyfikatem SSL
  • Przekieruj alerty krytyczne do Slacka lub PagerDuty. Zachowaj e-maile dla powiadomień o niskim priorytecie.

Dzienniki aktywności

W trakcie incydentu logi odpowiadają na jedyne pytania, które mają znaczenie: co się zmieniło, kiedy to nastąpiło, kto to zmienił i skąd.

Praktyczna konfiguracja:

  • Rejestruj działania administratora, takie jak tworzenie użytkowników, instalacje wtyczek i zmiany ustawień.
  • Przechowuj logi wystarczająco długo, aby móc zbadać powolne naruszenia bezpieczeństwa.
  • Połącz logi aktywności z logami dostępu do serwera, aby móc skorelować adresy IP i agenty użytkowników.

Wykonaj poniższe kroki, aby włączyć dzienniki aktywności w WordPressie:

  • Przejdź do sekcji WtyczkiDodaj nową.
  • Zainstaluj i aktywuj wtyczkę rejestrującą aktywność.
  • Otwórz wtyczkę z lewego paska bocznego.
  • Włącz rejestrowanie działań administratora, takich jak tworzenie użytkowników, instalowanie wtyczek i zmiany ustawień.
  • Ustaw, jak długo mają być przechowywane logi, a następnie zapisz.
  • Jeśli jest to możliwe, włącz eksport dziennika lub przekazywanie go do zewnętrznej pamięci.

Jeśli logi rosną zbyt szybko, zmniejsz ich objętość bez utraty sygnałów, które będą potrzebne później.

  • Zmniejsz poziom szczegółowości dla zdarzeń niekrytycznych.
  • Agresywnie rotuj logi.
  • Przenoś do zewnętrznej pamięci logów, jeśli jest dostępna.

Końcowe przemyślenia {#final-thoughts}

Zabezpieczenia WordPressa zazwyczaj zawodzą z prostych powodów. Małe luki pozostają otwarte zbyt długo: pominięte aktualizacje, słabe hasła lub zbyt szeroki dostęp administratora.

Jeśli masz zrobić tylko jedną rzecz, niech to będzie konsekwencja. Regularnie aktualizuj rdzeń WordPressa, motywy i wtyczki. Wprowadź uwierzytelnianie dwuskładnikowe (2FA) na kontach administracyjnych. Używaj długich, unikalnych haseł i unikaj oczywistych nazw użytkowników. Utrzymuj HTTPS na każdej stronie, aby logowanie, sesje i dane formularzy pozostawały zaszyfrowane.

Gdy podstawy są już na miejscu, dodaj dodatkową ochronę. Używaj zapory sieciowej, aby blokować złośliwy ruch, zanim dotrze on do Twojej witryny. Uruchamiaj skanowanie w poszukiwaniu złośliwego oprogramowania i monitorowanie zmian w plikach, aby móc wcześnie wykrywać problemy. Przechowuj kopie zapasowe poza siedzibą firmy, zachowuj wiele punktów przywracania i testuj przywracanie, aby odzyskiwanie danych było przewidywalne.

Dzięki tym środkom Twoja witryna WordPress będzie trudniejsza do złamania, łatwiejsza do monitorowania i szybka do przywrócenia, jeśli coś pójdzie nie tak.

Często zadawane pytania {#frequently-asked-questions}

1. Czy WordPress jest bezpieczny?

Tak, WordPress jest bezpieczny, jeśli przestrzegasz podstawowych zasad: aktualizuj rdzeń, motywy i wtyczki; używaj silnych, unikalnych haseł i uwierzytelniania dwuskładnikowego (2FA) dla administratorów; wybierz hosting z izolacją i zaporami sieciowymi; wykonuj regularne kopie zapasowe.

2. Czy WordPress ma wbudowane zabezpieczenia?

Tak. Rdzeń WordPressa zawiera solidne podstawy, takie jak role i uprawnienia, ochronę działań administratora, bezpieczne haszowanie haseł oraz regularne aktualizacje zabezpieczeń. Większość rzeczywistych włamań wynika z przestarzałych wtyczek i motywów, słabych danych logowania lub nieprawidłowo skonfigurowanych serwerów, a nie z domyślnej instalacji rdzenia, która jest aktualizowana.

Poznaj Ranktracker

Platforma "wszystko w jednym" dla skutecznego SEO

Za każdym udanym biznesem stoi silna kampania SEO. Ale z niezliczonych narzędzi optymalizacji i technik tam do wyboru, może być trudno wiedzieć, gdzie zacząć. Cóż, nie obawiaj się więcej, ponieważ mam właśnie coś, co może pomóc. Przedstawiamy Ranktracker - platformę all-in-one dla skutecznego SEO.

W końcu otworzyliśmy rejestrację do Ranktrackera całkowicie za darmo!

Załóż darmowe konto

Lub Zaloguj się używając swoich danych uwierzytelniających

3. Czy moja witryna WordPress została zhakowana?

Zwróć uwagę na oczywiste sygnały ostrzegawcze, takie jak nieoczekiwane przekierowania, nowi użytkownicy administracyjni, których nie utworzyłeś, zmiany plików motywów lub wtyczek bez wdrożenia, dziwne zaplanowane zadania i nagłe wzrosty liczby logowań. Sprawdź logi wtyczek bezpieczeństwa i logi dostępu do serwera. Jeśli korzystasz z Google Search Console, poszukaj ostrzeżeń i nieznanych zindeksowanych adresów URL.

4. Jak skonfigurować moją witrynę WordPress na HTTPS?

Zainstaluj certyfikat SSL w panelu hostingowym. Następnie zaktualizuj adres URL strony głównej WordPressa i adres URL witryny na HTTPS oraz wymuś HTTPS dla obszaru administracyjnego i interfejsu użytkownika. Jeśli widzisz ostrzeżenia o mieszanej zawartości, zastąp zakodowane na stałe linki HTTP w bazie danych i zasobach motywu. Jeśli korzystasz z serwera proxy lub modułu równoważenia obciążenia, upewnij się, że WordPress rozpoznaje oryginalne żądanie jako HTTPS, aby uniknąć pętli przekierowań.

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Zacznij używać Ranktrackera... Za darmo!

Dowiedz się, co powstrzymuje Twoją witrynę przed zajęciem miejsca w rankingu.

Załóż darmowe konto

Lub Zaloguj się używając swoich danych uwierzytelniających

Different views of Ranktracker app