Jak zabezpieczyć witrynę WordPress – kompletny przewodnik po bezpieczeństwie WordPressa

Przewodnik po bezpieczeństwie WordPressa

Twoja strona wygląda świetnie, masz znakomity ruch i ogólnie jesteś zadowolony. Jednak to wszystko jest nic niewarte, jeśli Twoja strona zostanie zhakowana, a Ty stracisz treści, klientów i dostęp do witryny.

Aby temu zapobiec, napisałem tę kompleksową koncepcję bezpieczeństwa dla Twojej witryny WordPress.

Przeanalizowałem cały artykuł Hardening WordPress, aby pokazać Ci, jak wdrożyć wszystkie zalecenia dotyczące bezpieczeństwa w prostym przewodniku krok po kroku i sprawić, by Twoja witryna WordPress była kuloodporna na próby hakerskie.

Wideo: jak zabezpieczyć witrynę WordPress

Jeśli zamiast czytać ten artykuł o tym, jak zabezpieczyć witrynę WordPress, wolisz obejrzeć wideo, możesz obejrzeć ten film:

Chcesz zobaczyć więcej takich filmów?
Check out our kanał YouTube.

Podzieliłem ten artykuł na trzy kroki.

  • Najpierw przyglądamy się fundamentowi bezpiecznej witryny WordPress, czyli dostawcy hostingu.
  • W drugim kroku instalujemy wtyczkę „WP STAGING", aby stworzyć siatkę bezpieczeństwa przy instalacji nowych wtyczek lub motywów. Skonfigurujemy także wtyczkę do kopii zapasowych, aby szybko przywrócić witrynę WordPress w najgorszym przypadku — po skutecznym ataku hakerskim.
  • W ostatnim kroku konfigurujemy wtyczkę bezpieczeństwa „Solid Security", aby zapobiec uzyskaniu dostępu do naszej witryny przez atakujących.

Wybór odpowiedniego dostawcy hostingu

Zacznijmy od fundamentu bezpieczeństwa Twojej strony: dostawcy hostingu.

Dostawców hostingu jest mnóstwo i większość spełnia minimalne wymagania WordPressa, ale wybranie jednego z tłumu może być czasochłonne.

  1. PHP w wersji 7.4 lub nowszej.
  2. MySQL w wersji 8.0 lub nowszej LUB MariaDB w wersji 10.5 lub nowszej.
  3. Obsługa HTTPS

[Dotyczy WordPressa 6.7 – marzec 2025]

W każdym razie sprawdź, czy Twój dostawca spełnia te wymagania.

Jeśli nie jesteś pewien, którego dostawcę wybrać, wybierz jednego z dostawców hostingu rekomendowanych przez WordPress.org.

Bluehost dostawca hostingu WordPress
Bluehost
DreamHost dostawca hostingu WordPress
DreamHost
SiteGround dostawca hostingu WordPress
SiteGround

Możesz kontynuować zabezpieczanie strony, jeśli już korzystasz z jednego z rekomendowanych dostawców lub zweryfikowałeś kryteria bezpieczeństwa swojego dostawcy.

Bezpieczne aktualizacje i tworzenie kopii zapasowej

Regularne aktualizowanie rdzenia WordPressa i wtyczek jest zalecane, aby naprawiać problemy z bezpieczeństwem i błędy, ponieważ przestarzałe oprogramowanie nie otrzymuje już aktualizacji bezpieczeństwa, a Twoja witryna staje się znacznie bardziej podatna na złośliwe próby hakerskie.

Upewnij się więc, że utrzymujesz rdzeń WordPressa oraz wtyczki i motywy w aktualnym stanie. Otwórz kokpit WordPressa i kliknij „Aktualizacje". Otrzymasz przegląd aktualizacji systemu rdzenia WordPressa, wtyczek i motywów.

Aktualizacje WordPressa
WordPress Updates

Niektórzy użytkownicy WordPressa boją się aktualizować swoje witryny WordPress. Obawiają się, że spowoduje to uszkodzenie witryny.

WordPress Critical Error

Omawiamy ten temat w osobnym artykule pt. „Dlaczego i jak warto wyłączyć automatyczne aktualizacje WordPressa."

Bezpieczna aktualizacja z „WP STAGING"

Aby zapobiec uszkodzeniu witryny podczas testów i wprowadzania zmian, możesz użyć darmowej wtyczki „WP STAGING".

Otwórz sekcję „Wtyczki" w menu bocznym i kliknij „Dodaj nową". Następnie wpisz w pasku wyszukiwania „WP STAGING". Zainstaluj i aktywuj wtyczkę.

Wtyczka WP Staging
WP STAGING Plugin

Otwórz wtyczkę WP STAGING. Następnie kliknij „Create Staging Site", przypisz nazwę i kliknij „Start Cloning". Wtyczka utworzy kopię Twojej witryny. Następnie możesz użyć przycisku „Open Staging Site", aby uzyskać dostęp do witryny stagingowej i wypróbować wszystkie zmiany w bezpiecznym środowisku, bez narażania witryny produkcyjnej.

WP Staging utwórz nową witrynę stagingową
WP STAGING Create New Staging Site

Polecam od razu przejść do wdrożenia i testować zmiany z artykułu na witrynie stagingowej, zamiast pracować bezpośrednio na swojej witrynie.

Po pomarańczowym pasku menu możesz rozpoznać, że pracujesz na witrynie stagingowej utworzonej przez WP STAGING.

Pomarańczowy pasek menu WPSTAGING
WPSTAGING Orange Menu Bar

Tworzenie kopii zapasowej z „WP Staging"

Tworzenie kopii zapasowej witryny jest podstawowym procesem dla każdej witryny WordPress. Aby w najgorszym przypadku — gdy Twoja witryna zostanie zhakowana — nie stracić całego postępu, danych i zamówień, musisz mieć kopię zapasową witryny WordPress.

Zaczynajmy.

Przejdź do WordPress > Wtyczki > Dodaj nową i wyszukaj „WP STAGING"

Jeśli nie jesteś pewien, jak zainstalować wtyczkę, zajrzyj do naszego artykułu „How to install WP STAGING | PRO".

Teraz kliknij przycisk „Backup & Migration". WP STAGING | PRO wyszuka istniejące kopie zapasowe.

Przycisk WP Staging Backup & Restore
Backup & Restore Button

Dostępne opcje to „Create Backup" i „Upload Backup".

Kliknij „Create a backup".

Przycisk WP Staging Create Backup
Create a New Backup Button

Opcjonalnie możesz przypisać nazwę, po której rozpoznasz kopię zapasową.

Na przykład, jeśli planujesz aktualizację WooCommerce lub innej wtyczki, możesz nazwać swoją kopię zapasową „Backup before installing WooCommerce".

Następnie wybierz komponenty witryny, które WP STAGING | PRO ma uwzględnić w kopii zapasowej. Zostaw wszystkie pola zaznaczone, chyba że chcesz przeprowadzić konkretny test. Teraz kliknij „Start Backup".

WP Staging utwórz kopię zapasową witryny
Start the Backup Process

Czas tworzenia kopii zapasowej jest różny i zależy od wielkości witryny, jednak funkcja kopii zapasowej WP STAGING jest dość szybka i zazwyczaj znacznie szybsza niż inne narzędzia. Dlatego szczególnie w przypadku ogromnych witryn zauważysz znaczną przewagę wydajnościową nad innymi narzędziami.

Proces tworzenia kopii zapasowej WP Staging
The Backup is Completed
Kopia zapasowa WP Staging zakończona

Gdy kopia zapasowa będzie gotowa, znajdziesz nowo utworzoną kopię na liście „Your Backups". Ikony wskazują, jakie komponenty zawiera kopia zapasowa.

Zawartość kopii zapasowej WP Staging

Pobieranie pliku kopii zapasowej

Aby pobrać kopię zapasową, kliknij Actions i Download. Pobrany zostanie plik z rozszerzeniem „.wpstg".

Opcja pobierania kopii zapasowej WP Staging
Download the Backup

Pobranie pliku kopii zapasowej na lokalny komputer jest zawsze zalecane, ponieważ chcesz mieć pewność, że zawsze masz do niego dostęp. Na przykład, jeśli atakujący włamie się na Twoją witrynę, mógłby usunąć stamtąd plik kopii zapasowej i nie udałoby się już przywrócić witryny.

Pobierz plik kopii zapasowej WP Staging na lokalny system

Przywracanie pliku kopii zapasowej

Aby przywrócić kopię zapasową w przypadku uszkodzonej witryny, możesz wybrać kopię z listy istniejących lub, jak zalecane, przesłać plik kopii zapasowej z lokalnego komputera.

Wspaniałą funkcją jest to, że możesz nawet przesłać plik kopii zapasowej na dowolną inną istniejącą witrynę WordPress i wykorzystać go do sklonowania swojej witryny na inny serwer lub do innej witryny.

Wróć do WP STAGING i kliknij przycisk „Upload Backup".

Opcja przesyłania kopii zapasowej WP Staging
Upload Backup Button

Wybierz pobraną kopię zapasową z eksploratora plików i prześlij ją.

Opcje przesyłania pliku kopii zapasowej WP Staging
Select the WP STAGING Backup File

Gdy kopia zostanie przesłana, kliknij Actions i przycisk „Restore", a pojawi się okno popup. Prześlij plik kopii zapasowej przeciągając i upuszczając go, wpisując „URL" lub przesyłając przez „FTP" do wskazanego katalogu. W środku zobaczysz dwa przyciski: „Cancel" i „Next". Kliknij „Next", aby kontynuować.

WP Staging przywróć kopię zapasową, przycisk Next

Po kliknięciu „Next" pojawi się nowe okno. Następnie kliknij „Restore", aby rozpocząć przywracanie.

Przycisk przywracania kopii zapasowej WP Staging
Click on Restore

Jeśli przywracanie się powiedzie, zobaczysz okno modalne „Finished Successfully".

Kopia zapasowa WP Staging zakończona

Otwórz witrynę i sprawdź, czy działa zgodnie z oczekiwaniami i jest w pełni funkcjonalna.

Planowanie automatycznych kopii zapasowych

Z WP STAGING możesz oszczędzić czas i kłopoty, ustawiając automatyczne wykonywanie kopii zapasowych. Nie musisz już pamiętać o tworzeniu kopii witryny za każdym razem, gdy wprowadzasz zmianę. Możesz odpocząć, wiedząc, że Twoja witryna jest zawsze zabezpieczona i bezpieczna.

Kopia zapasowa „Create Backup", odznacz „One-Time-Only" i wybierz spośród wyświetlonych opcji, jak często mają być wykonywane kopie, kiedy mają się rozpoczynać i ile kopii zapasowych przechowywać.

Automatyczna kopia zapasowa WP Staging

To wszystko. Dzięki WPSTAGING | PRO utworzyłeś i przywróciłeś kopię zapasową całej witryny WordPress.

Wzmacnianie witryny dzięki wtyczce bezpieczeństwa

Aby przygotować ten artykuł, sprawdziłem najpopularniejsze wtyczki bezpieczeństwa: „WordFence" i „Solid Security".

Wordfence i iThemes Security
Wordfence and Solid Security

Obie są znakomitymi wtyczkami, ale zdecydowałem się wybrać Solid Security ze względu na prostszą konfigurację i dodatkowe funkcje wzmacniania witryny WordPress.

Instalowanie wtyczki „Solid Security"

Zainstaluj i aktywuj wtyczkę. Teraz możemy otworzyć nową zakładkę „Security" w menu bocznym, klikając „Settings".

Rozpoczęcie wstępnej kontroli bezpieczeństwa

Otworzy się „Security Check" Solid Security. Ten „Security Check" to narzędzie jednym kliknięciem, które instaluje moduły wymagane w każdej witrynie WordPress. Obejmuje to na przykład „Brute Force Protection" lub wymuszanie „Strong Passwords". Funkcje poszczególnych modułów wyjaśnię bezpośrednio po „Security Check".

Wybierz „Security Check Scan", aby kontynuować.

Solid Security
Security Check
Solid Security: uruchom skan witryny

Aby zakończyć proces, potrzebne są jeszcze dwa kliknięcia.

Solid Security: SSL, Network Bruteforce Protection

Solid Security: SSL, Network Bruteforce Protection
Solid Security: SSL, Network Bruteforce Protection
Solid Security: SSL, Network Bruteforce Protection

Jedno kliknięcie potwierdza „przekierowanie żądań HTTP na HTTPS". Ta funkcja gwarantuje, że odwiedzający nie mają dostępu do żadnych nieszyfrowanych stron.

Drugie kliknięcie aktywuje „Network Brute Force Protection".

Ustawienia Solid Security

Atak siłowy (brute force) to metoda, która próbuje odgadnąć hasła lub klucze poprzez zautomatyzowane, losowe testowanie. Solid Security chroni witrynę za pomocą „Local Brute Force Protection" i poprzez sieć „Brute Force Protection". Dodajesz swoją witrynę WordPress do sieci, a Security chroni Twoją witrynę przed atakami, które dotarły już do innej witryny.

Adres e-mail administratora jest tu wybrany domyślnie.

Możesz też mnie upoważnić do otrzymywania informacji o nowościach; pozostawiam tę opcję na „No".

Potwierdź aktywację i zamknij security check.

Skaner malware

Jak wiele wtyczek, Solid Security oferuje wersje darmową i pro. W trakcie artykułu możesz zdecydować, czy uznasz wersję Pro za przydatną. Jeśli jakaś funkcja z wersji premium ma dla Ciebie sens, wspomnę o niej.

Funkcje pro Solid Security
Solid Security Pro Features

Najpierw przyjrzyjmy się skanowaniu malware.

Uruchom skan witryny
Site Scan

WordPress.org zaznacza, że ważne jest, aby nie zrzucać całej odpowiedzialności za bezpieczeństwo na dostawcę hostingu, ale wziąć ją w swoje ręce. Odwołują się przy tym w szczególności do zainstalowanych aplikacji.

Używamy skanera malware Solid Security, aby sprawdzić, czy któraś z zainstalowanych aplikacji jest klasyfikowana przez Solid Security jako złośliwa.
W tym celu przewijamy w dół i znajdujemy skaner po prawej stronie. Wersja darmowa Solid Security również ma skaner malware, choć jest on ręczny. Wersja Pro ma automatyczny skaner malware.

Kliknij „Run Scan", aby przeskanować swoją witrynę. Następnie przejdź na „logs page", aby sprawdzić wyniki.

Logi Solid Security

Instaluj wtyczki tylko z zaufanych źródeł, aby nie dać złośliwym aplikacjom szansy na dostanie się na Twoją witrynę.

Zalecane moduły „Solid Security"

Przechodzimy teraz do poszczególnych modułów Solid Security. Są dwa widoki prezentacji, „block view" i „list view". W widoku listy łatwiej jest przejść kolejno przez różne moduły; zmieniamy widok wyświetlania w lewym górnym rogu z „block-" na „list view".

Security Check

Moduł „Security Check" jedynie wymienia standardowe środki ostrożności, które potwierdziliśmy na początku konfiguracji.

Ustawienia globalne

„Write to Files": jeśli wyłączysz tę opcję, będziesz musiał ręcznie dodać opcje konfiguracyjne do plików „wp-config.php" i „.htaccess". Dlatego nie polecam usuwania tego zaznaczenia.

Solid Security: Write to Files
Solid Security: Write to Files

Ponieważ uprawnienia do plików dostosujemy później i tak odbierzemy prawa zapisu do tych plików, sensownie jest pozwolić Solid Security wprowadzić dostosowania aż do tej zmiany.

„Lockout messages" są wyświetlane hostowi, użytkownikowi lub społeczności, jeśli Solid Security zablokuje ich w Twojej witrynie WordPress lub oznaczy ich adres IP jako złośliwy. Możesz edytować te wiadomości, aby były bardziej przyjazne, jeśli masz konta klientów na swojej witrynie.

Solid Security: komunikat blokady

Poniżej znajdują się szczegółowe ustawienia blokad. „Lockout Period" wskazuje, jak długo WordPress będzie blokował użytkownika / adres IP po osiągnięciu maksymalnej liczby błędnych prób logowania.

„Ban Lookback Period" reguluje, jak długo Solid Security zapamiętuje i sumuje blokady. „Ban Threshold" określa, ile blokad może otrzymać użytkownik lub adres IP, zanim zostanie zablokowany na stałe.

Solid Security: ustawienia blokady

Solid Security: ustawienia blokad, aby określić, ile prób logowania ma użytkownik / adres IP, zanim zostanie zablokowany. Przewijamy do modułu „Local Brute Force Protection".

„Minutes to Remember Bad Login" wskazuje, kiedy Solid Security sumuje błędne próby logowania. Solid Security policzy dwa, jeśli użytkownik / IP poda nieprawidłowe dane logowania o 17:05 i 17:07. Jeśli atakujący wykona kolejną nieudaną próbę o 18:00, licznik startuje od nowa od 1.

W sekcji „Max Login Attempts Per User" możesz określić, ile prób ma nazwa użytkownika, zanim zostanie zablokowana.

„Max Login Attempts Per Host" brzmi bardzo podobnie. Ta sekcja wchodzi w grę, jeśli atakujący używa kilku komputerów w obrębie jednego adresu IP. Adres IP jest blokowany, gdy atakujący osiągnie tę wartość.

Dostosuj ustawienia w „Local Brute Force Protection" i „General settings" do swojej witryny. Jeśli masz na witrynie konta klientów, możesz ustawić maksymalną wartość błędnych prób logowania nieco wyżej lub skrócić czas blokady. W przypadku witryn, do których logujesz się tylko Ty, możesz dopuścić mniej prób logowania.

Przykład: użytkownik próbuje zalogować się do Twojej witryny WordPress pięć razy w ciągu pięciu minut. „Local Brute Force Protection" blokuje użytkownika na 15 minut. Solid Security blokuje użytkownika na stałe, jeśli ta blokada powtórzy się dwa razy w ciągu siedmiu dni.

Kontynuujmy z modułem „Global Settings".

„Authorized Hosts List" pozwala dodawać hosty, których Solid Security nie wykluczy z witryny WordPress. Ta opcja zapobiega utracie dostępu do witryny, gdybyś sam wyzwolił blokadę.

W tym celu kliknij „Add my current IP to the Authorized Hosts List".

Add my current IP to the Authorized Hosts List

WordPress.org zaleca głębsze przyjrzenie się logowaniu w witrynie WordPress, aby rozwiązywać problemy lub ustalić, co się stało, i odzyskać witrynę po zhakowaniu.

Solid Security zapisuje "File Logs".

Solid Security potrafi zapisywać zarówno „File Logs", jak i „Database Logs". Jak wspomniano w module „Site Scan", dostęp do logów masz przez menu boczne, klikając „Logs".

Jeśli korzystasz już z wielu wtyczek i lubisz mieć uporządkowane menu WordPressa, możesz to zrobić, zaznaczając pole pod „Hide Security Menu in Admin Bar".

Notification Center

W module „Notification Center" przewiń w dół do „Site Lockouts". To ustawienie jest domyślnie aktywne, co oznacza, że otrzymasz powiadomienie e-mail za każdym razem, gdy użytkownik lub host zostanie zablokowany. Konfiguracja zależy indywidualnie od Twojej witryny. Najlepiej dezaktywować tę opcję na witrynach, do których uzyskują dostęp klienci lub wielu użytkowników WordPressa, ponieważ ktoś często zapomina hasła. Jeśli jednak tylko Ty korzystasz z tej witryny, możesz ją włączyć z czystym sumieniem, ponieważ Security może bezpośrednio powiadomić Cię o możliwym ataku.

Solid Security: Site Lockouts
Solid Security: Site Lockouts

User Groups

Nie musimy dostosowywać żadnych ustawień w „User Groups".

Away Mode

Polecam ostrożnie aktywować „Away Mode", ponieważ powoduje on, że kokpit WordPressa staje się niedostępny dla wszystkich użytkowników w wybranym czasie.

Banned User

W zakładce „Banned User" możesz blokować adresy IP konkretnych użytkowników lub hostów. Ta opcja oznacza, że natychmiast i całkowicie odbierasz temu adresowi IP dostęp do witryny. Lista działa tak samo jak „Authorized Hosts List", ale na odwrót. Zamiast nigdy nie blokować określonych adresów IP, ta lista blokuje je całkowicie.

Solid Security: Banned Users
Solid Security: Banned Users

Database Backup

Możesz wyłączyć funkcję „Database Backup", ponieważ zainstalowaliśmy już wtyczkę do kopii zapasowych, która tworzy kopie zarówno bazy danych, jak i plików.

Solid Security: Database Backup
Solid Security: Database Backup

File Change Detection

Polecam aktywować „File Change Detection". Jeśli na przykład atakujący włamie się na serwer dostawcy hostingu i spróbuje zmienić lub usunąć dane rdzenia WordPressa, otrzymasz powiadomienie e-mail. WordPress.org zaleca włączenie monitorowania zmian w plikach.

Solid Security: File Change Detection

File Permission

Moduł „File Permission" oferuje nam fascynujące spojrzenie na rdzeń naszej witryny WordPress. Zalecane jest sprawdzenie uprawnień plików.

Otwórz okno modułu i kliknij „Load File Permission Details". Solid Security pokazuje teraz ścieżki plików WordPressa istotnych dla bezpieczeństwa oraz prawa dostępu do plików lub folderów. Wyświetlane są zarówno wartość rzeczywista, jak i wartość docelowa. W moim przypadku Solid Security sugeruje zmianę w dwóch miejscach: w plikach „wp-config.php" i „.htaccess".

Solid Security: uprawnienia plików
Solid Security: Tools > File Permissions

Trzycyfrowa liczba reguluje uprawnienia pliku. Pierwsza cyfra reguluje uprawnienia dla „user"; jest to administrator witryny. Kilka osób może mieć prawa administratora. Druga cyfra reguluje uprawnienia dla „Group"; obejmuje to pozostałych użytkowników witryny, na przykład redaktorów, współpracowników lub inne role użytkowników. Ostatnia cyfra opisuje prawa dla „World", co obejmuje każdego w internecie, kto uzyskuje dostęp do Twojej witryny.

Trzycyfrowa liczba reguluje uprawnienia plików
A three-digit number regulates the file permissions

wp-config.php jest plikiem konfiguracyjnym Twojej aplikacji WordPress. Ponieważ jest to jeden z najbardziej krytycznych plików, musisz zadbać o jego odpowiednią ochronę.

Solid Security zaleca tu „444"; każdy ma dostęp do odczytu, ale nikt nie może pisać.

Solid Security: File Permission Suggestion „444”

WordPress.org zaleca ochronę pliku z „400" / „440". Z wartością „440" Ty jako administrator i użytkownik macie dostęp do odczytu, ale żaden odwiedzający. Z „400" tylko Ty jako administrator masz dostęp do odczytu; to najbezpieczniejsza opcja.

WordPress.org: File Permission Suggestion „400” / „440”

Ważne jest, aby zrozumieć, że te uprawnienia plików dotyczą faktycznej witryny; Ty jako właściciel witryny możesz dostosować te uprawnienia w dowolnym momencie przez FTP / cPanel i nigdy nie tracisz rzeczywistego dostępu.

Wybór wartości zależy od konfiguracji serwera. WordPress.org zaleca jak najściślejsze blokowanie uprawnień plików i luzowanie tych ograniczeń tylko wtedy, gdy musisz zezwolić na zapis. Oznacza to rozpoczęcie od uprawnienia „400" lub „440" i podnoszenie wartości stamtąd, aż WordPress zacznie działać. Używaj maksymalnie „600" lub „640".

Teraz rozumiesz, jak zbudowane są uprawnienia plików i które uprawnienia musimy dostosować.

Jednak natychmiastowe wdrożenie korekty uprawnień plików byłoby kontrproduktywne, ponieważ wówczas odebralibyśmy Solid Security prawa zapisu, co oznaczałoby konieczność ręcznego dodania zmian do pliku „wp-config.php" pod koniec konfiguracji.

Uprawnienia plików dostosujemy przy okazji omawiania modułu „System Tweaks".

Local Brute Force Protection

Następny moduł to „Local Brute Force Protection". Te ustawienia wykonaliśmy już w ustawieniach ogólnych.

Network Brute Force Protection

Ustawienia „Network Brute Force Protection" również wprowadziliśmy na początku, podczas „Security Check".

Password Requirements

Używanie bezpiecznego hasła to kolejny kluczowy aspekt unikania potencjalnych podatności.

Przy wyborze hasła powinieneś unikać:

Rekomendacje WordPress.org dotyczące silnych haseł
WordPress.org: recommendations for strong passwords

Moduł „Strong Password" pomaga wdrożyć te wymagania.

Domyślnie Solid Security aktywuje to ustawienie dla wszystkich ról użytkowników. Powinieneś dostosować te ustawienia w oparciu o swoją witrynę. Na przykład możesz wymusić silne hasła tylko dla roli Administrator.

Solid Security: silne hasła
Solid Security: Strong Passwords

Polecane jest również uwierzytelnianie dwuskładnikowe.

Technika uwierzytelniania dwuskładnikowego wymaga od użytkowników logowania się dwustopniową metodą uwierzytelniania. Pierwszym krokiem jest nazwa użytkownika i hasło, a drugim czynnikiem jest uwierzytelnianie, czyli kod pochodzący z osobnego urządzenia lub aplikacji.

Ta funkcja jest dostępna w wersji Pro Solid Security. Alternatywnie możesz poszukać w repozytorium wtyczek darmowej wtyczki uwierzytelniania dwuskładnikowego „WP2FA".

Zainstaluj wtyczkę WP 2FA
Install – WP 2FA Plugin

Najpierw musisz zainstalować i aktywować wtyczkę Two-Factor Authentication. Po aktywacji w wtyczkach WordPressa kliknij w „WP 2FA – Two-factor authentication for WordPress" na „Configure 2FA Settings". Przeniesie Cię to do „setup wizard".

Następnie zainstaluj aplikację 2FA na swoim telefonie. Polecam „Google Authenticator".

Aplikacja Google Authenticator
Google Authenticator App

Otwórz aplikację uwierzytelniającą i zeskanuj kod QR w „Setup wizard".

Wprowadź kod widoczny w aplikacji na smartfonie.

WP 2FA: zeskanuj kod QR
WP 2FA: Scan the QR Code

Jeśli potrzebujesz dalszej pomocy w konfiguracji aplikacji, kliknij „For detailed guides for your desired app, click below".

To wszystko; Twoja aplikacja uwierzytelniająca zapisze teraz kod wysłany jednorazowo przez „WP2FA". Teraz dokonaj ustawień pasujących do Twojej witryny WordPress.

Przy następnym logowaniu do witryny wtyczka poprosi Cię, po wpisaniu hasła, o kod uwierzytelniania dwuskładnikowego.

WP 2FA: logowanie
WP 2FA: Login

W tym celu ponownie otwórz aplikację uwierzytelniającą na telefonie i wpisz kod, który widzisz na ekranie.

Wracamy do Solid Security.

SSL

Moduł „SSL" przekierowuje wszystkie żądania „HTTP" do HTTPS, jeśli dostępny jest certyfikat SSL. Solid Security aktywował ten moduł w „Security Check".

System Tweaks

Otwórz „System Tweaks" i kliknij „Enable". Musimy zaznaczyć kilka pól. Moduły „System Tweaks" i „WordPress Tweaks" mają kilka optymalizacji, które jeszcze bardziej poprawiają bezpieczeństwo witryny WordPress. Jednak niektóre z tych opcji mogą wchodzić w konflikt z Twoją witryną; to zależy od witryny. Dlatego po każdej aktywacji sprawdź pełną funkcjonalność, zaznaczając pole, klikając „Save Settings" i ponownie ładując frontend strony.

iThemes Security: przetestuj swoją witrynę po włączeniu każdego ustawienia
Solid Security: Test Your Site After Enabling Each Setting

Directory browsing: hakerzy mogą wykorzystać przeglądanie katalogów, aby sprawdzić, czy na Twojej witrynie WordPress są pliki ze znanymi podatnościami, by następnie ich użyć do uzyskania dostępu do Twojej witryny.

Przeglądanie katalogów może być również wykorzystane do zaglądania w Twoje pliki, kopiowania zdjęć, ustalenia struktury katalogów i uzyskania innych informacji o witrynie. Z tego powodu zdecydowanie zalecam włączenie „disable directory browsing".

Aby sprawdzić, czy przeglądanie katalogów na Twojej witrynie jest już wyłączone, wpisz example.com/wp-content. Jeśli otrzymasz pustą stronę, wszystko jest w porządku, ale jeśli Twoja witryna pozwala odwiedzającym na dostęp do katalogu, mamy do czynienia z poważnym problemem bezpieczeństwa.

File write permissions: jak wspomniano w module „File Permission", Solid Security pozwala ustawiać uprawnienia plików tylko na wartość „444".

iThemes Security: usuń uprawnienia zapisu plików
Solid Security: Remove File Writing Permissions v

Ponieważ jednak WordPress.org zaleca używanie „400" lub „440", zmieniamy to ręcznie przez FTP.

WordPress.org: sugerowane uprawnienia plików "400" / "440"
WordPress.org: File Permission Suggestion „400” / „440”

Używam „FileZilla", aby uzyskać dostęp do bazy danych instalacji WordPress przez FTP na serwerze dostawcy hostingu. Alternatywnie możesz zrobić to również przez cPanel.

Filezilla
Filezilla

Połącz się z serwerem; „Host", „Username" i „Password" otrzymasz od swojego dostawcy hostingu.
Zaleca się stosowanie szyfrowania SFTP przy łączeniu z serwerem. Jeśli nie masz pewności, czy Twój host udostępnia SFTP, zapytaj. Korzystanie z SFTP jest takie samo jak z FTP, z tą różnicą, że Twoje hasło i inne dane są szyfrowane i przesyłane między Twoim komputerem a witryną.

Otwórz folder „HTML". Znajdziesz tam plik wp-config.php.

Filezilla: „wp-config.php” and „.htaccess” Files

Wybierz plik „wp-config.php" i kliknij prawym przyciskiem myszy, aby otworzyć menu kontekstowe. Kliknij „file permission".

Filezilla: uprawnienia plików

Teraz możesz przypisać żądane uprawnienia plików. Odbieram prawa do odczytu „public" i „group" oraz prawa do zapisu „owner", znanemu również jako „admin".

Filezilla: File Permissions „wp-config.php”

Kliknij OK, a FileZilla zapisze nowe uprawnienia.

Wprowadź te same zmiany ponownie dla pliku „.htaccess". Odbierz prawa do odczytu „public" i „group" oraz prawa do zapisu „owner".

Filezilla: uprawnienia plików ".htaccess"
Filezilla: File Permissions „.htaccess”

Nie zmieniaj innych ścieżek plików, na przykład ścieżki „wp-content"; w przeciwnym razie WordPress przestanie działać poprawnie.

Wróćmy do modułu „System Tweaks" w Solid Security.

„PHP in uploads, PHP in plugins, PHP in themes". Jeśli ktoś próbuje przesłać plik PHP do frontendu Twojej witryny, w tym do obszaru mediów, wtyczek i motywów, prawie zawsze jest to potencjalny atak. Ta opcja zabrania zatem formatu plików „PHP" w tych katalogach.

WordPress Salts

„WordPress Salts" chronią hasła zapisywane w przeglądarce. Jeśli przy logowaniu zapiszesz hasło w przeglądarce, WordPress przechowuje to hasło w dwóch ciasteczkach. Gdyby jednak WordPress zapisał Twoje hasło w postaci jawnej, atakujący mogliby je szybko odszyfrować.

Klucze bezpieczeństwa i salty pozwalają uniknąć tego problemu, współpracując ze sobą, aby kryptograficznie zamienić to jawne hasło w losową plątaninę znaków.

Te klucze bezpieczeństwa i salty znajdziesz w pliku wp-config.php; cztery klucze i cztery salty.

„wp-config-php”: Security Keys and Salts

Po potwierdzeniu „Change WordPress Salts" i zapisaniu ustawień Solid Security zmienia salty WordPressa. Oznacza to jednak również, że wszyscy użytkownicy zostaną wylogowani z bieżącej sesji i muszą się ponownie zalogować. Dlatego zastanów się, kiedy wprowadzić tę zmianę. Solid Security zaleca zmianę „Salts" WordPressa co najmniej raz w miesiącu.

WordPress tweaks

Podobnie jak w przypadku system tweaks, możemy także wprowadzić istotne zmiany w „WordPress Tweaks", zaznaczając kilka pól. Tak jak przy „System Tweaks", po każdej aktywacji koniecznie sprawdź pełną funkcjonalność witryny.

iThemes Security: przetestuj swoją witrynę po włączeniu każdego ustawienia
Solid Security: Test Your Site After Enabling Each Setting

Najpierw zaznaczamy pole obok „Comment Spam"; redukuje to spam w sekcji komentarzy.

Upewniamy się też, że File Editor jest wyłączony; to kolejne zalecenie. WordPress oferuje domyślnie możliwość edycji zarówno wtyczek, jak i designów. Ten edytor otwiera kolejną możliwość uzyskania dostępu do Twojej witryny przez atakujących.

Solid Security: wyłącz File Editor
Solid Security: Disable the File Editor

To samo dotyczy „XML-RPC". „XML-RPC" to funkcja WordPressa, której Ty lub wtyczki możecie używać do przesyłania danych. „XML-RPC" oferuje również atakującym możliwość uzyskania dostępu do Twojej witryny. Ten interfejs jest istotny dla używania aplikacji WordPress, trackbacków, pingbacków oraz wtyczki JetPack. Jeśli korzystasz z jednej z tych funkcji, nie możesz dezaktywować interfejsu „XML-RPC"; w przeciwnym razie wybierz „Disable XML-RPC".

Kliknij „Save Settings".

Zaawansowane moduły „Solid Security"

W tym momencie skończyliśmy z modułami „Recommended" Solid Security.

Istnieją jednak także moduły „Advanced", które pomagają wprowadzić proste zmiany jednym kliknięciem, a które w przeciwnym razie musielibyśmy wykonywać ręcznie.

Jak wspomniałem

chcę Ci przypomnieć, aby wszystkie zmiany wypróbować na witrynie stagingowej. W przeciwnym razie może to doprowadzić do komplikacji w Twojej witrynie.

Admin User

Zaawansowany moduł „Admin User" odhacza kolejną rekomendację WordPress.org.
WordPress.org zaleca stosowanie zasady „Security through obscurity" w dwóch miejscach.

Pierwsze to zmiana nazwy konta administratora; drugie to zmiana „table_prefix". Solid Security oferuje możliwość wprowadzenia obu dostosowań; zmiana „table_prefix" odbywa się w przedostatnim kroku.

Podczas instalacji WordPressa nazwa administratora to domyślnie „admin". To ustawienie domyślne często nie jest zmieniane, zwłaszcza przy instalacjach WordPressa jednym kliknięciem u dostawcy hostingu. Ale nawet jeśli sam zainstalowałeś WordPressa, mogłeś nie zmienić nazwy użytkownika, ponieważ nie wiedziałeś nic lepszego. To znacznie ułatwia atakującym uzyskanie dostępu do witryny, ponieważ nie muszą łamać nazwy i hasła, a jedynie hasło.

Jeśli Twoja nazwa użytkownika administratora to „admin", zobaczysz pole „New Admin Username". Jeśli nie widzisz tego pola, oznacza to, że wszystko zrobiłeś poprawnie podczas instalacji.

Solid Security: nowa nazwa użytkownika admin
Solid Security: New Admin Username

W tym momencie pomijam pole „Change User ID 1", ponieważ może to powodować komplikacje przy używaniu wtyczek.

Change Content Directory

To samo dotyczy następnego modułu, „Change Content Directory". Jak mówi ostrzeżenie, tego modułu należy używać tylko podczas instalacji WordPressa.

Change Database Table Prefix

Dochodzimy teraz do drugiego punktu, w którym WordPress.org zaleca zasadę „Security through obscurity"; moduł „Change Database Table Prefix" wprowadza to dostosowanie.

Wiele specyficznych dla WordPressa ataków SQL injection zakłada, że „table_prefix" ma wartość domyślną „wp_". Zmiana tego prefiksu może zablokować niektóre ataki SQL injection.

Jeśli Twój prefiks tabel to „wp_", zobaczysz następujący komunikat z radą, aby zmienić prefiks. „wpstg0_" jest wyświetlane jako prefiks tabel, ponieważ jestem na witrynie stagingowej i WP STAGING utworzył ten prefiks tabel.

iThemes: zmień prefiks tabel
Solid Security: New Change Table Prefix

Bazę danych możesz przeglądać za pomocą wtyczki „PhpMyAdmin". Tak jak poprzednie wtyczki, możesz ją pobrać przez „Plugin" i „Add New". Następnie otwórz ją z menu bocznego.

Wtyczka "phpMyAdmin"
„phpMyAdmin” Plugin

Teraz widzisz tabele z „wpstg0"; to są tabele witryny stagingowej. Poniżej znajdują się tabele witryny produkcyjnej z prefiksem „wp_".

phpMyAdmin: Staging Site Tables
phpMyAdmin: tabele witryny produkcyjnej
phpMyAdmin: Production Site Tables

Wracam do Solid Security. Po wybraniu „Yes" i „Save Settings" Solid Security przypisze tabelom nowy, bardziej złożony prefiks.

Nowy prefiks tabel bazy danych
New database table prefix

Przełączam się ponownie na zakładkę „PhpMyAdmin" i po odświeżeniu strony widzę nowy prefiks przed tabelami.

phpMyAdmin: nowy prefiks tabel bazy danych
phpMyAdmin: New database table prefix

Hide Backend

Moduł „Hide Backend" utrudnia atakującym dostęp do obszaru logowania WordPressa. Każdy może dotrzeć do strony logowania domyślnie przez „example.com/wp-admin" i „example.com/wp-login.php".

Ponieważ ta konfiguracja jest identyczna dla wszystkich witryn WordPress, atakujący mogą natychmiast rozpoznać obszar logowania, w którym rozpoczynają swój atak siłowy.

Zanim wyjaśnię uprawnienia logowania, chcę wspomnieć, że nie aktywowałem modułu, ponieważ może on powodować problemy z logowaniem przy używaniu określonych wtyczek.

W „Login Slug" zobaczysz swoje obecne rozszerzenie logowania, możesz je zmienić i zanotować. Przy następnym wejściu na witrynę wpisz „example.com/nowe rozszerzenie".

Moduł może być przydatny do blokowania prymitywnych ataków siłowych. Jeśli chcesz, sprawdź, czy moduł nie powoduje komplikacji.

wp-config.php Rules

W ostatnim module, „wp-config.php Rules", Solid Security może sprawdzić, czy wszystkie moduły mogą działać poprawnie.

Jeśli Solid Security nie znajdzie żadnych potrzebnych zmian, otrzymasz komunikat „There is nothing that needs to be written to your wp-config.php file".

W przeciwnym razie otrzymasz komunikat „The following rules need to be written to your wp-config.php".

iThemes: reguły "wp-config.php"

Solid Security: reguły „wp-config.php". Ten komunikat pojawia się, jeśli nie ma uprawnienia „Write" do pliku „wp-config.php".

Używamy FileZilli, aby ponownie uzyskać dostęp do bazy danych witryny WordPress przez FTP w celu zapisania w pliku „wp-config.php" reguł wymaganych przez Solid Security. Jak już wiesz z dostosowywania uprawnień plików, plik „wp-config.php" znajduje się bezpośrednio w folderze „HTML". Kliknij prawym przyciskiem myszy, aby wybrać „View / Edit", a następnie otwórz edytor tekstu.

Filezilla: "wp-config.php" Pokaż/Edytuj
Filezilla: „wp-config.php” View/Edit

Skopiuj i wklej reguły wymienione przez Solid Security w pliku „wp-config.php" bezpośrednio pod „<? PHP".

Filezilla: wstaw reguły do "wp-config.php"
Filezilla: Insert the Rules into „wp-config.php”

Dla wyjaśnienia, reguła „DISALLOW_FILE_EDIT" zapewnia, że dezaktywacja edytora plików, którą wykonaliśmy w module „WordPress tweaks", staje się skuteczna.

„FORCE_SSL_ADMIN" oznacza, że szyfrowanie SSL działa również na poziomie administratora. Solid Security zastosował to ustawienie na początku, w „Security Check".

Zapisz zmiany i zamknij plik, a następnie potwierdź nowe przesłanie pliku za pomocą FileZilli.

Potwierdzenie zmian w plikach
Filezilla: The file has changed

Po wstawieniu tych reguł do pliku „wp-config.php" sprawdź, czy witryna stagingowa Twojej witryny WordPress nadal działa. Kliknij „View Site" w kokpicie WordPressa.

Po przetestowaniu zmian prześlij witrynę stagingową do produkcyjnej za pomocą WP STAGING PRO lub powtórz ustawienia na witrynie produkcyjnej.

Wow, to było mnóstwo dostosowań! Cieszę się, że dotarłeś do końca.

Teraz Twoja witryna jest znakomicie ustawiona pod względem bezpieczeństwa dzięki wyborowi odpowiedniego dostawcy hostingu, automatycznemu tworzeniu kopii zapasowych i dostosowaniu wtyczki „Solid Security".

Powiązane artykuły

Rene Hermenau

Autor: Rene Hermenau

O autorze: René Hermenau jest założycielem WP STAGING. Zajmuje się kopiami zapasowymi WordPressa, środowiskami stagingowymi, migracjami, obsługą baz danych oraz bezpiecznymi procesami wdrażania.