WordPress mit WP Cerber und NGINX härten
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 HTTP-Server mit hoher Leistung. WP Cerber ist ein kostenloses, quelloffenes Sicherheits-Plugin, das WordPress-Websites vor Eindringlingen und Hackern schützt.
So härten Sie WordPress durch die gemeinsame Verwendung von WP Cerber und NGINX
Zunächst müssen Sie eine benutzerdefinierte Anmelde-URL einrichten und die Option „Direkten Zugriff auf wp-login.php blockieren und HTTP-Fehler 404 nicht gefunden zurückgeben“ aktivieren. Einzelheiten finden Sie hier: So benennen Sie wp-login.php um . Richten Sie Ihre benutzerdefinierte Anmelde-URL aus Sicherheitsgründen nicht als „login“ oder „wp-admin“ ein.
Anschließend müssen Sie den Zugriff auf die Datei wp-login.php in der NGINX-Konfigurationsdatei blockieren. Standardmäßig wird diese Datei 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:
Standort /wp-login.php { return 404; }
Wenn Sie auf Ihrer Site kein XML RPC verwenden, empfehle ich dringend, auch diese Zeile hinzuzufügen:
Standort /xmlrpc.php { return 404; }
Schließlich schützen wir unsere Site und unseren Server vor Überlastung durch Angriffe oder automatisierte Versuche dummer Bots. Dazu nutzen wir die Fähigkeit von NGINX, die Rate eingehender Anfragen zu begrenzen. Durch die Ratenbegrenzung können Sie die Rate eingehender Anfragen über einen bestimmten Schwellenwert hinaus verlangsamen.
Öffnen Sie die Hauptkonfigurationsdatei nginx.conf und suchen Sie den Abschnitt http . Fügen Sie darin die folgende Zeile hinzu:
limit_req_zone $binary_remote_addr Zone=Haupt:10m Rate=60r/m;
Kehren Sie dann zum Serverbereich Ihrer Site zurück und suchen Sie die Zeile
Standort / {
Fügen Sie nach den öffnenden geschweiften Klammern diese Zeile hinzu:
limit_req Zone=Hauptburst=10 Knotenlage;
Änderungen, die wir in der Konfigurationsdatei vorgenommen haben, werden erst angewendet, wenn der Befehl zum Neuladen der Konfiguration an nginx gesendet oder nginx neu gestartet wird. Um die neue Konfiguration zu laden, führen Sie in der Befehlszeile Ihres Servers Folgendes aus:
Dienst Nginx neu laden
Erledigt!
Jetzt können Sie und Ihr Backend-Server (möglicherweise mit Apache betrieben) sich entspannen. Mit diesen wenigen einfachen Schritten können Sie den eingehenden Datenverkehr von „schlechten Anfragen“ bereinigen und den Serverressourcen ermöglichen, „richtige Anfragen“ zu verarbeiten.