Sicherheits-Checkliste: Überblick
Wenden Sie diese Schritte der Reihe nach an, jeder Schritt verstärkt den nächsten.
| Aktion | Priorität | Geschätzte Zeit | Ausführliche Anleitung |
|---|---|---|---|
| System-Updates | Kritisch | 5 Min. | Abschnitt weiter unten |
| Nicht-Root-Benutzer anlegen | Kritisch | 5 Min. | Abschnitt weiter unten |
| SSH härten (Schlüssel + Root/Passwort deaktivieren) | Kritisch | 10 Min. | Anleitung SSH-Schlüssel |
| UFW konfigurieren (Firewall) | Kritisch | 5 Min. | Anleitung UFW |
| Fail2ban installieren | Hoch | 10 Min. | Anleitung Fail2ban |
| HTTPS aktivieren (Certbot) | Hoch | 5 Min. | Anleitung Certbot |
| Backups einrichten | Hoch | 15 Min. | Abschnitt weiter unten |
| Grundlegende Überwachung | Mittel | 5 Min. | Abschnitt weiter unten |
1. System-Updates
Nicht aktualisierte Pakete sind die häufigste Ursache für Kompromittierungen. Installieren Sie die Updates gleich bei der ersten Anmeldung und automatisieren Sie sie anschließend.
Erstes Update
sudo apt update && sudo apt upgrade -y
sudo apt autoremove -y Sicherheitsupdates automatisieren
Das Paket unattended-upgrades installiert Sicherheitsupdates automatisch ohne manuelles Eingreifen. Quelle: wiki.debian.org/UnattendedUpgrades
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades Beantworten Sie die Frage des Konfigurationsdialogs mit "Ja". Die Sicherheitsupdates werden dann jede Nacht automatisch eingespielt.
2. Nicht-Root-Benutzer mit sudo anlegen
Sich dauerhaft als root anzumelden und zu arbeiten ist eine schlechte Praxis: Ein Befehlsfehler oder eine Kompromittierung wirkt sich sofort auf das gesamte System aus. Legen Sie einen dedizierten Benutzer mit sudo-Rechten an.
adduser benutzername
usermod -aG sudo benutzername Prüfen Sie, dass sudo funktioniert, bevor Sie die Root-Sitzung schließen:
su - benutzername
sudo whoami Der Befehl muss root zurückgeben. Sobald das bestätigt ist, verwenden Sie diesen Benutzer für alle folgenden Schritte.
Quelle: wiki.debian.org/sudo
3. SSH härten
SSH ist der häufigste Angriffsvektor auf einem exponierten VPS. Drei grundlegende Maßnahmen: Authentifizierung per Schlüssel, Deaktivierung des Root-Logins, Deaktivierung der Passwort-Authentifizierung.
Authentifizierung per SSH-Schlüssel
Erzeugen Sie einen SSH-Schlüssel auf Ihrem lokalen Rechner, hinterlegen Sie ihn auf dem Server und prüfen Sie die Verbindung, bevor Sie Passwörter deaktivieren. Die vollständige Vorgehensweise finden Sie in der eigenen Anleitung: Anleitung SSH-Schlüssel OuiHeberg.
Root-Login und Passwort-Authentifizierung deaktivieren
Sobald die Anmeldung per Schlüssel bestätigt ist, bearbeiten Sie /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config Ändern oder ergänzen Sie diese Direktiven:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes Laden Sie SSH neu:
sudo systemctl reload ssh Quelle: man.openbsd.org/sshd_config
SSH-Port ändern (optional)
Den SSH-Port zu ändern (zum Beispiel von 22 auf 2222) ist für sich genommen keine Sicherheitsmaßnahme: Ein Portscan findet ihn in wenigen Sekunden. Allerdings reduziert es die Zahl der automatisierten Anmeldeversuche in den Logs deutlich, was die Überwachung erleichtert. Wenn Sie den Port ändern, öffnen Sie diesen Port in UFW, bevor Sie SSH neu laden, und schließen Sie Port 22 erst, nachdem Sie die Verbindung über den neuen Port geprüft haben.
# In /etc/ssh/sshd_config
Port 2222 4. Die Firewall UFW konfigurieren
UFW (Uncomplicated Firewall) ist die empfohlene Oberfläche zur Verwaltung der iptables-Regeln unter Debian und Ubuntu. Grundregel: standardmäßig allen eingehenden Verkehr blockieren und nur die benötigten Ports öffnen.
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable Vollständige Anleitung (Regeln pro Dienst, Verbindungslimitierung, Überprüfung): Anleitung UFW OuiHeberg.
5. Fail2ban installieren
Fail2ban überwacht die Systemlogs und sperrt automatisch IP-Adressen, die wiederholt fehlgeschlagene Anmeldeversuche verursachen. Es ergänzt UFW: UFW filtert Ports, Fail2ban filtert Verhaltensmuster.
sudo apt install -y fail2ban Empfohlene Konfiguration, Überwachung und Entsperrung finden Sie in der eigenen Anleitung: Anleitung Fail2ban OuiHeberg.
6. HTTPS mit Certbot aktivieren
Ein TLS-Zertifikat ist für jeden öffentlich erreichbaren Webdienst unverzichtbar. Certbot automatisiert das Ausstellen und Erneuern von Let's-Encrypt-Zertifikaten für Nginx und Apache.
sudo apt install -y snapd
sudo snap install certbot --classic
sudo certbot --nginx -d meineseite.de -d www.meineseite.de Die automatische Erneuerung, Wildcard-Zertifikate und die Behebung häufiger Fehler behandelt die eigene Anleitung: Anleitung Certbot OuiHeberg.
7. Backups
Ein nicht getestetes Backup ist kein Backup. Die 3-2-1-Regel ist der Mindeststandard: 3 Kopien der Daten, auf 2 verschiedenen Medien, davon 1 extern gelagert.
Einfaches Backup mit tar
# Backup eines Anwendungsverzeichnisses
tar -czf /root/backup-$(date +%F).tar.gz /var/www/meineseite
# Backup einer MariaDB/MySQL-Datenbank
mysqldump -u root db_name > /root/backup-bdd-$(date +%F).sql Mit cron automatisieren
sudo crontab -e Fügen Sie eine Zeile für ein tägliches Backup um 3 Uhr morgens hinzu:
0 3 * * * tar -czf /root/backup-$(date +\%F).tar.gz /var/www/meineseite VPS-Snapshots
Die VPS-Angebote von OuiHeberg enthalten Backup-Speicherplätze und Snapshots, die sich über das Verwaltungspanel konfigurieren lassen. Ein Snapshot erfasst den kompletten Zustand des VPS (System + Daten) und ermöglicht bei einem schweren Zwischenfall eine schnelle Wiederherstellung.
Wiederherstellung testen
Planen Sie mindestens einmal pro Quartal einen Wiederherstellungstest ein. Ein Backup, dessen Wiederherstellung nie geprüft wurde, kann nicht als zuverlässig gelten.
8. Grundlegende Überwachung
Für den Anfang braucht die Überwachung kein komplexes Werkzeug. Die Systemlogs enthalten die wichtigsten Warnsignale.
SSH-Anmeldeversuche überwachen
# Letzte erfolgreiche und fehlgeschlagene Anmeldungen
sudo journalctl -u ssh --since "24 hours ago" | grep -E "Accepted|Failed"
# Äquivalent über auth.log (Debian/Ubuntu)
sudo grep -E "Accepted|Failed" /var/log/auth.log | tail -50 Aktive Netzwerkverbindungen
# Lauschende Ports und bestehende Verbindungen
sudo ss -tlnp Prüfen Sie, dass nur die erwarteten Ports offen sind. Jeder unbekannte Port verdient eine Untersuchung.
Systemlast
# CPU-Last, Speicher, Prozesse
top
# oder, falls installiert:
htop Warnsignale, auf die Sie achten sollten
- Unerklärlicher CPU- oder Speicheranstieg
- Unbekannter Prozess, der Ressourcen verbraucht
- Ausgehende Verbindungen zu unbekannten IPs
- Kürzlich geänderte Dateien in /etc oder /usr/bin
# In den letzten 24h geänderte Dateien in /etc
sudo find /etc -mtime -1 -type f Häufige Fragen
In welcher Reihenfolge sollten diese Maßnahmen umgesetzt werden?
Folgen Sie der Reihenfolge der Checkliste am Anfang dieses Leitfadens. Zuerst die System-Updates und das Anlegen eines Nicht-Root-Benutzers, dann gehärtetes SSH, danach UFW. Aktivieren Sie UFW nicht, bevor Sie den SSH-Port geöffnet haben: Das ist der häufigste Fehler, der den Zugang zum VPS sperrt.
Braucht ein Linux-VPS einen Virenscanner?
Klassische Virenscanner sind für Linux-Server wenig geeignet. Die Angriffsfläche wird durch die Maßnahmen dieses Leitfadens (Updates, gehärtetes SSH, Firewall, Fail2ban) besser reduziert als durch einen Virenscanner. ClamAV kann nützlich sein, wenn der VPS von Benutzern hochgeladene Dateien beherbergt (Formulare, Dateiaustausch), bleibt für die meisten Fälle aber optional.
Woran erkenne ich, dass mein VPS kompromittiert wurde?
Die häufigsten Anzeichen: unerklärlicher CPU-Anstieg, unbekannter Prozess in top, ungewöhnliche ausgehende Verbindungen in ss -tlnp, verdächtige Einträge in /var/log/auth.log, kürzlich geänderte Systemdateien. Bei ernsthaftem Verdacht ist die Wiederherstellung aus einem sauberen Snapshot sicherer als eine unvollständige Untersuchung.
Reichen diese Maßnahmen für einen VPS in Produktion aus?
Sie decken die häufigsten Angriffsvektoren ab und bilden eine solide Grundlage. Für Umgebungen mit hohen Anforderungen (sensible Daten, regulatorische Vorgaben) kommen weitere Maßnahmen hinzu: regelmäßige Sicherheitsaudits, Einbruchserkennung (AIDE, auditd), Netzwerksegmentierung, Verschlüsselung der Volumes. Dieser Leitfaden deckt das grundlegende Niveau ab, das für jeden im Internet erreichbaren VPS gilt.
Soll dieser VPS eine Website aufnehmen, die derzeit woanders liegt? Sichern Sie ihn zuerst ab und folgen Sie dann der Anleitung zur Migration vom Shared Hosting.
