Security Blog
Security Blog

Hardening WordPress mit WP Cerber und NGINX

Durch die Zusammenarbeit dieser beiden Elemente kann die Verteidigung aller Standorte erheblich verbessert werden


English version: Hardening WordPress with WP Cerber and NGINX


NGINX ist ein kostenloser Open-Source-Hochleistungs-HTTP-Server. WP Cerber ist ein kostenloses Open Source-Sicherheits-Plugin, das WordPress-basierte Sites vor Eindringlingen und Hackern schützt.

Wie man WordPress mit WP Cerber und NGINX zusammen härtet

Zunächst müssen Sie eine benutzerdefinierte Anmelde-URL einrichten und die Option Direkten Zugriff auf wp-login.php blockieren markieren und den Fehler "HTTP 404 nicht gefunden" zurückgeben . Details finden Sie hier: So benennen Sie wp-login.php um . Richten Sie aus Sicherheitsgründen Ihre benutzerdefinierte Login-URL nicht als "login" oder "wp-admin" ein.

Dann müssen Sie den Zugriff auf die Datei wp-login.php in der NGINX-Konfigurationsdatei blockieren. Diese Datei ist standardmäßig im Verzeichnis / etc / nginx, / usr / local / nginx / conf oder / usr / local / etc / nginx abgelegt.

Fügen Sie diese Zeile zum Serverabschnitt der NGINX-Konfigurationsdatei für Ihre Site hinzu:

 location /wp-login.php {return 404; } 

Wenn Sie keinen XML-RPC auf Ihrer Site verwenden, empfehle ich dringend, diese Zeile ebenfalls hinzuzufügen:

 location /xmlrpc.php {return 404; } 

Schließlich schützen wir unsere Site und Server vor Überlastung durch Angreiferversuche oder automatisierte Versuche durch dumme Bots. Machen wir es mit der Fähigkeit von NGINX, die Rate eingehender Anfragen zu begrenzen. Mithilfe der Ratenbegrenzung können Sie die Rate eingehender Anforderungen über einen bestimmten Schwellenwert hinaus verlangsamen.

Öffnen Sie die Hauptkonfigurationsdatei nginx.conf und suchen Sie den http-Abschnitt . Fügen Sie die folgende Zeile hinzu:

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

Kehren Sie dann zum Serverbereich Ihrer Site zurück und suchen Sie die Zeile

 Standort / { 

Fügen Sie diese Zeile nach dem Öffnen von geschweiften Klammern hinzu:

 limit_req zone = Hauptburst = 10 Nodelay; 

Änderungen, die wir in der Konfigurationsdatei vorgenommen haben, werden erst übernommen, wenn der Befehl zum Neuladen der Konfiguration an nginx gesendet oder neu gestartet wird. Führen Sie zum Laden der neuen Konfiguration die Befehlszeile Ihres Servers aus:

 service nginx reload 

Erledigt!

Jetzt können Sie und Ihr Backend-Server (möglicherweise mit Apache betrieben) entspannen. Diese einfachen Schritte ermöglichen es Ihnen, den eingehenden Datenverkehr von "fehlerhaften Anforderungen" zu bereinigen und der Ressource des Servers zu ermöglichen, "richtige Anfragen" auszuführen.

Last posts from WordPress security blog


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.