Zum Hauptinhalt springen

Linux-VPS sichern

Erfahren Sie Best Practices, um Ihren Linux-VPS gegen gängige Bedrohungen abzusichern. Diese vollständige Anleitung behandelt sichere SSH-Konfiguration, die UFW-Firewall, Fail2ban zum Sperren von Brute-Force-Angriffen und Sicherheitsupdates.

Wichtig

Testen Sie jede Änderung, bevor Sie Ihre aktuelle SSH-Verbindung schließen, um zu vermeiden, dass Sie ausgesperrt werden.

Diese Anleitung bietet eine solide Basis für die Sicherheit Ihres VPS. Sicherheit ist ein fortlaufender Prozess — diese Schritte sind ein guter Anfang.


1. System aktualisieren​

Der erste Schritt zur Sicherung ist, Ihr System aktuell zu halten.

Updates installieren​

apt update && apt upgrade -y
Regelmäßige Updates

Prüfen Sie regelmäßig auf Sicherheitsupdates. Automatisieren ist möglich, aber manuelle Kontrolle kann sinnvoll sein, da manche Updates Eingriffe benötigen.


2. Nicht-root-Benutzer anlegen​

Verwenden Sie Root nicht für tägliche Aufgaben.

Neuen Benutzer anlegen​

adduser yourname

Benutzer zur sudo-Gruppe hinzufügen​

usermod -aG sudo yourname

Verbindung testen​

In einem neuen Terminal testen Sie die Verbindung mit dem neuen Benutzer:

ssh yourname@YOUR_VPS_IP

Prüfen Sie, ob sudo funktioniert:

sudo apt update

3. SSH absichern​

Der SSH-Dienst ist Ihr Zugang zum VPS und muss korrekt konfiguriert sein.

3.1 SSH-Konfiguration bearbeiten​

Melden Sie sich mit dem Nicht-Root-Benutzer an und bearbeiten Sie die SSH-Konfiguration:

sudo nano /etc/ssh/sshd_config

Ändern oder fügen Sie folgende Zeilen hinzu:

# Root-Login deaktivieren
PermitRootLogin no

# Max. Authentifizierungsversuche
MaxAuthTries 3

# Timeout für Login
LoginGraceTime 30

# X11-Forwarding deaktivieren
X11Forwarding no

# Optional: Zugriff auf bestimmte Benutzer beschränken
AllowUsers yourname

3.2 SSH-Port ändern (optional)​

Um automatische Scans auf Port 22 zu vermeiden:

Port 2222
Achtung

Wenn Sie den SSH-Port ändern, merken Sie ihn sich! Ab dann verbinden Sie sich mit:

ssh -p 2222 yourname@YOUR_VPS_IP

Oder passen Sie Ihre SSH-Client-Konfiguration an.

VPN / Firewall

Wenn Sie VPN oder spezielle Firewalls verwenden, stellen Sie sicher, dass der neue Port erlaubt ist.

3.3 SSH neu starten​

Zuerst die Konfiguration prüfen:

sudo sshd -t

Wenn in Ordnung, neu starten:

sudo systemctl restart sshd

# oder je nach Distribution

sudo systemctl restart ssh
Wichtig

Öffnen Sie zuerst ein neues Terminal und testen Sie die Verbindung — schließen Sie die aktuelle Sitzung erst, wenn alles funktioniert.


4. Firewall konfigurieren (UFW)​

UFW (Uncomplicated Firewall) ist eine einfache und effektive Firewall.

Warum eine Firewall?

Eine Firewall kontrolliert ein- und ausgehenden Netzwerkverkehr und schützt Ihren VPS vor unbefugtem Zugriff.

Wenn Sie z. B. ein VPN nutzen, möchten Sie SSH vielleicht nur für VPN-IP-Adressen freigeben.

UFW ist nicht die einzige Option — iptables, firewalld etc. sind Alternativen. UFW wird wegen seiner Einfachheit empfohlen.

Installation​

sudo apt install -y ufw

Basis-Konfiguration​

# Alle eingehenden Verbindungen standardmäßig blockieren
sudo ufw default deny incoming

# Alle ausgehenden Verbindungen erlauben
sudo ufw default allow outgoing

# SSH erlauben (Standardport 22)
sudo ufw allow 22/tcp

# Wenn Sie den SSH-Port geändert haben
sudo ufw allow 2222/tcp

Weitere Dienste erlauben​

# HTTP
sudo ufw allow 80/tcp

# HTTPS
sudo ufw allow 443/tcp

# MySQL (nur wenn von außen benötigt)
sudo ufw allow 3306/tcp

# PostgreSQL
sudo ufw allow 5432/tcp

Firewall aktivieren​

sudo ufw enable

Status prüfen​

sudo ufw status verbose

5. Fail2ban installieren​

Fail2ban schützt vor Brute-Force-Angriffen, indem verdächtige IPs gesperrt werden.

Installation​

sudo apt install -y fail2ban

Konfiguration​

Erstellen Sie eine lokale Konfiguration:

sudo nano /etc/fail2ban/jail.local

Fügen Sie diese Basis-Konfiguration ein:

[DEFAULT]
# Sperrdauer in Sekunden (hier 1 Stunde)
bantime = 3600

# Erkennungsfenster (10 Minuten)
findtime = 600

# Max. Anzahl Versuche
maxretry = 5

# Standardaktion
banaction = ufw

[sshd]
enabled = true
port = 22
# Wenn Sie den SSH-Port geändert haben, passen Sie diese Zeile an
# port = 2222
logpath = %(sshd_log)s
backend = systemd

Fail2ban starten​

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Status prüfen​

sudo fail2ban-client status
sudo fail2ban-client status sshd

🎉 Glückwunsch​

Ihr Linux-VPS ist jetzt deutlich sicherer! Denken Sie daran, dass Sicherheit fortlaufend ist:

  • Überwachen Sie regelmäßig Ihre Logs
  • Halten Sie Ihr System aktuell
  • Erstellen Sie regelmäßige Backups
  • Auditieren Sie Ihre Konfiguration periodisch
Benötigen Sie Hilfe?

Wenn Sie Probleme haben oder zusätzliche Beratung benötigen, treten Sie unserem Discord bei.