Infiziertes WordPress aus einem Backup wiederherstellen

Für alle bezahlten Webhosting-Accounts erstellen wir täglich Backups der Dateien und Datenbanken. Dies ist besonders dann hilfreich, wenn die Webseite manipuliert wurde (Hack-Angriff, Schadcode, Malware- bzw. Viren-Infektion).

Halte die Website während der Bereinigung offline. Sichere vor einem Restore den aktuellen Datei- und Datenbankstand getrennt außerhalb des öffentlich erreichbaren Webspace; er kann infiziert sein. Neuere Beiträge, Bestellungen und Uploads können beim Rücksetzen verloren gehen. Übernimm benötigte neuere Daten nur nach Prüfung.

Der Ablauf ist:

  1. feststellen, zu welchem Datum die Webseite in Ordnung war
  2. Datenbank- und Datei-Backups in der Verwaltung wiederherstellen
  3. Updates einspielen und Webseite prüfen

In dieser Anleitung gehen wir davon aus, dass das WordPress im Verzeichnis "wordpress-blog" installiert ist. Das Installationsverzeichnis Deines WordPress findest Du in der Verwaltung unter WordPress unten neben "Verzeichnis" bei der WordPress-Installation. Weiterhin gehen wir davon aus, dass die Datenbank "db1234561" heißt. In welcher Datenbank WordPress installierst ist kannst Du im WordPress-Manager mit einem Klick auf "verwalten" in dem "Datenbank"-Feld sehen.

1. Sauberes Backup finden

Zuerst muss geprüft werden, zu welche Datum die Webseite in Ordnung war, damit auch ein "sauberer" Stand zurückgesichert wird. Im Regelfall gibt es bestimmte Dateien, dessen Existenz ein Hinweis darauf sind, dass die Webseite manipuliert wurde. Das kann etwa die Existenz der Datei "file.php" sein, welche im Haupt-Verzeichnis des WordPress liegt.

Öffne die Dateiansicht mehrerer Backups und prüfe mögliche Stände vor dem vermuteten Einbruch. Dass eine bekannte Schadcode-Datei fehlt, beweist noch keinen sauberen Stand: Auch Konfiguration, andere Dateien und die Datenbank können betroffen sein. Wähle einen zusammenpassenden Datei- und Datenbankstand; hole bei unklarem Infektionszeitpunkt fachkundige Hilfe.

2. Backups zurücksichern

Um den Stand aus dem backup zurückzusichern müssen das Datenbank- und das Datei-Backup wiederhergestellt werden. Klicke dazu bei dem Webspace-Backup bei dem Backup auf "Dateien einsehen" und markiere dann das Verzeichnis, in welchem das WordPress liegt (in unserem Beispiel "wordpress-blog"). Wähle bei "Restore-Methode" die Wiederherstellung "auf den Webspace" und starte die Wiederherstellung mit einem Klick auf "Restore durchführen".

Wähle danach das passende Datenbank-Backup. Kontrolliere die Ziel-Datenbank ausdrücklich: Vorbelegt ist die Quell-Datenbank. Ein Restore importiert den Dump und entfernt nicht zwingend zusätzlich vorhandene Tabellen. Für die Bereinigung ist daher eine neue, leere Datenbank sinnvoll; passe nach dem Import die Datenbankverbindung in wp-config.php an. Wenn Du die bestehende Datenbank verwenden musst, sichere sie zuerst und stelle fachkundig sicher, dass keine fremden Tabellen zurückbleiben. Leere niemals eine Datenbank, die noch von anderen Anwendungen genutzt wird.

Warte auf den erfolgreichen Abschluss beider Aufträge. Der Datei-Restore ersetzt das ausgewählte Verzeichnis vollständig; der Datenbank-Restore hat die oben beschriebenen Importgrenzen. Prüfe anschließend Dateistand, Datenbankverbindung und Funktion. Ein abgeschlossener Restore beweist noch nicht, dass die Installation schadcodefrei ist oder die Eintrittsursache behoben wurde.

3. Updates einspielen und Seite prüfen

Um alle Updates einzuspielen kannst Du entweder den WordPress-Admin verwenden (Verwaltung > WordPress > WordPress-Installation auswählen > auf "Admin-Login" klicken) oder den Plugin- und Theme-Manager der WordPress-Verwaltung benutzen.

Klicke dazu in der Verwaltung unter "WordPress" bei der WordPress-Installation auf "verwalten" und wechsle in den Tab "Plugins & Themes". Dort werden die verfügbaren Updates angezeigt. Starte zuerst das Update von WordPress selbst, sofern eine Meldung "Die WordPress-Version ist veraltet. Bitte führe ein Update durch!" angezeigt wird, mit dem Button "aktualisieren".

Markiere danach die Plugin und Themes, für welches Updates verfügbar sind und klicke den "aktualisieren"-Button (ganz links in der Menüleiste). Dies kann einen Moment dauern.

Wir raten dringend dazu, anschließend noch einmal zu prüfen, dass die Webseite wirklich "sauber" ist. In dem Artikel "Prüfsummen einer WordPress-Installation prüfen" haben wir dies für wp-cli und SSH beschrieben. Es gibt auch das Plugin Wordfence, was eine solche Scan-Option hat, und aus WordPress selbst benutzt werden kann.

Prüfe ergänzend den Tab Sicherheitsprobleme auf bekannte Versionslücken. Diese Ansicht und ein erfolgreicher Prüfsummenvergleich ersetzen keine Malwareanalyse. Aktualisiere oder entferne verwundbare Komponenten, ändere kompromittierte Zugänge von einem sauberen Gerät aus und widerrufe aktive WordPress-Sitzungen (gegebenenfalls durch neue Sicherheitsschlüssel in wp-config.php). Prüfe außerdem unbekannte Administratoren, geplante Aufgaben und zusätzliche Datenbankinhalte. Gib die Website erst nach abgeschlossener Bereinigung wieder frei.

Frag die lima-city Hilfe Antworten basieren auf unseren Hilfeartikeln. Bitte sende keine Accountdaten oder Passwörter.