Pingbacks? BruteForce? DDoS?

Meine lieben WordPress Freunde. Ist bei euch die xmlrpc.php aktiv? – Wenn man davon noch nie gehรถrt hat, ist die Antwort vermutlich ๐—๐—”. Und ich muss euch mitteilen „Das ist nicht gut“

๐—”๐—ฏ๐—ฒ๐—ฟ ๐˜„๐—ฎ๐˜€ ๐—ถ๐˜€๐˜ ๐—ฑ๐—ถ๐—ฒ ๐˜…๐—บ๐—น๐—ฟ๐—ฝ๐—ฐ ๐—ฒ๐—ถ๐—ด๐—ฒ๐—ป๐˜๐—น๐—ถ๐—ฐ๐—ต?

XML-RPC ist eine Schnittstelle die Daten zwischen WordPress und anderen Systemen ermรถglicht. Soweit so gut, aber mittlerweile wurde sie eigentlich komplett durch die REST-API ersetzt und ist damit so รผberflรผssig, wie <Metapher einfรผgen> (Ich bin nicht gut in Metaphern)

Bis WordPress 3.5 war die XML RPC Schnittstelle standardmรครŸig deaktiviert. Aber damit WordPress mit der Mobile App kommunizieren konnte ist sie Seit 3.5 standardmรครŸig aktiv obwohl sie nicht genutzt wird.

๐—ข๐—ธ, ๐˜‚๐—ป๐—ฑ ๐˜„๐—ฎ๐˜€ ๐—ถ๐˜€ ๐˜€๐—ผ ๐˜€๐—ฐ๐—ต๐—น๐—ถ๐—บ๐—บ ๐—ฑ๐—ฎ๐—ฟ๐—ฎ๐—ป?

Werdet ihr euch jetzt sicher fragen. Zu Recht, wie ich meine. Drum will ich es euch sagen:
Unfreundliche Zeitgenossen kรถnnen diese Schnittstelle nutzen um euch mit Pingbacks zu รผberfluten, wodurch eure Seite lahmgelegt wird. Gerade bei der Schlรผsseldienst-Mafia neben dem Phoneblocking eine sehr beliebte Vorgehensweise um Konkurrenten auszutrocknen.

AuรŸerdem kann ein pfiffiger Mensch mit einer Username / Passwort Liste eine BruteForce Attacke gegen eure Seite starten, ohne dass er die /wp-login jemals aufgerufen hat. Ich persรถnlich finde das mehr als Schlimm.

๐—ž๐—น๐—ถ๐—ป๐—ด๐˜ ๐—ฎ๐—น๐—น๐—ฒ๐˜€ ๐—ป๐—ถ๐—ฐ๐—ต๐˜ ๐˜€๐—ผ ๐—ฟ๐—ผ๐˜€๐—ถ๐—ด ๐—ผ๐—ฑ๐—ฒ๐—ฟ?

Nun aber zu den guten Neuigkeiten: Es gibt mehrere Wege, wie man dieses Problem beheben kann. Zum einen kรถnnt Ihr euch ein Plugin installieren. Aber das wollen wir ja gar nicht.

๐—ฆ๐—ผ ๐—ฑ๐—ฒ๐—ฎ๐—ธ๐˜๐—ถ๐˜ƒ๐—ถ๐—ฒ๐—ฟ๐˜ ๐—บ๐—ฎ๐—ป ๐—ฑ๐—ถ๐—ฒ ๐—ฆ๐—ฐ๐—ต๐—ป๐—ถ๐˜๐˜๐˜€๐˜๐—ฒ๐—น๐—น๐—ฒ:

๐˜๐˜ข๐˜ณ๐˜ช๐˜ข๐˜ฏ๐˜ต๐˜ฆ 1: ๐˜๐˜ช๐˜ข .๐˜ฉ๐˜ต๐˜ข๐˜ค๐˜ค๐˜ฆ๐˜ด๐˜ด

Fรผge einfach den folgenden Code deiner .htaccess hinzu:

<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>;

Variante 2: Via NGINX Direktive

location = /xmlrpc.php { deny all; }

๐˜๐˜ข๐˜ณ๐˜ช๐˜ข๐˜ฏ๐˜ต๐˜ฆ 3: ๐˜๐˜ช๐˜ข ๐˜ž๐˜ฐ๐˜ณ๐˜ฅ๐˜—๐˜ณ๐˜ฆ๐˜ด๐˜ด ๐˜๐˜ถ๐˜ฏ๐˜ค๐˜ต๐˜ช๐˜ฐ๐˜ฏ๐˜ด

Fรผge den folgenden Code einfach deiner functions.php hinzu:

add_filter( 'xmlrpc_enabled', '__return_false' );

๐—ž๐—ฒ๐—ถ๐—ป๐—ฒ ๐—ฆ๐—ผ๐—ฟ๐—ด๐—ฒ, ๐—ฑ๐˜‚ ๐—บ๐˜‚๐˜€๐˜€๐˜ ๐—ป๐˜‚๐—ฟ ๐—ฒ๐—ถ๐—ป๐—ฒ ๐—ฑ๐—ฒ๐—ฟ ๐—ฉ๐—ฎ๐—ฟ๐—ถ๐—ฎ๐—ป๐˜๐—ฒ๐—ป ๐—ฒ๐—ถ๐—ป๐—ฏ๐—ฎ๐˜‚๐—ฒ๐—ป. ๐—”๐—บ ๐—ฏ๐—ฒ๐˜€๐˜๐—ฒ๐—ป ๐—ฑ๐—ถ๐—ฒ, ๐—ฑ๐—ถ๐—ฒ ๐—ณ๐˜‚ฬˆ๐—ฟ ๐—ฑ๐—ถ๐—ฐ๐—ต ๐—ฎ๐—บ ๐—ฒ๐—ถ๐—ป๐—ณ๐—ฎ๐—ฐ๐—ต๐˜€๐˜๐—ฒ๐—ป ๐—ถ๐˜€๐˜.