Zum Inhalt springen

05VPS & Dedicated Server

VPS absichern – Firewall, Fail2ban, SSH und Updates

So sicherst du deinen Nexthosting-VPS ab: Firewall mit ufw oder firewalld, Fail2ban, Passwort-Login abschalten, automatische Updates und Backups.

Kurz gesagt

Sichere deinen VPS in fünf Schritten ab: Firewall einschalten, Fail2ban installieren, SSH nur mit Schlüssel erlauben, Updates automatisieren und Backups einrichten. Das dauert eine halbe Stunde und hält die meisten automatischen Angriffe ab.

Ein VPS ist ein Server, für dessen Sicherheit du verantwortlich bist, siehe VPS-Überblick. Nexthosting schützt das Netzwerk vor DDoS-Angriffen. Das System selbst, seine Benutzer und die Programme darauf sicherst du selbst ab.

Voraussetzung ist, dass du dich schon per SSH anmelden kannst, einen Benutzer mit sudo hast und einen SSH-Schlüssel eingerichtet hast: VPS: erste Schritte mit SSH. Die Befehle unten führst du mit sudo oder als root aus.

Reihenfolge der Absicherung
  1. Firewallnur nötige Ports offen
  2. Fail2bansperrt Angreifer
  3. SSH härtennur Schlüssel
  4. Updates automatisieren
  5. Backups

Eine Firewall lässt nur die Verbindungen durch, die du erlaubst. Nach der Installation sollte nur SSH und, falls du einen Webserver betreibst, HTTP und HTTPS offen sein.

Terminal-Fenster
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
# nur bei einem Webserver:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose

Öffne später für jeden Dienst genau den Port, den er braucht, und nicht mehr. Ein Spieleserver braucht zum Beispiel den Port seines Spiels, etwa ufw allow 25565/tcp für Minecraft.

Zusätzlich zur Firewall im System hat dein VPS im Kundenkonto eine Firewall: Reiter Netzwerk, Abschnitt Firewall. Dort aktivierst du sie, fügst Regeln hinzu und nutzt die Schnellknöpfe „SSH erlauben (TCP 22)“ und „RDP erlauben (TCP 3389)“.

Fail2ban liest die Protokolle des Servers und sperrt IP-Adressen, die zu oft ein falsches Passwort eingeben.

Terminal-Fenster
sudo apt install -y fail2ban

Lege eine eigene Konfiguration an, damit Updates sie nicht überschreiben:

Terminal-Fenster
sudo nano /etc/fail2ban/jail.local
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
[sshd]
enabled = true

Speichere mit Strg+O, Enter, beende mit Strg+X und starte den Dienst:

Terminal-Fenster
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

Die letzte Zeile zeigt dir, wie viele Adressen gerade gesperrt sind. Nach ein paar Stunden im Internet sind das meist schon einige.

Wenn der SSH-Schlüssel funktioniert, schaltest du die Anmeldung mit Passwort ab und sperrst den direkten Root-Login mit Passwort.

  1. Halte ein zweites Terminal offen, in dem du schon angemeldet bist. Falls etwas schiefgeht, kommst du darüber wieder hinein.

  2. Bearbeite die Konfiguration. Auf aktuellen Systemen legst du eine eigene Datei an:

    Terminal-Fenster
    sudo nano /etc/ssh/sshd_config.d/10-haerten.conf
    PasswordAuthentication no
    PermitRootLogin prohibit-password

    prohibit-password erlaubt dem Root-Benutzer nur noch die Anmeldung mit Schlüssel. Wenn du nur mit deinem Benutzer arbeiten willst, nimm stattdessen PermitRootLogin no.

  3. Prüfe die Syntax und lade neu.

    Terminal-Fenster
    sudo sshd -t
    sudo systemctl reload sshd

    Unter Debian und Ubuntu heißt der Dienst ssh statt sshd: sudo systemctl reload ssh.

  4. Teste in einem neuen Terminal, ob die Anmeldung mit Schlüssel weiter klappt. Erst danach schließt du das alte Fenster.

Terminal-Fenster
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Bestätige die Frage mit Ja. Sicherheitsupdates werden dann automatisch installiert.

Auch mit Automatik solltest du ab und zu einloggen und prüfen, ob ein Neustart nötig ist, etwa nach einem Kernel-Update.

Backups sind beim VPS im Preis enthalten, du musst nichts dazubuchen. Du musst sie aber selbst anlegen. Ein Fehler beim Update oder ein gelöschter Ordner kann Daten sonst endgültig kosten.

  • Backups im Kundenkonto nutzen: Im Reiter Backups deines VPS legst du Backups an, stellst sie wieder her oder löschst sie. Über Geplante Aufgaben lässt sich ein Backup regelmäßig wiederholen, von täglich bis alle 3 Monate.
  • Selbst sichern: Kopiere wichtige Daten regelmäßig an einen anderen Ort, zum Beispiel mit rsync auf einen anderen Rechner oder mit einem Werkzeug wie restic.
  • Wiederherstellung testen: Ein Backup ist erst dann ein Backup, wenn du es einmal zurückgespielt hast.
Terminal-Fenster
rsync -avz --delete /var/www/ anna@backup-rechner:/sicherung/www/

Eine Sicherung auf demselben Server schützt nicht vor einem Ausfall dieses Servers. Bewahre mindestens eine Kopie woanders auf.

  • Installiere nur Software, die du brauchst, und entferne, was du nicht mehr nutzt.
  • Verwende pro Dienst ein eigenes starkes Passwort oder besser Schlüssel.
  • Lies Meldungen von Fail2ban und journalctl ab und zu, um Auffälligkeiten zu bemerken.
  • Prüfe mit sudo ss -tlnp, welche Programme auf welchen Ports lauschen.

Der DDoS-Schutz schützt das Netzwerk vor Überlastung durch Angriffe. Er ersetzt keine Firewall im System und hält keine Einbrüche durch schwache Passwörter oder veraltete Programme auf. Beides bleibt deine Aufgabe.

Schalte das System am besten ab, melde dich beim Support und sichere deine Daten. Installiere das System neu, statt es zu bereinigen, und ändere alle Passwörter, die auf dem Server lagen.

Das ist sicherer, wenn dein Benutzer sudo hat und du den Schlüssel getestet hast. Behalte aber einen Weg ins System: die Konsole im Reiter VNC im Kundenkonto funktioniert auch ohne SSH.