Ein neuer VPS mit öffentlicher IP-Adresse erhält schon nach wenigen Minuten automatisierte Anmeldeversuche. Nichts davon ist persönlich gemeint; Bots scannen einfach jede Adresse. Einige grundlegende Schritte stoppen fast alles davon. Diese Checkliste geht von einem frischen Ubuntu 24.04- oder Debian 12/13-Server aus und dauert etwa fünfzehn Minuten.
1. Zuerst alles aktualisieren
apt update && apt full-upgrade -y
reboot
Melden Sie sich nach dem Neustart erneut an. Beginnen Sie immer mit einem vollständig gepatchten System.
2. Einen Nicht-Root-Benutzer anlegen
Ständig als root zu arbeiten macht jeden Tippfehler gefährlich. Legen Sie einen normalen Benutzer mit sudo-Rechten an:
adduser deploy
usermod -aG sudo deploy
3. SSH-Schlüssel einrichten
Erstellen Sie auf Ihrem eigenen Computer ein Schlüsselpaar, falls Sie noch keines haben, und kopieren Sie die öffentliche Hälfte auf den Server:
ssh-keygen -t ed25519 -C "my-vps"
ssh-copy-id deploy@YOUR_SERVER_IP
Öffnen Sie ein zweites Terminal und bestätigen Sie, dass Sie sich mit dem Schlüssel als deploy anmelden können, bevor Sie weitermachen. Schließen Sie Ihre ursprüngliche Sitzung erst, wenn das funktioniert.
4. Passwort- und Root-Login abschalten
Bearbeiten Sie die Konfiguration des SSH-Daemons:
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
Tragen Sie diese Zeilen in die Datei ein:
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
Prüfen Sie die Syntax und laden Sie neu:
sudo sshd -t && sudo systemctl reload ssh
5. Eine Firewall aktivieren
UFW ist die einfachste Option. Erlauben Sie zuerst SSH und schalten Sie dann die Firewall ein:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp # only if you run a web server
sudo ufw enable
sudo ufw status verbose
Öffnen Sie nur Ports für Dienste, die Sie tatsächlich betreiben. Alles andere bleibt standardmäßig geschlossen.
6. fail2ban hinzufügen
Fail2ban überwacht Protokolle und sperrt vorübergehend Adressen, deren Anmeldung wiederholt scheitert.
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
Die Standardwerte sind für SSH sinnvoll. Da Sie Passwörter bereits abgeschaltet haben, verringert das vor allem Log-Rauschen und verschwendete CPU-Zeit.
7. Automatische Sicherheitsupdates einschalten
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
Dies installiert Sicherheitspatches automatisch. Starten Sie gelegentlich für Kernel-Updates neu oder lassen Sie das Tool es zu einer ruhigen Stunde erledigen.
8. Prüfen, was lauscht
sudo ss -tulpn
Alles, was auf 0.0.0.0 lauscht und womit Sie nicht gerechnet haben, ist eine Untersuchung wert. Dienste, die nur für den lokalen Gebrauch gedacht sind (Datenbanken, Caches, Admin-Panels), sollten auf 127.0.0.1 lauschen.
9. Grundlegendes Monitoring und Backups
- Beobachten Sie die Logs ab und zu mit
journalctl -u ssh --since today. - Prüfen Sie die Ressourcen mit
htopunddf -h, damit eine volle Festplatte oder ein außer Kontrolle geratener Prozess Sie nicht überrascht. - Erstellen Sie Backups. Legen Sie vor größeren Änderungen einen Snapshot des Servers an und bewahren Sie eine Kopie außerhalb des Servers von allem auf, was Sie nicht neu erstellen können.
Wie es weitergeht
Sie haben jetzt einen Server, der sich weit schwerer knacken lässt als der Standard. Halten Sie ab hier die Software aktuell, betreiben Sie jeden Dienst als eigenen unprivilegierten Benutzer und legen Sie nur offen, was Sie brauchen. Wenn Sie einen privaten Tunnel zum Server möchten, ist unser Leitfaden zur Einrichtung von WireGuard ein guter nächster Schritt.
Häufig gestellte Fragen
Was sollte ich auf einem neuen VPS zuerst tun?
Pakete aktualisieren, einen Benutzer ohne Root-Rechte anlegen, auf SSH-Schlüssel umstellen, die Passwortanmeldung deaktivieren und eine Firewall aktivieren.
Sollte ich den SSH-Port ändern?
Das verringert das Rauschen in den Logs, ist aber keine echte Sicherheit. Schlüssel und eine Firewall sind weit wichtiger.