Mein VariomediaHier können Sie sich im Kundenmenü einloggen. |
Weitere Logins |
In den meisten Fällen von manipulierten WordPress-Installationen wird ausschließlich PHP-Schadcode in Dateien auf dem Webserver hinterlegt, die WordPress-Datenbank mit den Artikeln und Seiten bleibt jedoch unverändert. Da PHP-Schacode von Anti-Viren-Programmen nicht zuverlässig erkannt wird, und sich Schadcode in PHP sehr leicht verstecken lässt, kann man ihn bei komplexen PHP-Anwendungen mit sehr vielen PHP-Dateien nicht zuverlässig erkennen und entfernen.
Wir empfehlen daher im Falle von manipulierten WordPress-Installationen, diese komplett zu löschen und ein Webspace-Backup von einem Zeitpunkt vor dem Angriff einzuspielen. Wir legen auf den Webservern automatische Webspace-Backups für einen Zeitraum von einem Jahr rückwirkend an, bei länger zurückliegenden Manipulation kann WordPress unter Nutzung der alten Datenbank neu installiert werden, so dass alle angelegten Artikel und Seiten erhalten bleiben.
Bei dieser Vorgehensweise gehen jedoch Bilder und andere Mediendateien, die vor der Manipulation hochgeladen wurden, verloren. Sie können diese Dateien wiederherstellen, indem Sie das Verzeichnis wp-content/uploads in Ihrer WordPress-Installation zuvor sichern, und nach dem Einspielen des Webspace-Backups bzw. der Neuinstallation wieder zurückkopieren.
Falls die Manipulation Ihrer WordPress-Installation weniger als ein Jahr zurückliegt, können Sie WordPress aus unseren Webspace-Backups wiederherstellen. Falls Ihr Account am heutigen Tag gesperrt wurde, und Sie unmittelbar zuvor noch Dateien in WordPress hochgeladen haben, sollten Sie zunächst das Verzeichnis wp-content/uploads im Installationsverzeichnis Ihrer WordPress-Installation sichern (z.B. per SFTP auf Ihren Rechner kopieren). Falls Sie am heutigen Tag keine Dateien in WordPress hochgeladen haben, können Sie diesen Schritt überspringen.
Installieren Sie dann im nächsten Schritt ein Webspace-Backup von einem Zeitpunkt vor dem Angriff.
Da die Angreifer häufig die Datenbank-Zugangsdaten auslesen, um später WordPress-Benutzer anzulegen bzw. deren Passwörter zu ändern, sollten Sie das Passwort Ihrer WordPress-Datenbank im Kundenmenü ändern und in der WordPress-Konfigurationsdatei wp-config.php entsprechend aktualisieren. Passen Sie das Passwort in der Zeile define('DB_PASSWORD', 'altes passwort'); mittels eines Texteditors an.
Da die Angreifer möglicherweise noch über gültige Session Cookies für Ihre WordPress-Installation verfügen, sollten alle bestehenden Sicherheitsschlüssel in der WordPress-Konfigurationsdatei wp-config.php geändert werden. Offnen Sie dazu in Ihrem Web-Browser die Seite https://api.wordpress.org/secret-key/1.1/salt/ und fügen die dort angezeigten Sicherheitsschlüssel anstelle der Bestehenden in die WordPress-Konfigurationsdatei ein.
Falls das Datum des Webspace-Backups länger zurück liegt, und Sie seitdem weitere Dateien in WordPress hochgeladen haben, müssen Sie nun noch das Verzeichnis wp-content/uploads wiederherstellen. Falls Sie es zuvor gesichert haben, können Sie es nun zurückkopieren, ansonsten kopieren Sie dieses Verzeichnis aus den Webspace-Backups vom Tag zuvor zurück in das entsprechende Verzeichnis Ihrer WordPress-Installation.
Da sich in diesem Verzeichnis möglicherweise PHP-Schadcode befindet, sollten Sie im letzten Schritt alle PHP-Dateien in diesem Verzeichnis löschen. Dies können Sie per SSH mittels folgenden Befehls durchführen (ersetzen Sie dabei wordpress durch den Pfad zu Ihrem WordPress-Installationsverzeichnis):
find ~/wordpress/wp-content/uploads -type f -iname "*.php*" -exec rm {} ;
Falls die Manipulation Ihrer WordPress-Installation länger als ein Jahr zurückliegt, und Sie daher kein Webspace-Backup einspielen können, muss WordPress zunächst neu installiert werden. Laden Sie dazu die aktuelle WordPress-Version herunter und entpacken Sie in ein neues Verzeichnis auf dem Webserver. Mediendateien wie beispielsweise Bilder werden von WordPress im Unterverzeichnis wp-content/uploads hinterlegt, dieses Verzeichnis muss daher von der alten WordPress-Installation in die neue kopiert werden. Da in diesem Verzeichnis möglicherweise auch PHP-Schadocde hinterlegt wurde, sollten keine PHP-Dateien mit kopiert werden. Dies kann am einfachsten per SSH über folgenden Terminal-Befehl realisiert werden:
rsync -av --delete --exclude "*.php*" ~/.backup/webspace/2019-01-01/wordpress/wp-content/uploads ~/wordpress/wp-content
Ersetzen Sie dabei wordpress durch den Pfad zu Ihrer manipulierten WordPress-Installation und 2019-01-01 durch das Datum von gestern.
Weiterhin muss noch die Konfigurationsdatei für WordPress angepasst werden. Öffnen Sie dazu die Datei wp-config-sample.php im Hauptverzeichnis ihrer neuen WordPress-Installation sowie die alte Konfigurationsdatei wp-config.php im Hauptverzeichnis Ihrer manipulierten WordPress-Installation mit einem Text-Editor. Unter DB_NAME finden Sie in der alten Konfigurationsdatei den Namen der WordPress-Datenbank. Sie sollten das Passwort dieser Datenbank zunächst im Kundenmenü ändern, da es möglicherweise von den Angreifern ausgelesen wurde. Auf diese Weise können ggf. zusätzliche WordPress-Benutzer direkt über die Datenbank angelegt werden, über die Ihre WordPress-Installation dann erneut manipuliert werden kann. Übernehmen Sie die dann Werte für DB_NAME, DB_USER, DB_HOST, DB_CHARSET, DB_COLLATE sowie die Einstellung für $table_prefix in die neue Konfigurationsdatei und setzen für DB_PASSWORD das geänderte Datenbank-Passwort ein.
Weiterhin sollten Sie noch die Key- und Salt-Werte im Abschnitt Sicherheitsschüssel aktualisieren, öffnen Sie dazu in Ihrem Web-Browser die Seite https://api.wordpress.org/secret-key/1.1/salt/ und ersetzen die vorgegebenen Werte durch die dort angezeigten.
Die neue Konfigurationsdatei muss dann unter dem Namen wp-config.php im Hauptverzeichnis der neuen WordPress-Installation auf dem Webserver abgelegt werden.
Abschließend sollte noch die Webserver-Konfigurationsdatei mit Namen .htaccess erstellt werden. Falls die bestehende .htaccess-Datei der manipuliert WordPress-Installation nicht von den Angreifern verändert wurde, können Sie sie einfach in das neue WordPress-Verzeichnis kopieren. Falls Sie sich nicht sicher sind, können Sie eine neue .htaccess-Datei mit folgendem Inhalt anlegen:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Nun können Sie den Webspace-Pfad der WordPress-Domain im Kundenmenü auf die neue WordPress-Installation umstellen, und sich dann im WordPress-Backend als Administrator anmelden. Sie sollten zunächst sämtliche WordPress-Benutzerkennwörter ändern, und anschließend die gewünschten Themes und Plugins installieren, die Sie zuvor genutzt haben. Damit ist die Wiederherstellung abgeschlossen.