Wordpress

WordPress-Seite gehackt? Was zu tun ist in 10 Schritten.

Klaudija.de war in dieser Woche Opfer eines Hackers mit dem vielsagenden Namen Annonmyoux, nicht zu verwechseln mit dem Kollektiv Anonymous, welches sich durch Demonstrationen und Hackerangriffe für die Unabhängigkeit des Internets einsetzt. Ansonsten hätte man sicherlich nicht meinen völlig unpolitischen Lifestyle-Blog in Angriff genommen.

Ein wirklicher Schaden ist mir zum Glück nicht entstanden, da der Hacker keine Felder in der Datenbank gelöscht hat. Allerdings kann das auch daran liegen, dass ich den Angriff sofort bemerkt und entsprechend schnell reagiert habe. Damit euch das gar nicht erst passiert, habe ich hier meine kleine (Leidens-)Geschichte plus Lösung in zehn Schritten dokumentiert.

Hilfe, meine Webseite-Seite wurde von Annonymoux gehackt! Was nun zu tun ist!

Hacked by Annonymoux
Oh weh, im Footer meiner Login-Seite steht plötzlich „Hacked by Annonymoux“

Woran ich erkannt habe, dass meine Seite gehackt wurde? Alle Umlaute und Sonderzeichen wurden plötzlich nicht mehr richtig dargestellt. So sah meine Webseite auf den ersten Blick für jeden User unleserlich aus.

Um den Fehler festzustellen, wollte ich mich ins Dashboard einloggen. Doch plötzlich tauchte in der Anmeldeseite (wp-login.php) der Satz „Hacked by Annonymoux“ im Footer auf.

Hacked by Annonymoux
Da Annonymoux seine Handschrift in den Meta Angaben hinterlässt, kann man bei Google nach den betroffenen Webseiten suchen.

Da hier normalerweise der Titel der Webseite steht, überprüfte ich umgehend die Meta-Angaben meiner Startseite und musste feststellen, dass hier ebenfalls die Handschrift von Annonymoux ihre Spuren hinterlassen hatte.

Dass ich nicht das einzige Opfer dieses Hackers geworden bin, erkannte ich an der Anzahl der Treffer, die mich nach der Eingabe von „Hacked by Annonymoux“ in Google erwarteten. Satte 93 Stück!

WordPress-Seite gehackt – was zu tun ist! Eine Schritt-für-Schritt-Anleitung

1. Passwort der Datenbank beim Hosting-Anbieter ändern

Ob von Annonymoux oder jemand anderem gehackt, eine betroffene Webseite muss schnellstmöglich vor weiteren Angriffen geschützt werden. Da WordPress alle Inhalte und Zugangsdaten in der zugehörigen Datenbank abspeichert, gilt es umgehend das Passwort der Datenbank zu ändern. Und bitte unbedingt darauf achten ein wirklich schwieriges Passwort zu verwenden!

Bei mir geht das ganz einfach im Backend meines Hosting-Anbieters. Danach wird die Webseite ersteinmal nicht funktionieren, weil in der wp-config.php schließlich noch das alte Datenbank-Passwort steht. 

2. Zugriff auf wp-config über htaccess verhindern

Im zweiten Schritt wollen wir verhindern, dass die wp-config erneut vom Hacker über den Browser durch einfache Eingabe von klaudija.de/wp-config.php eingesehen werden kann. Dazu laden wir mit einer Software wie z.B. Filezilla die .htaccess-Datei herunter. Diese lässt sich auf dem lokalen Rechner mit einem einfachen Text-Editor öffnen. Um den Zugriff auf diese und andere wichtige Dateien zukünftig zu verbieten, ergänzt man die .htaccess um folgenden Code. Vielen Dank dafür an DrWeb;)

<FilesMatch "(.htaccess|.htpasswd|wp-config.php|liesmich.html|readme.html)">
  order deny,allow
  deny from all
</FilesMatch>

3. htpasswd erstellen, um wp-login zu schützen

Wie hieran zu erkennen ist, wird u.a. auch eine htpasswd-Datei geschützt. Was es damit auf sich hat, erkläre ich nun im folgenden. Mit einer htpasswd lassen sich bestimmte Bereiche oder Dateien auf dem Server mit einem Passwort verschlüsseln. Also eine prima Sache, um Hackern gar nicht erst die Möglichkeit zu geben den Einstieg ins Dashboard über die Login-Seite zu wagen.

Admin-Benutzername finden
So schnell ist der Admin-Benutzername auf dem WordPress-Blog zu finden.

Schließlich liegt in der wp-login.php die größte Schwachstelle von WordPress, da der Admin-Benutzername in der Regel mit dem Autor der Seite übereinstimmt und sich somit leicht über die Autoren-Seite feststellen lässt. Ein findiger Hacker bräuchte im Anschluss nur noch mit einem automatischen Programm diverse Passwörter ausprobieren und schwupps di wupps erhielte er Zugang zum Dashboard.

htpasswd generator
Der Htpasswd-Generator: Auf dieser Seite gibt man seine gewünschten Zugangsdaten ein und erhält im Anschluss eine verschlüsselte Zeichenfolge.

Das lässt sich am besten verhindern, indem wir den Aufruf der wp-login von außen gar nicht erst möglich machen.

Zunächst erstellen wir mit dem htpassword Generator einen Benutzernamen plus Passwort. Das kryptische Endergebnis kopiert man nun in ein neues Fenster vom Text-Editor.

Danach speichert man diese Datei als „.htpasswd“ mit dem Dateityp „Alle Dateien“ und der Codierung „ANSI“ ab. Zuletzt lädt man diese Datei auf dem Server in das Verzeichnis an, in dem sich die wp-login.php befindet, also in das Hauptverzeichnis.

4. htpasswd-Bereich in der htaccess definieren

Nachdem dies geschehen ist, bedarf es einer weiteren Anpassung in der htaccess-Datei. Mit dem folgenden Code wird definiert, auf welchen Ordner sich der Schutz bezieht.

<Files wp-login.php>
  AuthName "Admin-Bereich"
  AuthType Basic
  AuthUserFile /xxx/xxx/.htpasswd
  require valid-user
</Files>

5. htpasswd-Pfad ermitteln, falls nötig

Falls man den Pfad zur .htpasswd für die Zeile AuthUserFile nicht kennt, muss man eine Datei (ebenfalls mit dem Text-Editor) erstellen, in der folgendes drin steht:

<?php
$dir = dirname(__FILE__);
echo "<p>Full path to this dir: " . $dir . "</p>";
echo "<p>Full path to a .htpasswd file in this dir: " . $dir . "/.htpasswd" . "</p>";
?>

Diese nun z.b. als „fullpath.php“ (mit Dateityp „Alle Dateien“ und der Codierung „ANSI“) im Editor abspeichern und ins Hauptverzeichnis hochladen. Ruft man nun im Browser diese Seite ab (deine-URL/fullpath.php), erhält man den korrekten Pfad zur htpasswd, den man in die .htaccess eingibt.

Erst jetzt laden wir die optimierte htaccess auf dem Server ins Hauptverzeichnis hoch.

6. In wp-config.php neues Datenbank-Passwort eintragen

Zuguterletzt müssen wir in der wp-config.php noch das neue Passwort für die Datenbank eintragen. Dazu die Datei (wieder) mit dem Text-Editor öffnen, und die Zeile define(‚DB_PASSWORD‘, ‚Dein-neues-Passwort‘); ändern. Beim Speichern auf die ANSI-Codierung achten und zuguterletzt auf dem Server erneuern.

7. Admin-Passwort ändern

wp-login-htaccess
Nach dem Aufruf der Login-Seite muss man sich ab sofort zunächst am Server mit den Daten in der htpasswd-Datei einloggen.

Nachdem du nun den Login-Bereich so sicher wie möglich geschützt hast, sollte schließlich noch das „alte“ Admin-Passwort geändert werden. Das kannst du leicht auf der wp-login-Seite selber erledigen, indem du auf „Passwort vergessen“ klickst. Nach Erhalt einer E-Mail bist du in der Lage hierfür ein neues festzulegen.

Wie bereits im ersten Schritt erwähnt, kann ich gar nicht oft genug darauf hinweisen, wie wichtig es ist ein sicheres Passwort zu verwenden!

8. Plugin WP Limit Login Attempts für noch mehr Sicherheit beim Anmelden

WP Limit Login attempts
In der Gratis-Version ist die Anzahl der Login-Versuche auf 5 reduziert.

Mit diesem Plugin wird der Anmeldebereich zusätzlich um ein Captcha-Feld erweitert und die Anzahl missglückter Login-Versuche reduziert. Eigentlich haben wir die wp-login.php mit den oben genannten Schritten bereits ausreichend geschützt, doch doppelt hält besser.

9. Plugin UpdraftPlus – Backup/Restore, damit nie wieder was verloren geht

Hat der Hacker Informationen aus der Datenbank bereits gelöscht, sind diese unwiderruflich verloren. Es sei denn man hat ein Backup angelegt. Wer das bisher noch nicht gemacht, sollte unbedingt das Plugin Updraft installieren.

Updraft
Wie oft, wie viele und wo genau sollen Backups der Webseite angelegt werden? Updraft ist kinderleicht zu bedienen.

Es ist kostenlos in der Lage Sicherungen von deiner gesamten Webseite oder nur bestimmten Teilen davon, wie z.B. Datenbank, Plugins, Designs, Uploads oder anderen Dateien in einem beliebigen Zeitabstand (z.B. täglich) auf deinem Server, Dropbox oder anderem Fernspeicher zu hinterlegen. Und ist ein Backup vorhanden, lässt sich dieses durch einfachen Klick auf den Button „Wiederherstellen“ unter „Existierende Sicherungen“ aktivieren.

Wichtig! Wenn man nicht regelmäßig die eigene Webseite auf Hackerangriffe kontrolliert, sollte man die Anzahl der existierenden Sicherungen erhöhen. Ansonsten ist bei einer Anzahl von 3 bei einem täglich durchgeführtem Backup bereits am vierten Tag nach einem Hackerangriff keine Wiederherstellung einer hackerfreien Version mehr möglich.

10. WordPress-Installation und Plugins aktualisieren

Fast wöchentlich kommen Aktualisierungen für WordPress, seine Plugins und Themes heraus. Nicht immer geht es dabei um mehr Features oder Funktionen, sondern auch darum bekannte Sicherheitslücken zu stopfen. Wer das automatische Updaten deaktiviert hat, wird früher oder später mit solch einem Risiko zu kämpfen haben. Daher rate ich jedem: Mindestens einmal im Monat Backup machen und danach sofort die komplette WordPress Webseite aktualisieren.

Mein Fazit: WordPress Seite einmal und nie wieder gehackt?!

Selbst millionenschwere Unternehmen wie Sony, Ebay und Google sind vor professionellen Hackerangriffen nicht gefeit. Falls deine Webseite gehackt sein sollte und du dich mit dieser Anleitung hilflos überfordert fühlst, gibt es zum Glück zahlreiche Spezialisten auf dem Markt u.a. Webseite-Bereinigung.de, die einem dabei helfen das Malheur schnellstmöglich zu beheben.
Wer allerdings 100%-igen Schutz im Internet haben möchte, der zieht am besten den Stecker vom WLAN-Router und greift ab sofort wieder zu Papier und Stift.

Nützliche Links:

Show More

Klaudija Paunovic

Hier schreibe ich mit Herzblut über alle Themen, die mich interessieren. Schon als Jugendliche schrieb ich für die Schülerzeitung. Es folgte die freie Mitarbeit bei Tageszeitungen wie Express und Rheinische Post. Und auch heute noch fröhne ich meiner Schreibleidenschaft auf diesem Blog. Wenn du mehr über mich erfahren möchtest, gibt es hier noch mehr Infos: »Mehr über mich«

Related Articles

Back to top button