Eine simple Abfrage macht es Hackern einfach den Benutzernamen einer WordPress Installation auszulesen.
Viele WordPress-Installationen verraten sich selbst. Mit einer simplen Abfrage in einem Browser kann man durch das anhängen eines kleinen Zusatzes den Benutzernamen des Admins abfragen. Verwenden Hacker diesen einfachen Trick, haben sie es bereits zur Hälfte geschafft, in das Back-End Ihrer Website einzudringen …
So schützen Sie sich vor der Abfrage Ihres WordPress Author Link
WordPress ermöglicht es mit der einfachen Ergänzung /?author=1 an die URL einer Website den WordPress Author Link des Admin-Benutzernamen anzuzeigen. Standardmäßig bekommt der erste Benutzer, der WordPress installiert, die ID author1. Dieser Benutzer ist naturgemäß IMMER ein Admin. Leider wird hier auch der wirkliche Benutzername angezeigt und nicht, was ja wünschenswert wäre, der in den WordPress Einstellungen gewählte öffentliche Name.
Testen Sie die URL Ihrer WordPress-Website:
Geben Sie in die Adresszeile eines Browsers www.ihre-website.de/?author=1 ein.
Wenn Ihre Installation nicht geschützt ist, bekommen Sie in der URL folgendes Ergebnis in der Adresszeile angezeigt: www.ihre-website.de/author/ihr-geheimer-benutzername.
WordPress benutzt die Funktion des WordPress Author Link, um Artikel (Posts) in Blogs einem Autor zuordnen zu können. (It´s a feature – not a bug!) Dieses Feature wird aber zur Falle, wenn man unter seinem Admin-Account Artikel veröffentlicht. Die WordPress-Empfehlung lautet:
Legen Sie zur Veröffentlichung Ihrer Artikel einen User an, der lediglich über Redakteursrechte verfügt.
Meines Erachtens reicht dieser einfache Kniff als Schutz nicht aus:
Denn natürlich kann auch der WordPress Author Link eines Redakteurs, oder jedes anderen Benutzers mithilfe der kleinen Ergänzung in der URL ausspioniert werden. Man wechselt einfach die ID, also anstatt /?author=1 wird einfach /?author=2, /?author=3 etc. eingegeben. Ein Hacker wird schnell fündig und kann mit etwas Geduld und Ausprobieren den Redakteurs- vom Admin-Account unterscheiden.
Edit Author Slug
Mehr Abhilfe schafft eine Verschleierung des WordPress Author Link. Das kostenlose WordPress Plugin >> Edit Author Slug bietet eine einfache und recht effiziente Möglichkeit den Benutzernamen eines Accounts zu verschleiern und individuelle, von den ursprünglichen Profildaten unabhängige Autoren/Nutzernamen zu erstellen. Ich verwende dieses Plugin zur Absicherung meiner eigenen Websites sowie der meiner Kunden.
Anmerkung: Auch dieses Plugin verhindert die Anzeige des Author Link nicht vollständig (Danke für Deinen Hinweis, Torsten Landsiedel – s.u.: Kommentare). Es geht um sicherer. Sicher gibt es nicht. [
In den Plugin-Einstellungen können Sie die Base-URL einstellen, also:
www.meine-website-rubrik-autorenname.
In den Benutzereinstellungen von WordPress finden Sie dann die individuellen Einstellungen zur Anzeige des Benutzernamens, also:
www.meine-website-rubrik-autorenname.
Mit WordPress 4.0 scheint das auslesen des WordPress Author Link zumindest erschwert. Diese Sicherheitslücke sollte unbedingt mit Hilfe des Plugins geschloßen werden. Für Benutzer älterer WordPress-Installationen ist ein solches Plugin ein absolutes MUSS – mal abgesehen davon, dass diese unbedingt eine aktuelle WordPress Version erwägen und auch durchführen sollten.
Thorsten, wie kann man derart viel Energie aufbringen und sich die ganze Zeit selber unterhalten?
Hast Du das hier alles besoffen geschrieben?
Michael, herzlich Willkommen.
Du bist der erste Troll auf meinem Blog! Seien wir mal ehrlich – ohne einen Troll hat man doch das Gefühl, man wird gar nicht richtig ernst genommen.
Danke, diese Sorge bin ich nun los. Auch wenn ich nicht verstehen kann, wie man seine Energie dafür verschwenden kann, andere Leute sinnlos zu bashen.
Übrigens - besser wäre „... die ganze Zeit mit sich selbst unterhalten ...", dann ergäbe es Sinn und wäre auch grammatikalisch richtig.
Hallo Thorsten,
Ich habe eine Absicherung über eine htaccess vorgenommen und habe weiterhin sehr viele fehlgeschlagene Login Versuche registriert. Danach habe ich die xmlrpc auch noch deaktiviert. Seitdem ist Ruhe.
Problem hierbei ist: Ich habe damit den Betreiber des Blogs auch ausgesperrt, da er meist von unterwegs Postings geschrieben hat (Er ist Extrem Radsportler). Das ist mit htaccess natürlich eher schwierig in der Handhabung, vor allem vom Tablet oder Smartphone.
Hast du einen Tipp, wie das Posten von Beiträgen wieder praktikabel wird und die Seite dennoch sicher bleibt?
Viele Grüße
Jens
Hallo
Sven, Entschuldige bitte, wie komme ich denn darauf … Hallo Jens!Nein. Leider gibt es zu der Absicherung des Adminbereiches via .htaccess keine wirklichen Alternativen. Ein paar Ergänzungen findest Du ja im Blog. Wieso stellt der .htaccess-Schutz auf Smart Devices eine schlechte Handhabung dar? Wegen der Notwendigkeit Username und Passwort dort einzugeben, bevor man sich dann in das Backend einloggt? Aber das ist doch – wenn man es im Browser nicht abspeichert, was hier natürlich nicht empfohlen wird 🙂 – auf einem Desktop ebenso der Fall.
Es gibt für iOS & Android – in Sachen Windows kenne ich mich nicht aus – Apps, die die Kommunikation mit einer WordPress-Website übernehmen. ZB. die WordPress App von Automaticc stellt eine bequeme Verbindung zur Website her und bietet eine elegante & kostenlose Alternative (Post on the Go) zur Bearbeitung der Site in einem Mobilen Browser. Die WordPress App kann man von wordpress.com für iOS oder Android hier herunter laden. Eine Windows App gibt es leider nicht. Voraussetzung ist ein Account auf wordpress.com. Sicherlich gibt es zu dieser App etliche Alternativen, ich habe diese jedoch nicht getestet.
Vielleicht hilft Dir das weiter?
Grüße aus dem sonnigen Hamburg,
Thorsten
Hallo Torsten,
die App kenne ich und habe sie lange genutzt. Diese nutzt die Schnittstelle „xmlrpc“- es wird jedoch empfohlen, diese zu deaktivieren, da sie es Hackern erlaubt, mit 1 Versuch 150(!) verschiedene Username/Password Kommbinationen auszuprobieren. Deshalb habe ich sie abschalten müssen, da trotz .htaccess weiter munter versucht wurde, sich einzuloggen.
Und ich habe gestern den Passwortschutz per .htaccess mal deaktiviert. 30 min später gab es bereits wieder die ersten Versuche, sich einzuloggen. Das muss ich also heute Abend wieder einschalten.
Ich arbeite an der Seite nur von zu Hause aus, hier habe ich einen Passwort Safe (KeePass). Ich habe die Passwörter von KeePass generieren lassen (14stellig)- das kann ich mir wirklich nicht merken 😀
Der Eigentümer der Seite hat gar keinen Admin Account, nur einen Redakteur Account, damit er Beiträge verfassen und editieren kann. Sein öffentlicher Name unterscheidet sich von seinem USernamen- das gibt auch schon etwas Sicherheit. Ich werde nun die .htaccess soweit abschwächen, dass er sich User/Passwort davon ebenfalls merken kann.
Grüße
Jens
Hallo Thorsten,
über das „limit login attemps“ sehe ich, das ich viel zu viele Hackerangriffe auf meinen Blog habe. (Ich hab schon ziemlich früh den author-1 abgeändert, dennoch sieht man jetzt den neuen Benutzernamen). Ich möchte nun als 1. Schritt die Erstellung der Beiträge und Kommentarfunktion als Administrator einstellen und für mich selbst einen anderen Status, zb. Redakteur, anlegen. Wie sichere ich diese Benutzernamen?
Meine Frage an Dich Profi: Was passiert mit den bisherigen Kommentaren, die ich als Administrator gepostet habe? Mein Blog ist seit 1,5 Jahren online. Funktioniert das auch rückwirkend? Wenn ja, automatisch oder muss ich da noch was abändern?
Grübelnde Grüße
Eva
Hallo Eva,
die Zuordnung von Artikeln eines Autors, der gelöscht werden soll, stellt in WordPress keine große Schwierigkeit dar, wenn Du folgende Vorgehensweise beachtest:
Schritt 0. (empfohlen) Erstelle ein Backup Deiner Datenbank.
Schritt 1. Da Du einen Admin-Account löschen möchtest, musst Du als erstes einen neuen Admin-Account erstellen.
Schritt 2. Als nächstes erstellst Du einen neuen Redakteur-Account, mit dem Du von nun an Deine Artikel editierst.
Schritt 3. Als letztes löscht Du den alten Admin-Account. Beim löschen des Accounts wirst Du gefragt, was mit den vorhandenen Artikeln des zu löschenden Accounts gesehen soll. Du kannst sie nun dem neuen Redakteurs-Account zuordnen.
Damit ist dieses Problem schon gelöst 🙂
Wenn Du allerdings an dem wirklichen Problem, nämlich mit der Abwehr der Hackerangriffe auf Deine WordPress-Instanz arbeiten möchtest, dann solltest Du Dich mit diesem Artikel beschäftigen: Absicherung des WordPress-Adminbereiches mit Hilfe der .htaccess-Datei. Diese Art der Absicherung des Adminbereiches über die .htacces stellt einen starken Schutz gegen Hackerangriffe dar. Wie oben in meinem Artikel beschrieben lösen sowohl das PlugIn „Limit Login Attempts“ als auch das „verbergen“ des Admin-Accounts das Problem nicht wirklich, daher empfehle ich Dir den .htaccess-Schutz dringend.
Ich wünsche Dir viel Erfolg mit Deinem Blog.
Grüße aus dem sonnigen Hamburg,
Thorsten
Herzlichen Dank Thorsten für Deine ausführliche Antwort,
das werde ich so machen!
Schöne Grüße
Eva
Hallo Thorsten,
erst mal vielen Dank für die tollen Informationen… 😉
Es wird immer empfohlen, nach der Installation einen weiteren Benutzer anzulegen und den Autor 1 zu löschen.
Aber was ist wenn ein hartnäckiger Bot jetzt http://www.ihre-website.de/?author=2 ausprobiert???
Ich habe es natürlich bei mir selbst eingegeben und das Ergebnis, ich bin auf der Startseite gelandet!
Also bin ich erst mal bis hier her zufrieden.
Diese Bots machen mir allerdings immer die Hölle heiß 😉
Es gibt immer wieder was zu verbessern… deshalb bleib dran und weiter so!
Ich schau immer mal wieder rein, ob´s was neues gibt!
Frohes Neues Jahr noch an alle
Bolle
Hallo Bolle,
das „verbergen“ eines WP-Autors ist nur eine Maßnahme aus einem ganzen Fächer an Schutzmaßnahmen, um eine WordPress Instanz abzusichern. „Verbergen“ ist auch kein wirklich zutreffender Begriff, „verschleiern“ trifft es eher. Es gibt aber auch bei Verwendung des PlugIns >>Edit Author Slug Möglichkeiten den WordPress Autor herauszufinden (Siehe Kommentar von Torsten Landsiedel vom 09.12.14 weiter unten).
Den stärksten Schutz erreicht man durch die Absicherung des WordPress-Adminbereiches mit Hilfe der .htaccess-Datei. Zu dieser Maßnahme gibt es nach wie vor kein Alternative und ich empfehle allen, die nach mehr Sicherheit für ihre WordPress-Instanz suchen, dringend diesen Weg zu wählen.
Ich freue ich, wenn Du hier immer mal wieder reinschaust und wünsche Dir ebenfalls ein frohes neues Jahr.
Thorsten
Warum nicht einfach über phpMyAdmin direkt in die Datenbank eingreifen? In der wp_users-Tabelle muss unter user_nicename (und natürlich auch unter display_name) ein von user_login abweichender Name gewählt werden, der dann auch im Quelltext ausgegeben wird. Der Login-Name ist damit für Angreifer nicht mehr ersichtlich.
Hallo Tobias,
Danke für Deinen Vorschlag direkt via phpMyAdmin in die Datenbank einzugreifen. Das ist ein sehr guter Weg, der die Performance nicht belastet, da kein weiteres PlugIn benötigt wird.
Für Leute die Wissen was Sie tun ein Königsweg. Viele WordPress-Nutzer haben aber großen Respekt vor direkten Eingriffen in der Datenbank. Ein gutes Thema für einen eigenen Post über dieses Theme – Ich danke für Deine Anregung.
Grüße aus Hamburg,
Thorsten
Hallo Thorsten,
gerne geschehen!
Viele Grüße aus dem Frankenland nach Hamburg,
Tobias
Hi,
bin gerade auf den Artikel gestoßen und danke für den Denkanstoß Richtung Datenbank, manchmal sieht man halt vor lauter Bäumen den Wald nicht mehr.
Aber eine Anmerkung zu deiner Lösung. Solange man nur 1-2 Autoren hat ist das eine schnelle und einfache Lösung.
Wenn man jedoch einen Multiuser Blog hat, zur Not noch mit wechselnden Autoren wird der Administrative Aufwand recht schnell unübersichtlich.
Da würde ich dann doch das vorgestellt Plug-In bevorzugen.
Oder halt mal eine Lösung seitens WP.
könntest du eine genaue Anleitung geben, was genau zu tun ist in den Datenbank? Also eine Schritt-für Schritt-Anleitung??
Grüße
Rolf
Ahoi Micha,
kannst Du Rolf unterstützen und ihm eine Schritt für Schritt-Anleitung geben?
Die ist sicherlich nicht nur für ihn sehr interessant – Danke.
Thorsten
Ich habe erst eben das Plugin Limit Attempts installiert und habe es sehr hart eingestellt. Das dürfte fürs Erste reichen. Das machte ich bei meinem Hauptblog, der mir am wichtigsten ist. So bin ich erstmals abgesichert.
Noch bin ich ein Autor auf einem Blog, wo der Login-Bereich mit .htaccess gesichert ist. Da ist es noch einen Tick sicherer.
Hallo Alex,
Limit Login Attempts sind ein sehr gutes Hilfsmittel, um den eigenen Blog / den eigenen Internetauftritt stärker abzusichern. Allerdings ist dann WordPress selbst damit beschäftigt Angriffe von aussen abzuwehren. Das schwächt unter Umständen die Performance einer Website.
Wie Du ganz richtig erwähnst:
Die beste Art der Absicherung ist der Passwortschutz der .htaccess-Datei.
Das verbessert den Schutz ganz erheblich.
Viele Grüße,
Thorsten
Wer dann aber mit seinem Admin-Konto kommentiert und die comment_class-Funktion vom Theme verwendet hier, dann steht auch dort der Benutzername als Klasse:
Wobei [user-nicename] eben der URL-freundliche Benutzername ist. Edit Author Slug greift da auch nicht.
Alle Bugmeldungen die sich auf das offen legen des Benutzernamen beziehen werden vom Core-Team auch alle mit WONTFIX beantwortet. Und selbst wenn wir alle Vorkommen finden und ersetzen/entfernen, dann bedeutet diese Einstellung, dass es jederzeit und überall wieder vorkommen kann.
Ich würde mich daher auf andere Sicherheitsmechanismen konzentrieren. Zum Beispiel die Sicherung des Logins per htaccess: https://blog.art-supplies.de/htaccess-datei/
Hallo Torsten,
vielen Dank für Deinen schnellen und richtigen Kommentar. Wir hatten ja schon beim WP-Meetup Hamburg über das offenlegen des Benutzernamens diskutiert …
Dein Hinweis auf das kommentieren mit dem Admin-Konto ist sehr gut.
Mehr Tipps und Infos zum Thema WordPress von Torsten Landsiedel finden sich hier: https://torstenlandsiedel.de/blog/
LG, Thorsten