Zurzeit kann jedes WordPress-Blog auf einfache Weise über die XML-RPC-Schnittstelle für einen Pingback sabotiert werden. Der dazu erforderliche Aufwand ist so gering, dass es ein fortgeschrittenes Kind hinbekommen müsste – und zwar in einer Form, die keine identifizierenden Spuren hinterlässt. Dass diese Angriffmöglichkeit von Kindern, Netzvandalen, Idioten und Leuten, die andere Leute wegbeißen wollen massenhaft ausgenutzt werden wird, ist sicher.
Es ist kein Schutz, wenn man im Dashboard unter Einstellungen ▷ Diskussion das Häkchen vor »Erlaube Link-Benachrichtigungen von anderen Weblogs« entfernt. Diese Einstellung gilt nicht global für das ganze Blog, sondern sie legt die Vorgabe für zukünftige Artikel fest. Tatsächlich muss für jeden Beitrag einzeln festgelegt werden, ob er Pingbacks gestattet. Mit WordPress-Hausmitteln gibt es zurzeit nur die Möglichkeit, für alle bisher veröffentlichten Artikel Pingbacks und Trackbacks abzuschalten¹. Ein Klick in der Artikelliste auf »Quick Edit«, ein Klick auf eine Checkbox, ein Klick auf eine zweite Checkbox, ein Klick auf Speichern, fortsetzen mit dem nächsten Artikel. Und natürlich muss dabei durch die Artikelliste geblättert werden, denn die meisten Blogs haben ja mehr als dreißig Artikel…
Nein, das ist eine Zumutung.
Zum Glück gibt es eine fertige und einfach anzuwendende Lösung: Das WordPress-Plugin Disable XML-RPC Pingback beseitigt genau den für Sabotage-Attacken verwendeten Angriffspunkt. Und es geht nur mit einem Nachteil einher: Pingbacks funktionieren nicht mehr. Diese sind ja auch durch einen findigen dDoS-Hack zum Sicherheitsporblem geworden.
Erfreulicher Nebeneffekt: Die ganze Pingback-Spam kommt ebenfalls nicht mehr an. Nur, wenn jetzt einmal ein anderer Blogger einen Artikel verlinkt, kommt es nicht mehr zur automatischen Zurückverlinkung durch einen Pingback-Kommentar. Der verlinkende Blogger müsste in diesem Fall ein kleines bisschen altmodische Handarbeit leisten und einen Kommentar schreiben, wenn er auf seinen Beitrag hinweisen möchte. Ich glaube, dass das nicht zu viel verlangt ist.
Von dieser einen Funktion abgesehen hat sich nichts verändert. Selbst XML-RPC funktioniert wie gewohnt, es können also auch weiterhin Client-Programme (wie zum Beispiel Wpcmd) zum Bloggen verwendet werden.
Wie man in WordPress ein Plugin installiert, erkläre ich jetzt aber nicht auch noch. Derartige Anleitungen finden sich aber ganz bestimmt irgendwo in diesem Neuland. Und auf der Plugins-Seite im Dashbord nach einem Klick auf »Hilfe«. 😉
Und jetzt aber los!
¹Experten würden das natürlich mit einem SQL-Statement update wp_posts set ping_status = 'closed';
machen, statt sich die Finger wund zu klicken. Wer den Begriff SQL-Statement noch nie gehört hat und folglich auch nicht weiß, wie man eines absetzt und welche Konzepte eine relationale Datenbank auszeichnen, hat dieses Chance nicht und »darf« sich die Finger wund klicken, weil WordPress ihm keine andere Möglichkeit anbietet. Deshalb auch hier der anfängertaugliche Hinweis.
Erledigt. Danke!
Hui, Pingbacks; ärgerlich, weil ich die selbst gern nutze, aber ’s ist halt WordPress. Wenn ich nur nicht zu faul wäre, mich mit s9y zu beschäftigen…