Jak zapewnić bezpieczeństwo strony WWW?
Bezpieczeństwo strony WordPress
Wprowadzenie
WordPress jest jednym z najpopularniejszych systemów zarządzania treścią (CMS - Content Management System) służących do tworzenia stron internetowych. Jednak jego ekspozycja (ponad 40% wszystkich stron WWW), a także ekosystem bezpłatnych i płatnych rozszerzeń oraz motywów są źródłem luk bezpieczeństwa. Luki te mogą być wykorzystywane do kradzieży danych, zakłóceń działania strony (zmiana jej wyglądu), a nawet całkowitego wyłączenia.
Ten tutorial przedstawia kroki, które można szybko wdrożyć, aby zapewnić bezpieczeństwo strony internetowej WordPress.
Wymagania wstępne
- Posiadanie hostingu.
- Instalacja CMS-a Wordpress.
- Dostęp do interfejsu administracyjnego (za pomocą identyfikatora i hasła dostarczonego podczas instalacji).
W praktyce
Kiedy instalować aktualizacje WordPress?
Bardzo ważne jest, abyś zawsze korzystał z najnowszych wersji CMS-a, motywu i rozszerzeń, ponieważ aktualizacje pozwalają na usunięcie ewentualnych luk bezpieczeństwa. Aby przeprowadzić aktualizacje, zapoznaj się z informacjami zawartymi pod linkiem i przeszukaj bazy danych z listą luk bezpieczeństwa wykrytych w narzędziach, np. Exploit Database.
Zasada jest prosta: kiedy aktualizacja wyświetla się w Twoim WordPressie, zainstaluj ją. Czy wiesz, że...? Możesz również włączyć automatyczną aktualizację Twoich motywów i rozszerzeń!
Ważne: przed przeprowadzeniem aktualizacji sprawdź, czy dysponujesz wystarczającą przestrzenią dyskową na serwerze (co najmniej 1 GB). Jeśli przestrzeń dyskowa jest całkowicie zapełniona i przeprowadzisz aktualizacje, CMS może ich nie sfinalizować, a to z kolei może spowodować niedostępność strony WWW.
Nawet jeśli aktualizacje motywów i rozszerzeń są wykonywane automatycznie, musisz pamiętać o dacie ostatniej aktualizacji. Poza ryzykiem niezgodności z nową wersją WordPressa, może pojawić się problem z komponentem, który nie był aktualizowany przez kilka miesięcy. Istnieje prawdopodobieństwo, że nie będzie on już wspierany i w związku z tym mogą pojawić się luki bezpieczeństwa.
Jak skonfigurować automatyczną aktualizację motywu WordPress?
Automatyzacja aktualizacji danego motywu jest prosta do wykonania. W lewej kolumnie dashboardu WordPress kliknij „Wygląd”, a następnie „Motywy”. Wybierz motyw i kliknij „Włącz automatyczne aktualizacje”.

Jak włączyć automatyczną aktualizację rozszerzeń WordPress?
Automatyczną aktualizację rozszerzeń skonfigurujesz w lewej kolumnie dashboardu WordPress, w sekcji „Rozszerzenia”:

Dlaczego należy aktualizować wersję PHP hostingu?
Ważne jest również, aby korzystać z najnowszej dostępnej wersji PHP (pod warunkiem, że zainstalowane motywy i rozszerzenia są z nią kompatybilne). Każda aktualizacja zawiera liczne poprawki zwiększające wydajność i bezpieczeństwo. Tutaj sprawdź wciąż wspierane wersje PHP: https://www.php.net/supported-versions.php

Poniżej znajdziesz również zalecaną konfigurację hostingu OVHcloud:
- Środowisko wykonawcze : Stable64
- Wersja PHP: 8.1
- Silnik: PHP
- Tryb: Produkcja
- Zapora aplikacyjna: Wyłączona
Jeśli WordPress został zainstalowany i skonfigurowany w wersji PHP, która nie jest już wspierana, upewnij się, że używane rozszerzenia są kompatybilne z nową wersją języka, który chcesz skonfigurować. W przeciwnym razie konieczna może być zmiana rozszerzenia.
Jak zaktualizować PHP na hostingu OVHcloud?
Operację tę przeprowadzisz bezpośrednio w Panelu klienta OVHcloud. Poniżej zamieszczamy zrzut ekranu z ostatniego etapu tej operacji, podczas którego możesz wybrać wersję PHP:

Ważne: przed przystąpieniem do modyfikacji należy koniecznie zaktualizować motywy i rozszerzenia WordPress.
Więcej informacji znajdziesz w przewodniku: https://help.ovhcloud.com/csm/pl-web-hosting-change-php-version?id=kb_article_view&sysparm_article=KB0053018
Czy istnieją rozszerzenia służące do zapewnienia bezpieczeństwa WordPressa?
Rozszerzenia WordPressa przedstawione w tym tutorialu należą do najpopularniejszych, ponieważ są regularnie aktualizowane i już się sprawdziły. Pamiętaj jednak, że istnieją inne, równie interesujące i wydajne rozszerzenia, których nie wyszczególniliśmy w przytoczonych przykładach.
Jak skonfigurować WordPressa w całości w HTTPS?
„Really Simple SSL” automatycznie wykrywa ustawienia i konfiguruje stronę WWW, aby działała w połączeniu z protokołem HTTPS (preferowany protokół wyszukiwarek).
Ważne: najpierw zainstaluj certyfikat SSL na hostingu i włącz go. Nie posiadasz certyfikatu SSL? Sprawdź przewodnik:https://help.ovhcloud.com/csm/pl-web-hosting-ssl-certificates?id=kb_article_view&sysparm_article=KB0053197
Na dashboardzie WordPress kliknij „Rozszerzenia”, a następnie „Dodaj”. Wprowadź „Really Simple SSL” na pasku wyszukiwania i kliknij „Zainstaluj teraz”. Odczekaj kilka sekund, następnie kliknij „Włącz”.

Teraz włącz certyfikat SSL. To bardzo proste. Kliknij przycisk „Aktywuj SSL”, który się wyświetli:

Certyfikat SSL jest domyślnie włączony na Twojej stronie WWW. Teraz wykonaj kilka ustawień, takich jak aktywowanie przekierowania 301 przez .htaccess:

Następnie zainstaluj zalecane nagłówki bezpieczeństwa dla połączenia HTTPS, modyfikując plik .htaccess za pomocą FileZilla.
Możesz to zrobić również z poziomu FTP Explorer: https://help.ovhcloud.com/csm/pl-web-hosting-ftp-storage-connection?id=kb_article_view&sysparm_article=KB0052712
Po zalogowaniu kliknij prawym przyciskiem myszy plik .htaccess, a następnie „Wyświetl/Edytuj”:

Po otworzeniu pliku w edytorze skopiuj i wklej na końcu następujące wiersze tekstu:
# Security Headers Header always set Strict-Transport-Security: "max-age=31536000" env=HTTPS Header always set Content-Security-Policy "upgrade-insecure-requests" Header always set X-Content-Type-Options "nosniff" Header always set X-XSS-Protection "1; mode=block" Header always set Expect-CT "max-age=7776000, enforce" Header always set Referrer-Policy: "no-referrer-when-downgrade" Header always set X-Frame-Options: "SAMEORIGIN" Header always set Permissions-Policy "geolocation=(); midi=();notifications=();push=();sync-xhr=();accelerometer=(); gyroscope=(); magnetometer=(); payment=(); camera=(); microphone=();usb=(); xr=();speaker=(self);vibrate=();fullscreen=(self);" # End Security Headers
Otrzymasz następujący wynik w pliku „.htaccess” znajdującym się w katalogu głównym Twojej strony WWW:

Ważne: po skopiowaniu tych wierszy pamiętaj, aby je zapisać, klikając „Plik”, a następnie „Zapisz”. W kolejnym kroku wróć do FileZilla i zatwierdź pop-up, w którym wyświetli się prośba o przesłanie pliku z powrotem na serwer. W przeciwnym razie zmiany nie zostaną uwzględnione.
Jak uruchomić drugi czynnik uwierzytelniania?
Tradycyjne użycie loginu i hasła może nie być wystarczające dla zapewnienia bezpieczeństwa. Zagrożenia są dobrze znane: zbyt proste hasło, czasem takie samo dla kilku kont, zbyt rzadko (lub wcale) odnawiane albo przechowywane na niezabezpieczonym nośniku. Jednak nawet gdy hasło jest złożone, wciąż możliwe są ataki hakerskie.
Wdrożenie weryfikacji dwuetapowej (2FA lub Two Factor Authentication) zwiększy bezpieczeństwo dostępu do interfejsu administracyjnego. Metoda ta działa w prosty sposób: oprócz tradycyjnego użycia identyfikatora klienta i hasła, zostaniesz poproszony o uwierzytelnienie za pomocą dodatkowego czynnika (kod o ograniczonym czasie trwania, uwierzytelnianie na smartfonie, SMS, passphrase). W ten sposób zabezpieczasz dostęp administratora i chronisz stronę przed zagrożeniami.
Nawet jeśli haker zdoła wejść w posiadanie Twojego hasła, nie zostanie naruszone bezpieczeństwo dostępu.
Do generowania kodów 2FA możesz użyć aplikacji Google Authenticator (lub innej podobnej aplikacji).
Podczas zakładania konta wyświetli się kod QR. Wystarczy zeskanować go smartfonem za pomocą aplikacji Google Authenticator. W Twojej aplikacji pojawi się nowy wpis generujący kod (domyślnie 6 cyfr), który będzie się zmieniał co 30 sekund. Kod ten należy wprowadzić podczas logowania do interfejsu administracyjnego.
Kompletne rozszerzenie pozwoli Ci zarządzać kilkoma trybami uwierzytelniania na Twojej stronie - zarówno dla administratorów, jak i użytkowników posiadających konto. Rozszerzenie Google Authenticator miniOrange jest dostępne na stronie: https://fr.wordpress.org/plugins/miniorange-2-factor-authentication/
W jaki sposób włączyć weryfikację dwuetapową dla konta administratora (dostępną z kontem niepłatnym).
- Zaloguj się do dedykowanego interfejsu z kontem administratora.
- Kliknij wtyczkę „miniOrange 2-Factor”.

- Kliknij „Konfiguracja", używając metody uwierzytelniania „Google Authenticator”.

- W pierwszym kroku procesu konfiguracji wybierz aplikację, której będziesz używać na smartfonie do generowania serii liczb. Po wybraniu metody zeskanuj kod QR smartfonem za pomocą aplikacji Google Authenticator.
![La sécurité sous WordPress [12]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B12%5D.png)
- Przypisz nazwę, a następnie przejdź do kroku 2 weryfikacji i wprowadź kod wygenerowany w aplikacji mobilnej.
- Jeśli operacja się powiedzie, w oknie zostanie wyświetlony komunikat informujący, że dostęp do Twojego konta działa poprawnie w trybie 2FA.
![La sécurité sous WordPress [13]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B13%5D.png)
Jak zmierzyć kondycję Twojej strony WWW?
W lewej kolumnie dashboardu WordPress wybierz „Narzędzia”, a następnie kliknij „Kondycja strony”. Ta sekcja nie jest rozszerzeniem. Jest ona zintegrowana domyślnie z WordPressem i powiadamia o problemach z wydajnością lub bezpieczeństwem na stronie WWW.
![La sécurité sous WordPress [14]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B14%5D.png)
Nagłówki bezpieczeństwa przetestujesz tutaj: https://securityheaders.com/
![La sécurité sous WordPress [15]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B15%5D.png)
Jak skonfigurować Wordfence dla WordPressa?
Wordfence obejmuje zaporę ogniową i skaner złośliwego oprogramowania, które zostały zaprojektowane od podstaw w celu ochrony WordPressa.
![La sécurité sous WordPress [16]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B16%5D.png)
Po kliknięciu „Aktywuj” zarejestruj rozszerzenie. Jeśli nie posiadasz konta Wordfence, kliknij „Get Your Wordfence Licence”. Zostaniesz przekierowany na stronę producenta rozszerzenia, gdzie założysz konto:
![La sécurité sous WordPress [17]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B17%5D.png)
Na stronie producenta wybierz wersję „Free”. Następnie kliknij „Get a Free Licence”. Otworzy się okno modalne. Kliknij „I'm OK waiting 30 days for protection from new threats”:
![La sécurité sous WordPress [18]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B18%5D.png)
Pojawi się wówczas nowe okno modalne z adresem URL Twojej strony WordPress. Wpisz adres e-mail i zaznacz odpowiednią kratkę, aby zaakceptować regulaminy:
![La sécurité sous WordPress [19]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B19%5D.png)
Pojawi się wówczas komunikat informujący, że została wysłana wiadomość e-mail:
![La sécurité sous WordPress [20]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B20%5D.png)
Otwórz ją i kliknij zawarty w niej link, aby dokończyć zakładanie konta (link przekieruje Cię bezpośrednio do interfejsu administracyjnego WordPressa). Następnie będziesz mógł zatwierdzić klucz licencji wpisany w formularzach:
![La sécurité sous WordPress [21]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B21%5D.png)
Operację tę możesz również wykonać ręcznie, kopiując klucz zawarty w e-mailu potwierdzającym rejestrację.
Firewall, zwany również WAF (Web Application Firewall) wchodzi w tryb uczenia się. Etap ten może trwać kilkadziesiąt minut.
W międzyczasie kliknij przycisk „Kliknij tutaj, aby skonfigurować”.
![La sécurité sous WordPress [22]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B22%5D.png)
![La sécurité sous WordPress [23]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B23%5D.png)
Pobierz kopię zapasową pliku .htaccess na Twój komputer, po czym kliknij „Kontynuuj”.
![La sécurité sous WordPress [24]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B24%5D.png)
W jaki sposób zoptymalizować ustawienia ochrony przed atakami typu brute force?
W sekcji „Firewall” w kolumnie po lewej stronie dashboardu kliknij „Manage firewall”.
![La sécurité sous WordPress [25]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B25%5D.png)
Następnie kliknij „Manage Firewall”, a potem „Brute Force Protection” (na dole nowej strony).
![La sécurité sous WordPress [26]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B26%5D.png)
Oto zalecane ustawienia:
- Lock out after how many login failures (maksymalna liczba błędów logowania, zanim użytkownik zostanie zablokowany): 2.
Zalecamy korzystanie z interfejsu zarządzania hasłami. - Lock out after how many forgot password attempts (maksymalna liczba prób resetowania hasła, zanim użytkownik zostanie zablokowany): 2.
- Amount of time a user is locked out (czas, na jaki użytkownik zostaje zablokowany): 2 months (2 miesiące).
- Immediately lock out invalid usernames (natychmiastowe blokowanie internautów logujących się za pomocą nieistniejącej nazwy użytkownika WordPress).
![La sécurité sous WordPress [27]](/sites/default/files/styles/text_media/public/2023-03/La%20s%C3%A9curit%C3%A9%20sous%20WordPress%20%5B27%5D.png)
Jeśli podczas logowania do dashboardu niechcący się zablokujesz, na adres wpisany w Wordfence zostanie wysłany e-mail. Dzięki temu odblokujesz się i podejmiesz kolejną próbę logowania.
Jeśli potrzebujesz ochrony stron WWW (innych niż WordPress), kliknij link. Znajdziesz tam informacje dotyczące funkcji „CDN Security”.
Oto lista najlepszych praktyk, które warto stosować
- Na bieżąco aktualizuj CMS, rozszerzenia i motywy.
- Skonfiguruj WordPressa w taki sposób, aby aktualizacje były realizowane automatycznie.
- Upewnij się, że wszystkie strony są dostępne za pośrednictwem TLS/SSL, i że Twój certyfikat jest ważny.
- Włącz drugi czynnik uwierzytelniania dla kont krytycznych.
- Regularnie sprawdzaj stan Twojej strony.