WP Care –

I care for your WordPress!

Seit einiger Zeit sehen sich die Logins vieler WordPress-Installationen massiven Angriffen ausgesetzt. Dabei werden vor allem der Standard-Loginname oder Varianten desselben wie admin, adminadmin oder Administrator ausprobiert. Natürlich ist der beste Schutz gegen solche Angriffe ein starkes Passwort. Einen gewissen zusätzlichen Schutz bietet aber auch ein ungewöhnlicher Loginname. Oft wird empfohlen, im Backend unter einem anderen Loginnamen einen neuen Account mit Admin-Rechten anzulegen und den User admin danach zu löschen. Warum das nicht ausreicht und was man stattdessen tun kann, möchte ich in diesem Artikel diskutieren.

Das Problem besteht nämlich darin, dass ein Angreifer auch den neuen Usernamen auslesen kann. Dafür gibt es zwei Möglichkeiten. Einerseits kann ein Angreifer bei vielen Blogs den Usernamen aus dem Quellcode eines Blogbeitrags auslesen, wenn der Blogbetreiber mit diesem Usernamen bloggt oder kommentiert. Der Grund dafür ist, dass der Username, mit dem gebloggt wird, standardmäßig von WordPress als Teil einer CSS-Klasse ausgegeben wird. Das können Sie verhindern, indem Sie eine Funktion in die functions.php des Themes einfügen, die die Ausgabe des sogenannten comment-author-name verhindert, oder indem Sie diese Ausgabe mit dem Plugin Declutter WordPress unterdrücken. Generell ist zudem zu empfehlen, nicht mit dem Admin-Account zu bloggen und zu kommentieren.

Aber selbst wenn Sie diese Ausgabe Ihres Loginnamens im CSS unterdrückt haben oder nicht als Admin bloggen oder kommentieren, bleibt der Loginname des Admins auslesbar, nämlich über den URL http://ihredomain.de/?author=1. Schuld daran ist, wie auch bei der Ausgabe des Loginnamens in der oben genannten CSS-Klasse, die Variable user_nicename in der Tabelle wp_users – gegebenenfalls mit einem anderen Präfix – die WordPress standardmäßig auf den gleichen Wert setzt wie den eigentlichen Loginnamen, der in der Variable user_login in derselben Tabelle zu finden ist.

Die Lösung des Problems ist nun denkbar einfach. Sie müssen nur die Variable user_login in der Tabelle wp_users auf einen anderen Wert setzen als den user_nicename. Dafür ist lediglich ein kleiner direkter Eingriff in die WordPress-Datenbank notwendig, den Sie in der Regel über das Webinterface phpmyadmin durchführen können, das die meisten Hoster zur Verfügung stellen. Alternativ können Sie auch das Plugin Adminer verwenden, das Ihnen ein Mini-phpmyadmin innerhalb des WordPress-Backends zur Verfügung stellt. Eine nicht mehr ganz frische, aber dennoch immer noch gute Anleitung zur Bedienung von phpmyadmin hat Jens Ferner erstellt. Sie sollten jedoch vor dieser Änderung unbedingt ein Backup der Datenbank anlegen! Nach der Änderung können Sie sich mit Ihrem neuen Admin-Usernamen einloggen und mit http://ihredomain.de/?author=1 überprüfen, dass der dort angezeigte Name nun wirklich nicht mehr der Loginname ist. Diese Änderung hat keinerlei negative Auswirkungen auf die Funktionalität von WordPress, bietet aber einen zusätzlichen Schutz vor Angriffen auf Ihren WordPress-Login.

Wichtig: Sie müssen unbedingt darauf achten, dass auch der Spitzname, der im Backend setzbar ist, nicht mit dem Loginnamen übereinstimmt. Sonst kann der Loginname immer noch ausgelesen werden, beispielsweise aus der Vorstellung des Autors auf http://ihredomain.de/author/autorenname.

Haben Sie Fragen zu diesem Vorgehen, oder benötigen Sie Hilfe? Ich unterstütze Sie gern!

Bitte beachten Sie: Eine Angabe von Name und Mailadresse ist zum Kommentieren nicht erforderlich!

Eine Antwort zu “Wie man zuverlässig verhindert, dass der Loginname bei WordPress ausgelesen werden kann”

  1. […] hat schon vor einigen Monaten einen ausführlichen Artikel dazu verfaßt, den ich hier noch um eine neue Erkenntnis ergänzen möchte. Kurz: Er rät dazu, den […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Zum Menue Zum Inhalt

Impressum

last modified: 04/14/2013 by WP Care