Utwardzanie WordPressa za pomocą WP Cerber i NGINX
Współpraca tych dwóch elementów może radykalnie poprawić obronę dowolnego miejsca
English version: Hardening WordPress with WP Cerber and NGINX
NGINX to darmowy, wysokowydajny serwer HTTP typu open source. WP Cerber to darmowa wtyczka bezpieczeństwa o otwartym kodzie źródłowym, która chroni witryny oparte na WordPressie przed intruzami i hakerami.
Jak wzmocnić WordPressa za pomocą WP Cerber i NGINX razem
Przede wszystkim musisz ustawić niestandardowy adres URL logowania i zaznaczyć opcję Zablokuj bezpośredni dostęp do wp-login.php i zwrócić błąd HTTP 404 Nie znaleziono . Sprawdź szczegóły tutaj: Jak zmienić nazwę wp-login.php . Ze względów bezpieczeństwa nie konfiguruj niestandardowego adresu URL logowania jako „login” lub „wp-admin”.
Następnie należy zablokować dostęp do pliku wp-login.php w pliku konfiguracyjnym NGINX. Domyślnie plik ten umieszczany jest w katalogu /etc/nginx, /usr/local/nginx/conf lub /usr/local/etc/nginx.
Dodaj tę linię do sekcji serwera pliku konfiguracyjnego NGINX dla swojej witryny:
lokalizacja /wp-login.php {zwróć 404; }
Jeśli nie używasz XML RPC w swojej witrynie, zdecydowanie polecam dodać również tę linię:
lokalizacja /xmlrpc.php {zwróć 404; }
Wreszcie chronimy naszą witrynę i serwer przed przeciążeniem przez próby atakującego lub automatyczne próby głupich botów. Zróbmy to wykorzystując możliwości NGINX w zakresie ograniczania liczby żądań przychodzących. Ograniczanie szybkości umożliwia spowolnienie liczby żądań przychodzących powyżej określonego progu.
Otwórz główny plik konfiguracyjny nginx.conf i znajdź sekcję http . Dodaj w nim następujący wiersz:
limit_req_zone $binary_remote_addr strefa=główna:10m stawka=60r/m;
Następnie wróć do sekcji serwera w swojej witrynie i znajdź linię
Lokalizacja / {
dodaj tę linię po otwarciu nawiasów klamrowych:
strefa limit_req=główna seria=10 węzłów;
Zmiany, które dokonaliśmy w pliku konfiguracyjnym, nie zostaną zastosowane, dopóki polecenie przeładowania konfiguracji nie zostanie wysłane do nginx lub nie zostanie zrestartowane. Aby załadować nową konfigurację, wykonaj w wierszu poleceń swojego serwera:
przeładowanie usługi Nginx
Zrobione!
Teraz Ty i Twój serwer backendowy (być może oparty na Apache) możecie się zrelaksować. Te kilka prostych kroków pozwala oczyścić ruch przychodzący z „złych żądań” i pozwolić zasobom serwera na obsługę „właściwych żądań”.