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ę dowolnej witryny


English version: Hardening WordPress with WP Cerber and NGINX


NGINX to darmowy, wysokowydajny serwer HTTP o otwartym kodzie źródłowym. WP Cerber to darmowa wtyczka bezpieczeństwa typu open source, która chroni witryny oparte na WordPressie przed intruzami i hakerami.

Jak wzmocnić WordPress za pomocą WP Cerber i NGINX razem

Przede wszystkim musisz skonfigurować niestandardowy adres URL logowania i zaznaczyć Zablokuj bezpośredni dostęp do wp-login.php i zwróć HTTP 404 Not Found Error . Sprawdź szczegóły tutaj: Jak zmienić nazwę wp-login.php . Ze względów bezpieczeństwa nie ustawiaj 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 ten wiersz do sekcji serwera pliku konfiguracyjnego NGINX dla swojej witryny:

 lokalizacja /wp-login.php { powrót 404; }

Jeśli nie używasz XML RPC w swojej witrynie, gorąco polecam dodać również tę linię:

 lokalizacja /xmlrpc.php { powrót 404; }

Na koniec chronimy naszą witrynę i serwer przed przeciążeniem przez ataki hakerów lub automatyczne próby głupich botów. Zróbmy to, wykorzystując zdolność NGINX do 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ącą linię:

 limit_req_zone $binary_remote_addr zone=main:10m rate=60r/m;

Następnie wróć do sekcji serwera swojej witryny i znajdź wiersz

 Lokalizacja / {

dodaj tę linię po otwarciu nawiasów klamrowych:

 limit_req zone=main burst=10 nodelay;

Zmiany, które wprowadziliś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:

 usługa przeładowania nginx

Zrobione!

Teraz ty i twój serwer zaplecza (być może zasilany przez Apache) możecie się zrelaksować. Te kilka prostych kroków pozwala oczyścić ruch przychodzący z „niewłaściwych żądań” i umożliwić zasobom serwera 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.