
Ich bekomme Zehntausende (wahrscheinlich bösartige) Treffer auf Apache, die den Server zum Absturz bringen. Alle Treffer sehen im Apache-Protokoll folgendermaßen aus:
[30/Jan/2022:21:57:41 +0000] "POST //xmlrpc.php HTTP/1.1" 200 630 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4240.193 Safari/537.36"
(Beachten Sie den doppelten Schrägstrich. Ich weiß nicht, was es bedeutet.)
Um die Serverlast zu verringern, habe ich die folgende Regel zu .htaccess hinzugefügt:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} ^//xmlrpc.php
RewriteRule .* - [F,L]
</IfModule>
Beim Ausführen curl -kIL -X POST -H 'Host: [REDACTED]' https://127.0.0.1:443/xmlrpc.php
erhalte ich den Fehlercode 403.
Doch anscheinend reicht das nicht: Laut Log gibt Apache für die Anfragen mit zwei Schrägstrichen immer 200 zurück. Wie kann ich diese Anfragen blockieren (403 zurückgeben)? Wie kann ich mit curl/wget/etc prüfen, ob die Blockierung aktiv ist?
Ich brauche eine Regel, die verhindert, dass „POST //xmlrpc.php HTTP/1.1“ 200 (HTTP OK) zurückgibt, sondern stattdessen 403.
Antwort1
Deaktivieren Sie XML-RPC in Ihrer WordPress-Installation so schnell wie möglich. Es ist ein großes Sicherheitsrisiko und das Problem, das Sie jetzt sehen, ist nur der Anfang davon. Siehe zum Beispielhttps://www.getastra.com/blog/cms/wordpress-security/wordpress-xml-rpc-exploit-everything-you-need-to-know/für Einzelheiten. (In keiner Weise verbunden.)