Die sichtbaren Dateien zu löschen ist der Teil, den alle machen, und für sich genommen scheitert er: Der Weg hinein steht noch offen, und die Website ist binnen Stunden wieder infiziert. Die Reihenfolge unten schließt erst die Tür und räumt dann das Zimmer auf.
1. Zuerst vom Netz nehmen
Eine übernommene Website verschickt Spam oder liefert Ihren Besuchern Schadsoftware aus, während Sie arbeiten. Stoppen Sie das vor allem anderen.
# a holding page that returns 503, so search engines come back later
# rather than dropping your pages
2. Alles kopieren, bevor Sie etwas ändern
3. Den Weg hinein finden
Fast immer einer von vieren. Suchen Sie im Zugriffsprotokoll rund um den Zeitstempel nach dem ersten Auftreten einer veränderten Datei.
- Ein veraltetes Plugin oder Theme — mit Abstand der häufigste Fall.
- Ein wiederverwendetes Passwort — anderswo geleakt und hier ausprobiert.
- Ein Upload-Verzeichnis, das PHP ausführt — eine als Bild hochgeladene und dann ausgeführte Datei.
- Gestohlene FTP- oder SSH-Zugangsdaten, oft von einem infizierten Arbeitsplatzrechner.
find . -type f -mtime -7 -name "*.php" | head -50
grep -rl "eval(base64_decode" . | head
4. Aus einer bekannt guten Kopie säubern, nicht durch Editieren
Ersetzen Sie Kern, Plugins und Themes durch frische Downloads. Behalten Sie nur Ihre eigenen Inhalte und Uploads — und sehen Sie diese durch: Eine PHP-Datei in einem Upload-Ordner ist nie legitim.
find wp-content/uploads -name "*.php" -o -name "*.phtml"
5. Der Schritt, den fast alle auslassen
Ändern Sie jede Zugangsinformation, die der übernommene Server sehen konnte, und machen Sie jede Sitzung ungültig. Lassen Sie das aus, spaziert der Angreifer mit dem Passwort wieder herein, das er längst hat.
- Jedes Admin-Konto des CMS.
- Der Datenbankbenutzer und die Konfigurationsdatei, die ihn enthält.
- FTP-, SFTP- und SSH-Schlüssel.
- API-Schlüssel und Zahlungsdaten, die auf dem Server liegen.
- WordPress: Ändern Sie die Salts in wp-config.php — das meldet alle ab, auch die Angreifer.
6. Dann die Tür schließen
- Alles aktualisieren — Kern, Plugins, Themes, PHP.
- Entfernen, was Sie nicht nutzen — Ein deaktiviertes Plugin ist immer noch eine Datei auf der Platte, die erreichbar ist.
- Uploads am Ausführen hindern — Kein PHP-Handler im Upload-Verzeichnis.
- Zwei-Faktor für das Panel und das CMS —
