Das passiert häufiger, als du denkst, und du kannst den Schaden beheben. Zuerst musst du verstehen, dass du einem kompromittierten VPS nicht mehr vollständig vertrauen kannst, selbst nachdem du offensichtliche Schadsoftware entfernt hast. Angreifer installieren Backdoors an Stellen, die sich ohne forensische Kenntnisse kaum finden lassen. Der richtige Weg besteht darin, einen sauberen Server bereitzustellen, nur geprüfte Daten wiederherzustellen und ihn vor dem Go-live abzusichern. Bei Contabo kannst du über das Customer Control Panel innerhalb weniger Minuten einen neuen VPS erstellen. Diese Anleitung deckt beide Phasen ab: die sofortige Wiederherstellung und den Schutz vor einem erneuten Angriff.
Der Wiederherstellungsplan in zwei Phasen
| Phase | Schritte | Zeitaufwand |
|---|---|---|
| Phase 1: Neu aufsetzen (sofort) | 1. Snapshot erstellen, falls Beweise benötigt werden → 2. Sauberen VPS bereitstellen → 3. Nur geprüfte Daten wiederherstellen → 4. Alle Zugangsdaten erneuern | ca. 30–60 Min. |
| Phase 2: Absichern (vor dem Go-live) | 5. Sudo-Benutzer ohne Root-Rechte → 6. SSH-Schlüssel und Passwörter deaktivieren → 7. UFW-Firewall → 8. Fail2ban → 9. Automatische Updates → 10. Firewall auf Netzwerkebene | ca. 30 Min. |
Phase 1: Sofortige Wiederherstellung
Ein entschlossener Angreifer installiert Backdoors in veränderten Systemdateien, versteckten Cronjobs und Rootkits auf Kernel-Ebene, die sich nur schwer erkennen lassen. Der Versuch, einen kompromittierten Server zu bereinigen, ist riskant, weil du leicht etwas übersehen kannst. Sicherheitsexperten empfehlen deshalb, den Server zu löschen und mit einem sauberen Betriebssystem-Image neu aufzusetzen. Für einzelne Entwickler und kleine Teams ist das schneller und sicherer als eine forensische Bereinigung.
Schritt 1: Bei Bedarf zuerst einen Snapshot erstellen
Bevor du etwas veränderst, solltest du einen Snapshot des kompromittierten Servers über das Contabo CCP erstellen, falls du den Vorfall für einen Kundenbericht, eine Versicherung oder aus rechtlichen Gründen dokumentieren musst. Öffne new.contabo.com, wähle deinen Server aus und erstelle einen Snapshot. Damit bleibt der kompromittierte Zustand für eine spätere Untersuchung erhalten. Musst du keine Beweise sichern, fahre direkt mit Schritt 2 fort.
Schritt 2: Einen neuen VPS bereitstellen
Versuche nicht, den kompromittierten Server zu bereinigen. Melde dich beim Contabo Customer Control Panel an, stelle einen neuen VPS bereit und wähle ein aktuelles, unterstütztes Betriebssystem-Image. Ubuntu LTS und Debian Stable sind dafür gute Optionen. Beginne mit einem vollständig sauberen System und übernimm weder die Systemkonfiguration noch installierte Pakete vom alten Server.
Schritt 3: Nur geprüfte Daten wiederherstellen
Nicht alle Daten des alten Servers lassen sich gefahrlos wiederherstellen. Halte dich an diese Regeln:
- Kann wiederhergestellt werden: Datenbank-Dumps, nachdem du sie auf eingeschleuste Inhalte geprüft hast, von Benutzern hochgeladene Dateien nach einem Scan auf schädliche Skripte sowie Anwendungscode aus einem nachweislich sauberen Git-Repository oder lokalen Backup.
- Nicht wiederherstellen: Systemkonfigurationsdateien, die SSH-Konfiguration, Cronjobs, installierte Pakete oder Binärdateien des alten Servers. Jede dieser Komponenten könnte eine Backdoor enthalten.
# Before restoring a database dump, grep for suspicious injected strings:
grep -i '<script\|exec(\|eval(\|base64' backup.sql
# Check application files for common webshell patterns:
grep -rn 'eval(base64_decode\|system($_\|passthru(' ./app/Schritt 4: Alle Zugangsdaten des alten Servers erneuern
Gehe davon aus, dass alle folgenden Zugangsdaten offengelegt wurden. Erneuere sie, bevor der neue Server live geht:
- SSH-Schlüssel: Erstelle vollständig neue Schlüssel. Kopiere niemals alte private Schlüssel auf den neuen Server.
- Datenbankpasswörter: Ändere sie für alle Benutzer, nicht nur für root.
- API-Schlüssel und Tokens, die deine Anwendung verwendet hat, etwa für Zahlungsanbieter, E-Mail-Dienste und APIs von Drittanbietern.
- Alle Zugangsdaten, die in .env-Dateien oder in der Anwendungskonfiguration des alten Servers gespeichert waren.
- Dein Passwort für das Contabo CCP und deine 2FA-Codes, falls ein Zugriff auf Kontoebene möglich gewesen sein könnte.
Phase 2: Den neuen Server vor dem Go-live absichern
Der neue Server ist sauber. Arbeite die folgenden Schritte ab, bevor du deine Anwendung wiederherstellst oder deine Domain auf den Server verweist. Sie schließen die häufigsten Einfallstore für Angriffe auf VPS: einen aktivierten Root-Login, SSH-Anmeldungen mit Passwort und unnötig offene Ports.
Schritt 5: Sudo-Benutzer ohne Root-Rechte erstellen
adduser [username]
usermod -aG sudo [username]
su - [username]
# Do all further setup as this user. Never log in as root again.Schritt 6: Nur SSH-Schlüssel zulassen und Passwortanmeldung deaktivieren
Erstelle lokal neue Schlüssel, kopiere sie auf den neuen Server und prüfe ihre Funktion. Sichere anschließend SSH ab.
# On your LOCAL machine — generate fresh keys:
ssh-keygen -t ed25519 -C "[email protected]"
# Copy to the new VPS:
ssh-copy-id [username]@[new-server-ip]
# Test key login in a NEW terminal before changing SSH config.
# Then edit /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
sudo systemctl restart sshdSchritt 7: UFW-Firewall mit „Default Deny“ aktivieren
# Allow SSH first — or you will lock yourself out:
sudo ufw allow [ssh-port]/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
sudo ufw status verboseSchritt 8: Fail2ban installieren
sudo apt install fail2ban -y
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# In jail.local, find [sshd] and set:
# bantime = 1h
# maxretry = 5
# findtime = 10m
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshdSchritt 9: Automatische Sicherheitsupdates aktivieren
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgradesSchritt 10: Contabo Firewall im Customer Control Panel aktivieren
Contabo Firewall ist bei jedem VPS und Max Performance VPS kostenlos enthalten. Sie filtert den Datenverkehr auf Netzwerkebene, bevor er das Betriebssystem erreicht, und bleibt auch bei einem Neustart des Servers aktiv. Öffne new.contabo.com → Network Services → Firewall, erstelle eine Firewall und füge eingehende Regeln für die Ports hinzu, die du in Schritt 7 freigegeben hast. Blockiere alle anderen Verbindungen. Zusammen mit UFW erhältst du zwei unabhängige Filterebenen: eine am Netzwerkrand und eine im Betriebssystem.
Die drei häufigsten Einfallstore
| Einfallstor | Lösung |
|---|---|
| Aktivierter Root-Login, das Hauptziel automatisierter SSH-Angriffe | Schritte 5 und 6: Sudo-Benutzer ohne Root-Rechte erstellen und PermitRootLogin no setzen |
| Passwortbasierte SSH-Anmeldung, die Bots oft innerhalb weniger Stunden nach der Bereitstellung per Brute Force angreifen | Schritt 6: Nur SSH-Schlüssel zulassen und PasswordAuthentication no setzen |
| Unnötig offene Ports, durch die nicht öffentliche Dienste erreichbar werden | Schritte 7 und 10: UFW mit „Default Deny“ und Contabo Firewall auf Netzwerkebene |
| Aktiver Kryptominer, ein häufiges Anzeichen für eine Kompromittierung, aber kein Einfallstor | Mit top oder ps aux | grep -i xmrig erkennen und anschließend Phase 1 ausführen |
FAQ: Was tun, wenn dein VPS gehackt wurde?
Kann ich einen gehackten VPS ohne Neuinstallation bereinigen?
Technisch ist das möglich, für die meisten Fälle aber nicht zu empfehlen. Ein erfahrener Angreifer kann Rootkits in Systemdateien oder Kernel-Modulen verstecken, die sich ohne forensische Werkzeuge kaum erkennen lassen. Für die meisten einzelnen Entwickler und kleinen Teams ist es schneller und sicherer, den Server zu löschen und mit einem sauberen Betriebssystem-Image neu aufzusetzen. Eine forensische Untersuchung ist sinnvoll, wenn Beweise aus rechtlichen Gründen erhalten bleiben müssen.
Wie erkenne ich, ob auf meinem VPS ein Kryptominer läuft?
# Nach Prozessen mit 90–100 % CPU-Auslastung suchen:
top
# oder:
htop
# Nach verbreiteten Namen von Miner-Prozessen suchen:
ps aux | grep -i ‚xmrig\|miner\|monero‘
# Nach verdächtigen Cronjobs suchen:
crontab -l
cat /etc/cron.d/*
cat /etc/cron.daily/*
Ein unbekannter Prozess mit nahezu 100 % CPU-Auslastung ist ein deutlicher Hinweis. In etwa 43 % der KI-Antworten wurden Kryptominer als häufigstes sichtbares Anzeichen für einen kompromittierten VPS genannt. Sie werden oft innerhalb weniger Stunden nach dem ersten Einbruch installiert.
Sollte ich Contabo kontaktieren, wenn mein VPS gehackt wurde?
Ja. Kontaktiere den Contabo Support, wenn der Angriff die Netzwerkinfrastruktur betroffen haben könnte, dein Server Spam versendet oder andere Hosts angreift, oder wenn du Hilfe mit dem Rescue-Modus oder einem Snapshot brauchst. Solche Aktivitäten können zur Sperrung führen. Der Contabo Support ist rund um die Uhr über das Customer Control Panel erreichbar. Schnelles Handeln begrenzt mögliche Folgeschäden und schützt dein Konto.
Wie stelle ich einen gehackten Contabo VPS am schnellsten wieder her?
Erstelle bei Bedarf einen Snapshot des alten Servers → stelle über das CCP einen neuen Contabo VPS bereit, was nur wenige Minuten dauert → übernimm ausschließlich Anwendungsdaten aus einem sauberen Backup → führe vor dem Go-live die zehn Schritte zur Absicherung aus Phase 2 durch. Bei einer typischen kleinen Bereitstellung dauert die vollständige Wiederherstellung ein bis zwei Stunden.
Hinweis: Die in diesem Artikel genannten Produktspezifikationen, Funktionen und Preise können sich ändern und je nach Region, Abrechnungszeitraum und laufender Aktion abweichen. Aktuelle Angaben, Preise und lokale Wechselkurse findest du auf der offiziellen Website des jeweiligen Anbieters oder der jeweiligen Marke.
