Ein frisch eingerichteter VPS ist ein unmittelbares Angriffsziel: Automatisierte Scanner versuchen ständig, SSH-Verbindungen herzustellen, auf der Suche nach schwachen Passwörtern oder falsch konfigurierten Diensten. Indem Sie diese 10 Schritte in den ersten Minuten nach Ihrer ersten Anmeldung befolgen, verringern Sie die Angriffsfläche drastisch.
Führen Sie diese Schritte über eine aktive SSH-Verbindung durch, die Sie erst schließen sollten, nachdem Sie jede Änderung getestet haben. Eine fehlerhafte Konfiguration der Firewall ohne vorherige Überprüfung kann dazu führen, dass Sie sich nicht mehr auf Ihren Server einloggen können.
1. Das System unverzüglich aktualisieren
Bevor Sie mit der Konfiguration beginnen, sollten Sie zunächst alle installierten Pakete aktualisieren. VPS-Images werden oft bereits Wochen oder Monate vor Ihrer Bereitstellung erstellt – möglicherweise sind zu diesem Zeitpunkt bereits kritische Sicherheitslücken bekannt.
# Debian / Ubuntu
apt update && apt upgrade -y && apt autoremove -y
# CentOS / AlmaLinux / Rocky
dnf update -y
Aktivieren Sie anschließend die automatischen Sicherheitsupdates mit unattended-upgrades (Debian/Ubuntu) oder dnf-automatic (RedHat). Sie werden im Hintergrund ausgeführt und starten den Server nur bei Bedarf neu.
2. Einen Nicht-Root-Benutzer anlegen und den Root-Zugang über SSH deaktivieren
Als folgender Benutzer anmelden root Die direkte Anmeldung über SSH gilt als schlechte Praxis: Schon der kleinste Tippfehler bei einem Befehl kann irreversible Folgen haben. Erstellen Sie einen Standardbenutzer mit den entsprechenden Rechten sudo :
adduser votre_user
usermod -aG sudo votre_user # Debian/Ubuntu
usermod -aG wheel votre_user # CentOS/Rocky
Testen Sie die SSH-Verbindung mit diesem neuen Benutzer, bevor Sie den Root-Zugang deaktivieren. Sobald dies bestätigt ist, bearbeiten Sie /etc/ssh/sshd_config und setzen Sie Folgendes ein:
PermitRootLogin no
3. Verwenden Sie SSH-Schlüssel anstelle von Passwörtern
Die Authentifizierung per Schlüssel ist kryptografisch wesentlich sicherer als ein Passwort. Erstellen Sie ein Schlüsselpaar auf Ihrem lokalen Rechner (falls Sie noch keines haben):
# Sur votre machine locale
ssh-keygen -t ed25519 -C "[email protected]"
# Copier la clé publique sur le serveur
ssh-copy-id -i ~/.ssh/id_ed25519.pub votre_user@IP_DU_SERVEUR
Sobald Sie sich mit dem Schlüssel angemeldet haben, deaktivieren Sie die Passwortauthentifizierung unter /etc/ssh/sshd_config :
PasswordAuthentication no
PubkeyAuthentication yes
SSH neu laden: systemctl reload sshd. Ab diesem Zeitpunkt ist die Verbindung nur noch mit Ihrem privaten Schlüssel möglich.
4. Den Standard-SSH-Port ändern
Port 22 wird täglich tausende Male von automatisierten Bots gescannt. Eine Änderung des Ports stellt zwar an sich keinen Schutz dar, reduziert jedoch das Datenvolumen in Ihren Protokollen sowie einfache Brute-Force-Angriffe erheblich.
# /etc/ssh/sshd_config
Port 2222 # Choisissez un port > 1024 non utilisé
Bevor Sie SSH auf dem neuen Port neu starten, fügen Sie diesen Ihrer Firewall-Regel hinzu – andernfalls werden Sie vom Server ausgesperrt.
5. Eine Firewall mit UFW oder nftables einrichten
Eine Whitelist-Firewall (standardmäßig ist alles blockiert; man gibt nur den Zugang frei, den man benötigt) ist die goldene Regel. UFW (Uncomplicated Firewall) ist die einfachste Lösung unter Debian/Ubuntu:
apt install ufw -y
# Politique par défaut : tout bloquer en entrée, autoriser en sortie
ufw default deny incoming
ufw default allow outgoing
# Ouvrir les ports nécessaires
ufw allow 2222/tcp # SSH (nouveau port)
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
# Activer
ufw enable
ufw status verbose
Für fortgeschrittene Benutzer, nftables bietet mehr Kontrolle und Leistung, insbesondere bei dynamischen Regeln oder der Ratenbegrenzung.
6. Installieren Sie Fail2ban, um Brute-Force-Angriffe zu blockieren
Selbst bei Verwendung von SSH-Schlüsseln schützt Fail2ban Ihre anderen Dienste (Nginx, Postfix, FTP …) dadurch, dass es IP-Adressen nach einer bestimmten Anzahl fehlgeschlagener Authentifizierungsversuche automatisch sperrt.
apt install fail2ban -y
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Bearbeiten /etc/fail2ban/jail.local So passen Sie die Schwellenwerte an:
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
[sshd]
enabled = true
port = 2222 # Votre port SSH personnalisé
systemctl enable --now fail2ban
7. Nicht benötigte Dienste deaktivieren
Jeder Dienst, der im Netzwerk hörbar ist, stellt eine potenzielle Angriffsfläche dar. Erstellen Sie eine Liste der offenen Ports und aktiven Dienste und deaktivieren Sie anschließend alles, was nicht erforderlich ist:
# Voir les ports en écoute
ss -tulpn
# Désactiver un service (exemple : postfix si vous n'envoyez pas d'emails)
systemctl disable --now postfix
8. Die Netzwerkeinstellungen des Kernels festlegen
Die Datei /etc/sysctl.conf (oder eine Datei in /etc/sysctl.d/) ermöglicht die Aktivierung von Netzwerkschutzmaßnahmen auf Kernel-Ebene:
# /etc/sysctl.d/99-hardening.conf
net.ipv4.tcp_syncookies = 1 # Protection SYN flood
net.ipv4.conf.all.rp_filter = 1 # Protection IP spoofing
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
kernel.dmesg_restrict = 1
sysctl -p /etc/sysctl.d/99-hardening.conf
9. Aktivieren Sie die Protokollüberwachung mit „logwatch“ oder „auditd“
Sie können nicht auf das reagieren, was Sie nicht sehen. Zwei sich ergänzende Hilfsmittel:
- logwatch — Senden Sie täglich per E-Mail einen Bericht, in dem die wichtigsten Ereignisse zusammengefasst sind (SSH-Verbindungen, Systemfehler, Firewall-Aktivitäten).
- auditd — Detailliertere System-Audit-Protokollierung: Wer hat welche Datei geändert? Welche Befehle wurden als Root ausgeführt?
apt install logwatch auditd -y
systemctl enable --now auditd
10. Aktivieren Sie die Zwei-Faktor-Authentifizierung (2FA) für SSH
Fügen Sie bei kritischen Servern zusätzlich zum SSH-Schlüssel eine TOTP-Authentifizierungsebene (Google Authenticator, Authy) hinzu. Das PAM-Modul libpam-google-authenticator Damit lässt sich dies in wenigen Minuten einrichten:
apt install libpam-google-authenticator -y
# En tant que votre_user (pas root) :
google-authenticator
Folgen Sie den Anweisungen des Assistenten, scannen Sie den QR-Code mit Ihrer Authentifizierungs-App und aktivieren Sie anschließend das Modul in /etc/pam.d/sshd und nehmen Sie die Konfiguration vor ChallengeResponseAuthentication yes in /etc/ssh/sshd_config.
Systemaktualisierungen · Nicht-Root-Benutzer + sudo · Ausschließlich SSH-Schlüssel · Benutzerdefinierter SSH-Port · UFW/nftables-Firewall · Fail2ban · Minimale Dienste · Sysctl-Härtung · Protokollüberwachung · 2FA auf kritischen Servern
Fazit
Diese 10 Schritte bilden die Mindestvoraussetzung für jeden im Internet zugänglichen VPS. Ihre Umsetzung dauert nur eine Stunde und beseitigt die überwiegende Mehrheit der gängigen Angriffsvektoren. Sicherheit ist ein fortlaufender Prozess: Überprüfen Sie regelmäßig Ihre Konfigurationen, verfolgen Sie die Sicherheitsmeldungen Ihrer Distribution und halten Sie Ihre Anwendungen mit derselben Sorgfalt auf dem neuesten Stand wie Ihr Betriebssystem.
Weiterlesen
Pterodactyl: SteamCMD-Fehler bei der Installation
„Egg Pterodactyl“ bleibt bei der Installation hängen? SteamCMD-Fehler 0x202, 0x402, 0x602 und „No subscription“, „ghcr.io/parkervcp/steamcmd“-Image, ARM-Knoten oder MTU
Pterodactyl: Mehrere Server pro Rechner
Docker-Container, Eggs, Verwaltung mehrerer Benutzer, Dimensionierung … Der Leitfaden zum Hosten und Weiterverkaufen mehrerer Spieleserver mit Pterodactyl.
Sichern des Remote-Desktop-Zugriffs (RDP) auf einem Windows-VPS
Das RDP wird kontinuierlich überwacht. Ports, Konten, Sperren, IP-Filterung, Gateway und Protokolle










