Security Blog
Security Blog
Posted By Gregory

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ń”.


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.