WordPress mit WP Cerber und NGINX absichern
Die Zusammenarbeit dieser beiden kann die Verteidigung jeder Site dramatisch verbessern
English version: Hardening WordPress with WP Cerber and NGINX
NGINX ist ein kostenloser, quelloffener und leistungsstarker HTTP-Server. WP Cerber ist ein kostenloses, quelloffenes Sicherheits-Plugin, das WordPress-Websites vor Eindringlingen und Hackern schützt.
Wie man WordPress mithilfe von WP Cerber und NGINX gemeinsam härtet
Zunächst müssen Sie eine benutzerdefinierte Anmelde-URL einrichten und die Option „Direkten Zugriff auf wp-login.php blockieren und HTTP-404-Fehler zurückgeben“ aktivieren. Weitere Informationen finden Sie hier: wp-login.php umbenennen . Aus Sicherheitsgründen sollten Sie Ihre benutzerdefinierte Anmelde-URL nicht „login“ oder „wp-admin“ nennen.
Anschließend müssen Sie den Zugriff auf die Datei wp-login.php in der NGINX-Konfigurationsdatei blockieren. Standardmäßig befindet sich diese Datei im Verzeichnis /etc/nginx, /usr/local/nginx/conf oder /usr/local/etc/nginx.
Fügen Sie diese Zeile dem Serverabschnitt der NGINX-Konfigurationsdatei für Ihre Website hinzu:
location /wp-login.php { return 404; }
Falls Sie auf Ihrer Website kein XML-RPC verwenden, empfehle ich dringend, diese Zeile ebenfalls hinzuzufügen:
location /xmlrpc.php { return 404; }
Schließlich schützen wir unsere Website und unseren Server vor Überlastung durch Angriffe von Angreifern oder automatisierten Bots. Dazu nutzen wir die Möglichkeit von NGINX, die Anzahl eingehender Anfragen zu begrenzen. Durch die Begrenzung der Anfragenrate lässt sich die Anzahl der eingehenden Anfragen ab einem bestimmten Schwellenwert reduzieren.
Öffnen Sie die Hauptkonfigurationsdatei nginx.conf und suchen Sie den Abschnitt „http“ . Fügen Sie darin die folgende Zeile ein:
limit_req_zone $binary_remote_addr zone=main:10m rate=60r/m;
Kehren Sie anschließend zum Serverbereich Ihrer Website zurück und suchen Sie die Zeile
Standort / {
Füge diese Zeile nach der öffnenden geschweiften Klammer ein:
limit_req zone=main burst=10 nodelay;
Die in der Konfigurationsdatei vorgenommenen Änderungen werden erst wirksam, wenn der Befehl zum Neuladen der Konfiguration an nginx gesendet oder nginx neu gestartet wird. Um die neue Konfiguration zu laden, führen Sie folgenden Befehl in der Kommandozeile Ihres Servers aus:
service nginx reload
Erledigt!
Jetzt können Sie und Ihr Backend-Server (möglicherweise ein Apache-Server) aufatmen. Mit diesen wenigen einfachen Schritten können Sie eingehenden Datenverkehr von fehlerhaften Anfragen befreien und sicherstellen, dass die Serverressourcen die richtigen Anfragen bearbeiten.