VPS absichern: Die ersten 10 Einstellungen
Wir zeigen Ihnen für einen neuen virtuellen Server SSH-, Firewall-, Fail2ban- und Update-Einstellungen in der richtigen Reihenfolge, mit funktionierenden Befehlen und typischen Fehlern.

Beim Absichern eines VPS aktualisieren Sie zuerst das System, legen einen Benutzer mit sudo-Rechten statt root an und richten die Anmeldung per SSH-Schlüssel ein. Danach sperren Sie den Root-Login und die Passwortanmeldung per SSH, öffnen in der Firewall nur die nötigen Ports, installieren Fail2ban, aktivieren automatische Sicherheitsupdates und planen regelmäßige Backups.
Wo beginnt die VPS-Sicherheit?
Ein frisch gestarteter virtueller Server ist ab dem Moment der Internetanbindung das Ziel automatischer Scanner. Diese Bots haben es nicht auf ein bestimmtes Unternehmen abgesehen, sondern probieren jede Maschine mit offenem SSH-Port und schwachem Passwort. Dass schon in den ersten Stunden Tausende Anmeldeversuche in den Server-Logs landen, ist ganz normal.
Deshalb beginnt die VPS-Sicherheit mit einigen grundlegenden Einstellungen in der ersten Stunde nach der Einrichtung. Die folgenden zehn Schritte sind für Server auf Basis von Ubuntu und Debian geschrieben; bei anderen Distributionen unterscheiden sich Paketmanager und Dienstnamen, die Logik bleibt aber dieselbe.
Ist Serveradministration Neuland für Sie oder betreiben Sie Ihre Website gemeinsam mit einem Softwareteam, klären Sie von Anfang an, wer für diese Schritte verantwortlich ist. Sicherheitseinstellungen sind keine Aufgabe, die man einmal erledigt und dann vergisst, sondern ein Prozess, der regelmäßige Pflege braucht.
Das sollten Sie vorab wissen
Bevor Sie loslegen, sollten Sie Folgendes zur Hand haben: die IP-Adresse des Servers, den vom Anbieter bereitgestellten ersten Root- oder Administrator-Zugang und ein Terminal auf Ihrem eigenen Rechner. Unter Windows 10 und 11 ist der OpenSSH-Client in PowerShell bereits integriert; unter macOS und Linux genügt das Terminal.
Es ist außerdem eine gute Gewohnheit, die Befehle in einer Notizdatei festzuhalten. Wenn Sie wissen, welche Einstellung Sie wann geändert haben, finden Sie bei späteren Problemen die Ursache leichter und können dieselbe Einrichtung auf einem zweiten Server wiederholen. Wenn Sie bei der Einrichtung nicht weiterkommen, können Sie sich über die Kontaktseite an unser Team wenden.
System- und Benutzereinstellungen
Die ersten beiden Schritte: den Server von bekannten Sicherheitslücken befreien und die tägliche Arbeit mit einem anderen Konto als root erledigen.
1. System aktualisieren
Das fertige Image des Anbieters kann schon Monate alt sein. Als Erstes bringen Sie alle Pakete mit aktuellen Sicherheitspatches auf den neuesten Stand. Wurde ein Kernel-Update eingespielt, starten Sie den Server neu.
sudo apt update && sudo apt upgrade -y
sudo reboot2. Benutzer mit sudo-Rechten anlegen
Mit dem Root-Konto zu arbeiten bedeutet, dass ein einziger fehlerhafter Befehl das gesamte System treffen kann. Legen Sie einen eigenen Benutzer an und fügen Sie ihn der Gruppe sudo hinzu; nutzen Sie Administratorrechte nur dann, wenn sie wirklich nötig sind.
sudo adduser yonetici
sudo usermod -aG sudo yoneticiSSH-Sicherheit
SSH ist die Eingangstür des Servers. Für die SSH-Sicherheit sind zwei Schritte am wirksamsten: Schlüssel statt Passwort verwenden und den Root-Login sperren.
3. Anmeldung per SSH-Schlüssel einrichten
Erzeugen Sie auf Ihrem Rechner ein Schlüsselpaar und kopieren Sie den öffentlichen Schlüssel auf den Server. Unter macOS und Linux erledigt der Befehl ssh-copy-id das in einem Schritt; unter Windows können Sie den öffentlichen Schlüssel mit PowerShell auf den Server übertragen. Wenn Sie dem Schlüssel eine Passphrase geben, schützt er Sie zusätzlich, selbst wenn Ihr Rechner in fremde Hände gerät.
ssh-keygen -t ed25519
ssh-copy-id yonetici@SUNUCU_IPssh-keygen -t ed25519
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh yonetici@SUNUCU_IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"4. Root- und Passwort-Login sperren
Nachdem Sie in einem zweiten Terminal geprüft haben, dass die Anmeldung per Schlüssel funktioniert, härten Sie die SSH-Konfiguration. Die Konfiguration vor der Änderung zu testen verhindert, dass eine fehlerhafte Zeile den Dienst stoppt.
Achtung: Bei manchen Cloud-Images können zusätzliche Dateien im Ordner /etc/ssh/sshd_config.d/ die Passwortanmeldung wieder aktivieren. Prüfen Sie nach der Einstellung auch diesen Ordner.
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yessudo sshd -t
sudo systemctl restart sshFirewall und Fail2ban
Auf dem Server sollten nur die Ports offen sein, die wirklich Dienste nach außen anbieten. Korrekte Firewall-Einstellungen verkleinern die Angriffsfläche; Fail2ban sperrt hartnäckig probierende Adressen automatisch.
5. Firewall aktivieren
Unter Ubuntu bietet UFW eine schlichte Oberfläche für iptables. Erlauben Sie zuerst SSH und aktivieren Sie danach die Firewall; bei umgekehrter Reihenfolge bricht Ihre Verbindung ab.
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose6. Fail2ban installieren
Fail2ban überwacht die Logs und sperrt IP-Adressen, die wiederholt fehlgeschlagene Anmeldungen verursachen, für eine bestimmte Zeit. Nehmen Sie die Einstellungen nicht in der Hauptdatei vor, sondern in der Datei jail.local, die bei Updates nicht überschrieben wird.
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban[sshd]
enabled = true
maxretry = 5
bantime = 1h
findtime = 10msudo systemctl restart fail2ban
sudo fail2ban-client status sshdUpdates und Dienste
Ein großer Teil der Sicherheitslücken stammt aus Software, für die der Patch längst veröffentlicht, aber nie eingespielt wurde. Auch jeder unnötig laufende Dienst ist ein zusätzliches Risiko.
7. Automatische Sicherheitsupdates
Das Paket unattended-upgrades spielt Sicherheitspatches ohne Ihr Zutun ein. Größere Versionssprünge führen Sie dagegen kontrolliert und von Hand durch, nachdem Sie ein Backup erstellt haben.
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades8. Offene Ports und Dienste prüfen
Lassen Sie sich auflisten, welcher Dienst auf welchem Port lauscht. Dienste, die nur vom Server selbst erreichbar sein müssen, etwa Datenbanken, sollten an 127.0.0.1 lauschen und nicht nach außen offen sein. Deaktivieren Sie Dienste, die Sie nicht benötigen.
sudo ss -tulpn
sudo systemctl disable --now SERVIS_ADIÜberwachung und Backups
Veröffentlichen Sie auf dem Server eine Website, kommt zu diesen Schritten noch HTTPS hinzu; die Einrichtung des kostenlosen Zertifikats und die automatische Erneuerung beschreiben wir in unserem Beitrag zur SSL-Zertifikat-Einrichtung.
9. Logs und Ressourcen überwachen
Einen Angriff bemerkt man am einfachsten anhand der Logs. Prüfen Sie regelmäßig SSH-Anmeldungen, Speicherplatzbelegung und ungewöhnliche CPU-Auslastung. Auch die korrekte Serverzeit ist Voraussetzung dafür, dass die Logs aussagekräftig sind.
sudo journalctl -u ssh --since today
df -h
timedatectl10. Backup und Snapshot planen
Keine Sicherheitsmaßnahme bietet hundertprozentigen Schutz; die letzte Verteidigungslinie ist das Backup außerhalb des Servers. Nutzen Sie die Snapshot-Funktion des Anbieters, verlassen Sie sich aber nicht allein darauf: Senden Sie Datenbank- und Datei-Backups zusätzlich an einen separaten Speicher und testen Sie die Wiederherstellung regelmäßig. Zur Strategie lesen Sie unsere Anleitung Backups richtig erstellen.
Vorsicht bei Docker
Mit Docker veröffentlichte Ports ändern die iptables-Regeln direkt und können daher UFW-Regeln umgehen. Ein Datenbank-Port, der in UFW gesperrt erscheint, kann von außen erreichbar sein, wenn er mit docker run -p veröffentlicht wurde.
Die Lösung: Binden Sie Container-Ports, die nur vom Server selbst erreichbar sein müssen, an 127.0.0.1 und öffnen Sie nach außen nur die Ports 80 und 443 über einen Reverse-Proxy. Details finden Sie in der offiziellen Docker-Netzwerkdokumentation.
docker run -d -p 127.0.0.1:5432:5432 postgresHäufige Fehler und nächste Schritte
Diese zehn Schritte sind ein Anfang. Auch die auf dem Server laufende Anwendung selbst muss aktuell gehalten werden, Verwaltungsoberflächen sollten mit Zwei-Faktor-Authentifizierung geschützt sein, und für den Verdachtsfall sollte ein Notfallplan bereitliegen. Wie Sie nach einem Angriff vorgehen, erklären wir Schritt für Schritt im Beitrag Website gehackt.
Möchten Sie die Serverpflege nicht mit dem eigenen Team stemmen, übernimmt unsere Speed- und Performance-Optimierung diese Last, indem sie Hosting, Sicherheit und Geschwindigkeit der Website gemeinsam betrachtet. In unseren Projekten für Shopsysteme, Webdesign und Branchensoftware wird die Serversicherheit als Teil der Inbetriebnahme eingeplant.
| Fehler | Fazit | So geht es richtig |
|---|---|---|
| UFW aktivieren, ohne SSH zu erlauben | Der Zugriff auf den Server bricht ab | Zuerst ufw allow OpenSSH |
| Passwort-Login sperren, ohne den Schlüssel zu testen | Sie sperren sich selbst aus | In einem zweiten Terminal testen |
| Datenbank nach außen offen lassen | Daten sind direkt angreifbar | An 127.0.0.1 binden |
| Backup auf demselben Server aufbewahren | Mit dem Server geht auch das Backup verloren | Separaten Speicher verwenden |
| Updates monatelang aufschieben | Bekannte Sicherheitslücken bleiben offen | Automatische Sicherheitsupdates |
Häufig gestellte Fragen
01Erhöht ein geänderter SSH-Port die Sicherheit?
Den Standardport 22 zu ändern, verringert automatisierten Bot-Verkehr und das Rauschen in den Logs, ist aber keine echte Sicherheitsmaßnahme. Den eigentlichen Schutz bieten Maßnahmen wie Anmeldung per Schlüssel, gesperrte Passwortanmeldung und Fail2ban. Ändern Sie den Port, vergessen Sie nicht, den neuen Port in der Firewall zu erlauben.
02Verwalteter Server oder selbst verwalten?
Kennen Sie sich mit der Linux-Administration aus und können Sie regelmäßig Zeit für die Pflege einplanen, können Sie den VPS selbst verwalten. Andernfalls sorgt ein verwalteter Dienst oder ein erfahrenes Team dafür, dass Updates und Überwachung nicht zu kurz kommen; vernachlässigte Wartung ist die häufigste Ursache von Sicherheitslücken.
03Was tun, wenn Fail2ban mich selbst sperrt?
Melden Sie sich über die Web-Konsole des Anbieters am Server an und heben Sie die Sperre mit dem Befehl sudo fail2ban-client set sshd unbanip IP_ADRESI auf. Haben Sie eine feste IP-Adresse, tragen Sie sie in der Datei jail.local in die Zeile ignoreip ein, damit es nicht wieder passiert.
Auf einem neuen VPS wehren diese zehn Einstellungen den Großteil automatisierter Angriffe schon am ersten Tag ab; zusammen mit regelmäßigen Updates und einem getesteten Backup bilden sie ein solides Fundament. Möchten Sie Sicherheit und Geschwindigkeit Ihres Servers gemeinsam und messbar steuern, werfen Sie einen Blick auf die Speed- und Performance-Optimierung von Aurora.


