Du hast keine URL zu deiner Website angegeben und verständlicherweise kennen wir weder den Link zum Anmeldeformular, noch den „eher ungewöhnlichen Benutzernamen“ deiner Frau – alles OK, nur kann ich dann in der Beurteilung auch nur sehr allgemein bleiben.
Es ist richtig, dass zunächst einmal bei allen WordPress-Installationen das Anmeldeformurlar unter der Adresse https://example.com/{wordpress-verzeichnis/}wp-login.php
erreichbar ist und wer hier leichtsinnigerweise eine allzu leicht zu erratende Kombination aus Benutzername und Passwort (z.B. admin:password
) gewählt hat, hätte dann unter Umständen auch in wenigen Sekunden eine kompromittierte Website. (Tatsächlich gibt es auch bewusst mit Schwachstellen ausgestattete Webseiten, so genannte Honeypots, mit denen Angriffsmethoden untersucht werden sollen. Blöd, wenn dann keiner kommt.)
Selbst „eher ungewöhnliche Benutzernamen“ lassen sich häufig anhand von Meta-Daten (z.B. Autorenangabe bei einem Beitrag/einer Seite) herausfinden. Es ist also verlockend, die Kombination von Benutzername und einer Reihe von Passwörtern auszuprobieren. Dazu gibt es sogar fertige Skripte, die auf der Webseiten wp-login.php
ganze Bibliotheken gängiger Passwörter (passwort
, 1234567
, qwertz
, Vornamen …) in kurzer Zeit durchgehen. Einen alten Laptop mal über Nacht durchlaufen zu lassen ist wirklich kein Aufwand und die Skripte stehen allen kostenlos zur Verfügung.
Verwendest du Passwörter mit ausreichender Entropie, wird aber ein solcher Angriff scheitern, weil zu viele Kombinationen ausprobiert werden müssen. Ärgerlich ist dabei nur, dass unnötig Bandbreite verschwendet wird, weil der Webserver jede Anfrage (wenn auch ablehnend) beantworten muss. Um automatisierte Skripte ein wenig auszubremsen, lässt sich das Anmeldeformular verschieben und die Anzahl an Fehleingaben pro IP-Adressen beschränken. Das hast du mit Installation und Einrichtung von WPS Hide Login und Limit Login Attempts Reloaded getan.
Nun überrascht ein wenig, dass jemand trotzdem die Seite mit dem Anmeldeformular gefunden hat. Die Seite herauszufinden ist nicht ganz so einfach, es sei denn sie ist leicht zu erraten (statt wp-login.php
sowas wie steffens-login
). Ich würde auch mal den unwahrscheinlichen Fall aussschließen, dass jemand einen Keylogger installiert hat und jeden Tastenanschlag auf deiner Tastatur protokolliert, um sich so Zugang zu schaffen – das wäre mir zu viel Aufwand. Wahrscheinlicher ist, dass du dich per http
(also unverschlüsselt) in einem Netzwerk (z.B. in der Bahn, in einem Café, Eindringling in eigenem W-LAN, …) angemeldet hast und jemand zumindest den Aufruf der Anmelde-Webseite mitprotokollieren konnte. Ist WordPress richtig konfiguriert (SSL-Zertifikat eingerichtet, Website- und WordPress-URL mit https, Konfigurationsdatei wp-config.php
mit Zeile define( 'FORCE_SSL_ADMIN', true );
) wird zumindest nach dem Aufruf des Anmeldeformulars auf eine verschlüsselte Verbindung umgestellt, aber auf die Weise wäre zumindest die URL der Anmeldeseite „geleakt“.
Nach einem Angriff „Forensik“ zu betreiben, um herauszufinden woher der Angriff kam, ist recht aufwendig und bringt meistens wenig. Als erste Maßnahme würde ich tatsächlich die Zugangsdaten aller WordPress-Benutzer, die Zugangsdaten zur MySQL-Datenbank beim Webhoster und in der wp-config.php
und die Zugangsdaten zum Webhoster vorsichtshalber ändern. Um ausreichend komplexe Passwörter zu verwenden (gerne Zahlen-Ziffern-Sonderzeichen-Salat mit mehr als 14 Zeichen) solltest du eine Passwortdatenbank wie KeePass verwenden. Die Anmeldeseite zu ändern, ist ebenfalls eine gute Idee.
Ganz wichtig ist, alle verwendeten Themes, Plugins und natürlich auch WordPress selbst zeitnah zu aktualisieren, damit Sicherheitslücken schnell geschlossen werden. Hier dürfte der Hauptangriffspunkt für viele Hacks liegen.
Zusätzlich kannst du ein Plugin für eine Zwei-Faktor-Authentifikation verwenden, damit deine Webseiten selbst dann noch geschützt sind, wenn jemand dein Passwort herausgefunden hat. Hier hat sich das Plugin Two-Factor bewährt, dass dir verschiedene Zweitschlüssel (Authenticator-App, U2F-Schlüssel, E-Mail) anbietet.
Ganz allgemein gilt dir Regel, dass sich Security by Obscurity, also Maßnahmen zu Erhöhung der Sicherheit durch Verschleierung von Informationen, als unzureichend erwiesen hat. Immerhin kannst du damit aber automatisierte Angriffe ausbremsen und Einsteigern, die mal Kali-Linux ausprobieren wollen, ein wenig die Zeit stehlen.
Einen hundertprozentigen Schutz deiner Website wirst du nicht erreichen. Aber mit einem geprüften Backup (geprüft im Sinne von: kann ich das im Ernstfall wiederherstellen?) kannst du eine gehackte Website in wenigen Minuten wiederherstellen.
Ohne Backup ist es wesentlich schwieriger, weil du alle Skript-Dateien löschen, von sicherer Quelle herunterladen und neu installieren musst und alle anderen Dateien sehr, sehr sorgfältig auf möglichen Malware-Befall durchschauen musst. Sowas kann dann einige Stunden dauern und bei einem Defacement gelöschte Dateien lassen sich ohne Backup gar nicht wiederherstellen. Also besser regelmäßig ein Backup machen.
Zuletzt noch der Hinweis: auch wenn an meiner Haustür unbekannte Personen vorbeilaufen, versuche ich gelassen zu bleiben und nicht in jedem Menschen einen Einbrecher zu vermuten. Einbrüche kommen vor, ja, aber so ein Backup ist wie eine gute Versicherung, mit der sich der Schaden zumindest eindämmen lässt.