Gehackte Website reparieren

Frage: Mein Webhoster hat mich darauf aufmerksam gemacht, dass meine Website durch eine Sicherheitslücke möglicherweise gehackt worden sein könnte. Wie gehe ich jetzt vor?

Zuerst sichte ich die vorhandenen Dateien:

  • Gibt es neue Verzeichnisse, die nicht zu WordPress gehören (wp-admin, wp-includes, wp-content)? Häufig haben die eher unauffällige Bezeichnungen wie /blog oder /settings
  • Gibt es neue Dateien, die nicht zu WordPress gehören? Hier schaue ich auch einfach mal drüber, ob mir etwas spontan auffällt. Z.B. eine Datei settings.php im Web-Stammverzeichnis.
  • Danach schaue ich mir die index.php im Web-Stammverzeichnis sowie die index.php und functions.php im Verzeichnis des aktivierten Themes an. Gibt es dort auffälligen Code? Zeichensalat?

Ich lösche keine dieser Dateien und fange vor allem auch nicht an, darin Änderungen vorzunehmen. Statt dessen mache ich (zusätzlich zu den hoffentlich ohnehin vorhandenen Backups) eine Sicherung des aktuellen Stands. Häufig findet man zu eingeschleusten Zeichenketten bereits Informationen über Google, die mehr über die Art der Malware verraten. Auch Hinweise des Webhosters (z.B. eine diff-Datei mit einem Abgleich zu älteren Versionen) sollten zumindest gesichert werden.

Habe ich einen Anfangsverdacht (die Mail des Webhosters würde ich darunter einordnen) und ist das Back End noch zugänglich, installiere ich ein Plugin, dass meine WordPress-Installation weitergehend nach Malware durchsucht – z.B. das Plugin Sucuri Security.

Wird Malware gefunden, unterbinde ich sofort den Zugriff auf die Website – z.B. per .htaccess (wenn es schnell gehen soll, reicht auch zunächst, die index.php umzubenennen und eine Datei index.html mit einem kurzen Hinweis auf Wartungsarbeiten hochzuladen. Der Angreifer hat dann aber immer noch Zugriff über seine installierte Malware – es besteht also weiterer Handlungsbedarf!)

Nun kann ich mich entscheiden, ob ich die Webseite „reparieren“ möchte, oder – was deutlich schneller geht und in den meisten Fällen die sauberste Lösung darstellen dürfte – alle Dateien auf dem Webserver lösche und ein nicht mit Malware behaftetes Backup wiederherstelle.

Ist kein Backup vorhanden oder enthalten die vorhandenen Backups bereits die Malware, bleibt nur eine manuelle Säuberung. Dazu lösche ich erst einmal alle Dateien auf dem Server, sofern sie nicht vom Webhoster sind (z.B. ein Ordner für Webhits-Statistiken, ggf. beim Support nachfragen!). Dann besorge ich mir von den WordPress.org-Seiten einen frischen Dateien-Satz von WordPress, Plugins und Themes und lade diese wieder auf den Webserver. Die Konfigurationsdatei wp-config.php lässt sich mit Hilfe der Vorlage wp-config-sample.php und den Zugangsdaten der Datenbank rasch wiederherstellen.

Die Zugangsdaten zur Datenbank sollten natürlich wie alle anderen Zugangsdaten (Kundenmenü des Webhoster, FTP-Zugangsdaten, WordPress-Passwörter) geändert werden; man darf davon ausgehen, dass der Angreifer die bisherigen Zugangsdaten bereits kennt.

Aus dem zu Beginn erstellten Backup kann als nächstes das Verzeichnis wp-content/uploads wieder hergestellt werden. Dazu würde ich aber zunächst die Verzeichnisstruktur wieder herstellen, dann die Originaldateien (also nicht die Dateien mit verkleinerten Bildgrößen, im Namen steht z.B. -150x150.jpg) einzeln per FTP wieder hochladen. Jede Bild-Datei sollte dabei zumindest mit einer Bildvorschau des Datei-Explorers/Finder gesichtet werden, weil Angreifer auch in vermeintlichen Bilddateien (.jpg, .png) Backdoors installiert haben können. Die verschiedenen Bildgrößen können dann mit dem Plugin Regenerate Thumbnails neu erstellt werden.

Auch die Datenbank selber kann kompromittiert sein. Hier solltest du (nach einem Backup der Datenbank!) vor allem mit phpMyAdmin in der Tabelle wp_users nachsehen, ob Nutzer hinzugefügt wurden. (Dabei sollte man sich übrigens auch nicht von erdachten Usernamen wie „WordPress-Default“ in die Irre führen lassen.) Zusätzlich kannst du die Datenbank über die Suchfunktion von phpMyAdmin nach iFrames durchsuchen. Dahinter muss nicht unbedingt eine Malware stecken, aber iFrames sind eine potentielle Sicherheitslücke.

Wurde die Website mit Malware verseucht und Google hat einen Befall festgestellt, ist ggf. noch eine Berichtigung über die Google Webmaster Tools erforderlich. Desto länger übrigens eine Website mit Malware belastet ist, um so schlechter wird auch das Suchmaschinen-Ranking.

Eine 100%ige Sicherheit kann dir keine Webanwendung bieten. Dafür ist die Software einfach zu komplex. Wer aber regelmäßig funktionierende (!) Backups macht, kann seine Website normalerweise in sehr kurzer Zeit wiederherstellen. Der Arbeitsaufwand (und damit die Kosten) reduzieren sich mit Backups erheblich. Für die o.g. Schritte kann man, je nach Erfahrung, auch mal rasch 20 Arbeitsstunden einplanen. Hier gilt es, nicht schnell, sondern ordentlich zu arbeiten, weil nach Murphys Law jede verbliebene Backdoor ausgenutzt werden wird.

Viel Erfolg.