Vollständiger VPS-Sicherheitshärtungsleitfaden
Schritt-für-Schritt-Anleitung zur Absicherung Ihres VPS. Behandelt SSH-Härtung, Firewalls, Fail2Ban, automatische Updates und grundlegende Sicherheitspraktiken zum Schutz Ihres Servers.
Vollständiger VPS-Sicherheitshärtungsleitfaden
Ihr VPS ist rund um die Uhr dem Internet ausgesetzt. Ohne angemessene Sicherheitsmaßnahmen ist es nur eine Frage der Zeit, bis jemand ihn kompromittiert. Dieser Leitfaden deckt alles ab, was Sie benötigen, um Ihren Server abzusichern.
Warum das wichtig ist
Jede Minute scannen automatisierte Bots das Internet nach anfälligen Servern. Ein frischer VPS kann innerhalb weniger Stunden nach seiner Erstellung Tausende von Anmeldeversuchen erhalten. Angemessene Sicherheit ist keine Option – sie ist der Unterschied zwischen einem zuverlässigen Server und einem Teil eines Botnetzes.
Was auf dem Spiel steht:
- Ihre Daten und die Daten Ihrer Benutzer
- Ihr Server, der für Spam oder Angriffe verwendet wird
- Krypto-Mining-Malware, die Ihre Ressourcen verbraucht
- Vollständiger Kontrollverlust über Ihre Infrastruktur
Voraussetzungen
- Ein frischer VPS (wir empfehlen Hostinger VPS für deren Sicherheitsfunktionen und DDoS-Schutz)
- SSH-Zugang zu Ihrem Server
- Grundlegende Kenntnisse der Befehlszeile
Schritt 1: System aktualisieren
Aktualisieren Sie vor allem anderen alle Pakete:
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# CentOS/RHEL
sudo dnf update -y
Aktivieren Sie automatische Sicherheitsupdates:
# Ubuntu/Debian
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades
Schritt 2: Einen Nicht-Root-Benutzer erstellen
Verwenden Sie root niemals für den täglichen Betrieb:
# Create new user
adduser deploy
# Add to sudo group
usermod -aG sudo deploy
# Switch to new user
su - deploy
Schritt 3: SSH-Sicherheit konfigurieren
Bearbeiten Sie Ihre SSH-Konfiguration:
sudo nano /etc/ssh/sshd_config
Wenden Sie diese Einstellungen an:
# Disable root login
PermitRootLogin no
# Disable password authentication (after setting up keys!)
PasswordAuthentication no
# Change default port (optional but recommended)
Port 2222
# Limit login attempts
MaxAuthTries 3
# Set login timeout
LoginGraceTime 60
# Disable empty passwords
PermitEmptyPasswords no
# Disable X11 forwarding if not needed
X11Forwarding no
Richten Sie die SSH-Schlüsselauthentifizierung ein, BEVOR Sie Passwörter deaktivieren:
# On your LOCAL machine, generate a key
ssh-keygen -t ed25519 -C "your-email@example.com"
# Copy to server
ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@your-server-ip
SSH neu starten:
sudo systemctl restart sshd
Testen Sie Ihre neue Verbindung in einem separaten Terminal, bevor Sie Ihre aktuelle Sitzung schließen!
Schritt 4: Firewall konfigurieren
Verwenden Sie UFW (Uncomplicated Firewall):
# Install UFW
sudo apt install ufw -y
# Set default policies
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Allow SSH (use your custom port if changed)
sudo ufw allow 2222/tcp
# Allow HTTP/HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Enable firewall
sudo ufw enable
# Check status
sudo ufw status verbose
Schritt 5: Fail2Ban installieren und konfigurieren
Fail2Ban blockiert automatisch IPs mit zu vielen fehlgeschlagenen Anmeldeversuchen:
sudo apt install fail2ban -y
Erstellen Sie eine lokale Konfiguration:
sudo nano /etc/fail2ban/jail.local
Fügen Sie hinzu:
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
banaction = ufw
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 24h
Fail2Ban starten:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# Check banned IPs
sudo fail2ban-client status sshd
Schritt 6: Nicht verwendete Dienste deaktivieren
Laufende Dienste auflisten:
sudo systemctl list-units --type=service --state=running
Deaktivieren Sie alles, was Sie nicht benötigen:
sudo systemctl disable --now cups
sudo systemctl disable --now avahi-daemon
sudo systemctl disable --now bluetooth
Schritt 7: Einbruchserkennung einrichten
Installieren Sie AIDE (Advanced Intrusion Detection Environment):
sudo apt install aide -y
# Initialize database
sudo aideinit
# Move database
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
# Check for changes (run periodically)
sudo aide --check
Schritt 8: Kernel-Sicherheitsparameter konfigurieren
Bearbeiten Sie die sysctl-Konfiguration:
sudo nano /etc/sysctl.d/99-security.conf
Fügen Sie hinzu:
# IP spoofing protection
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Ignore ICMP redirects
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
# Disable source routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
# SYN flood protection
net.ipv4.tcp_syncookies = 1
# Ignore ping broadcasts
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Log suspicious packets
net.ipv4.conf.all.log_martians = 1
Änderungen anwenden:
sudo sysctl -p /etc/sysctl.d/99-security.conf
Schritt 9: Protokollüberwachung einrichten
Konfigurieren Sie logwatch für tägliche Berichte:
sudo apt install logwatch -y
# Generate report
sudo logwatch --detail High --mailto your@email.com --service All --range today
Richten Sie einen täglichen Cron-Job ein:
echo "0 0 * * * /usr/sbin/logwatch --output mail --mailto your@email.com --detail high" | sudo tee /etc/cron.d/logwatch
Schritt 10: Zwei-Faktor-Authentifizierung aktivieren (Optional)
Installieren Sie Google Authenticator:
sudo apt install libpam-google-authenticator -y
# Run setup as your user
google-authenticator
Beantworten Sie die Eingabeaufforderungen und speichern Sie Ihre Backup-Codes!
Bearbeiten Sie die PAM-Konfiguration:
sudo nano /etc/pam.d/sshd
Fügen Sie oben hinzu:
auth required pam_google_authenticator.so
Bearbeiten Sie die SSH-Konfiguration:
sudo nano /etc/ssh/sshd_config
Setzen Sie:
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive
SSH neu starten:
sudo systemctl restart sshd
Best Practices
- Regelmäßige Updates - Wöchentliche Update-Prüfungen planen
- Minimale Software - Installieren Sie nur, was Sie benötigen
- Starke Passwörter - Verwenden Sie einen Passwort-Manager, mindestens 16 Zeichen
- Prinzip der geringsten Privilegien - Benutzer erhalten nur den Zugriff, den sie benötigen
- Regelmäßige Audits - Protokolle und Zugriffe wöchentlich überprüfen
- Backup vor Änderungen - Haben Sie immer einen Rollback-Plan
- Aktiv überwachen - Richten Sie Warnmeldungen für verdächtige Aktivitäten ein
- VPN für sensiblen Zugriff verwenden - Erwägen Sie WireGuard oder Tailscale für den Admin-Zugriff
Häufige Fehler, die zu vermeiden sind
❌ Passwort-Authentifizierung deaktivieren, bevor SSH-Schlüssel eingerichtet sind – Sie sperren sich selbst aus
❌ Zu viele Firewall-Ports öffnen – Jeder offene Port ist eine Angriffsfläche
❌ Root für alles verwenden – Ein Fehler kann Ihr System zerstören
❌ Protokolle ignorieren – Angriffe zeigen oft Warnsignale, bevor sie erfolgreich sind
❌ Schwache SSH-Schlüssel – Verwenden Sie mindestens Ed25519 oder RSA 4096-Bit
❌ Dasselbe Passwort überall – Wenn ein Dienst kompromittiert wird, sind alle betroffen
❌ Ausgehende Regeln vergessen – Malware kommuniziert über ausgehende Verbindungen nach Hause
❌ Änderungen nicht testen – Testen Sie immer den SSH-Zugang, bevor Sie Ihre Sitzung schließen
Sicherheits-Checkliste
Verwenden Sie diese Checkliste für jeden neuen Server:
- System aktualisiert
- Nicht-Root-Benutzer erstellt
- SSH-Schlüssel konfiguriert
- Passwort-Authentifizierung deaktiviert
- SSH-Port geändert (optional)
- Firewall aktiviert
- Fail2Ban installiert
- Nicht verwendete Dienste deaktiviert
- Automatische Updates aktiviert
- Protokollüberwachung konfiguriert
FAQ
Wie oft sollte ich meinen Server aktualisieren?
Sicherheitsupdates sollten so schnell wie möglich angewendet werden – idealerweise automatisch. Für andere Updates ist wöchentlich ein guter Rhythmus.
Ist das Ändern des SSH-Ports wirklich notwendig?
Es ist nicht erforderlich, reduziert aber automatisierte Angriffe in Ihren Protokollen erheblich. Bots scannen hauptsächlich Port 22. Es ist Sicherheit durch Unbekanntheit – kein Ersatz für echte Sicherheit, aber eine hilfreiche Ergänzung.
Was tun, wenn ich mich ausgesperrt habe?
Deshalb bieten Hostinger VPS und ähnliche Anbieter Konsolenzugang. Sie können über das Kontrollpanel auf Ihren Server zugreifen, auch wenn SSH nicht funktioniert.
Sollte ich ein VPN verwenden, um auf meinen Server zuzugreifen?
Für hochsensible Server ja. WireGuard ist leichtgewichtig und schnell, und Tailscale macht die Einrichtung noch einfacher. Für die meisten Anwendungsfälle ist ein ordnungsgemäß konfiguriertes SSH mit Schlüsselauthentifizierung und Fail2Ban ausreichend.
Wie erkenne ich, ob mein Server kompromittiert wurde?
Anzeichen sind: unerwartete CPU-Auslastung, unbekannte Prozesse, geänderte Dateien (AIDE erkennt dies), unbekannte Cron-Jobs und unerklärlicher Netzwerkverkehr. Regelmäßige Überwachung ist entscheidend.
Ist Root-Login wirklich so gefährlich?
Ja. Root hat unbegrenzte Macht. Ein Tippfehler oder eine kompromittierte Sitzung kann alles zerstören. Die Verwendung von sudo gibt Ihnen einen Sicherheitspuffer und einen Prüfpfad.
Nächste Schritte: Sobald Ihr Server abgesichert ist, schauen Sie sich unseren Docker Compose-Bereitstellungsleitfaden an, um Anwendungen sicher zu deployen.
Ready to get started?
Get the best VPS hosting deal today. Hostinger offers 4GB RAM VPS starting at just $4.99/mo.
Get Hostinger VPS — $4.99/mo// up to 75% off + free domain included
// related topics
// related guides
$1 VPS Hosting 2026: Cheapest VPS Servers Starting at $1/Month
Looking for $1 VPS hosting? Compare the cheapest VPS providers starting from $1-3/month. Real specs, no hidden fees, honest reviews of budget VPS options.
tutorialCaddy Reverse Proxy Guide 2026: Automatic HTTPS Made Easy
Set up Caddy as a reverse proxy with automatic HTTPS, zero-config SSL, and simple Caddyfile syntax. Complete VPS deployment guide.
tutorialCloudflare Tunnel VPS Guide 2026: Expose Services Without Opening Ports
Set up Cloudflare Tunnel on your VPS to expose web apps securely without opening ports or revealing your server IP. Complete guide with Docker and DNS config.
tutorialCoolify VPS Setup Guide 2026: Self-Hosted Vercel Alternative
Deploy Coolify on your VPS for a self-hosted Vercel/Netlify experience. Complete setup guide with Docker, SSL, and app deployments.
Andrius Putna
I am Andrius Putna. Geek. Since early 2000 in love tinkering with web technologies. Now AI. Bridging business and technology to drive meaningful impact. Combining expertise in customer experience, technology, and business strategy to deliver valuable insights. Father, open-source contributor, investor, 2xIronman, MBA graduate.
// last updated: February 6, 2026. Disclosure: This article may contain affiliate links.