aslain.dev
0%
01 Hizmetler 02 Hakkımda 03 Projeler 04 Stack 05 Blog 06 İletişim
← Tüm makaleler Tools & DevOps

VPS-Sicherheits-Checkliste: Erste Einrichtungsschritte

Die Uhr läuft, sobald du einen neuen VPS bekommst: Jeder mit dem Internet verbundene Server trifft schon wenige Minuten nach dem Livegang auf automatisierte Bot-Scans. Eine solide Grundlage für VPS-Sicherheit legst du in diesen ersten Stunden, noch bevor du auch nur eine einzige Anwendung darauf installierst. In diesem Artikel teile ich die Checkliste, die ich der Reihe nach durchgehe, wenn ich einen frischen Ubuntu/Debian-Server für die Produktion vorbereite: ein privilegierter Benutzer, SSH-Härtung, eine Firewall, fail2ban, automatische Sicherheitsupdates und ein paar grundlegende gute Gewohnheiten.

1. Erste Anmeldung und System aktualisieren

Dein Anbieter übergibt dir meist ein root-Passwort oder einen SSH-Schlüssel. Die allererste Aufgabe ist, die Paketliste zu aktualisieren und installierte Pakete einzuspielen. Alte Pakete bringen bekannte Schwachstellen mit; das Aktualisieren ist der günstigste Sicherheitsgewinn überhaupt.

apt update && apt upgrade -y

Kam ein Kernel- oder Bibliotheksupdate herein, starte den Server einmal neu: reboot. Das ist auch ein guter Moment, um Zeitzone und Hostnamen einzustellen.

2. Einen privilegierten (sudo-)Benutzer statt root anlegen

Alles als root zu erledigen bedeutet, dass ein einziger falscher Befehl oder eine gekaperte Sitzung das ganze System lahmlegen kann. Lege deinen eigenen Benutzer an und füge ihn der sudo-Gruppe hinzu:

adduser aslain
usermod -aG sudo aslain

Wechsle zum neuen Benutzer und führe sudo whoami aus, um die Rechte zu bestätigen. Ab jetzt erledigst du die tägliche Arbeit mit diesem Benutzer, und gleich deaktivieren wir die direkte root-Anmeldung vollständig.

3. Einen SSH-Schlüssel nutzen, das Passwort fallen lassen

Die passwortbasierte Anmeldung ist ein offenes Tor für Brute-Force-Angriffe. Nutze stattdessen ein SSH-Schlüsselpaar. Hast du auf deiner eigenen Maschine keinen Schlüssel, erzeuge einen:

ssh-keygen -t ed25519 -C "aslain@laptop"

Kopiere den öffentlichen Schlüssel auf den Server:

ssh-copy-id aslain@SERVER_IP

Kannst du dich jetzt mit ssh aslain@SERVER_IP anmelden, ohne nach einem Passwort gefragt zu werden, funktioniert der Schlüssel. Deaktiviere die Passwortanmeldung nicht, bevor du den Schlüsselzugang geprüft hast, sonst sperrst du dich womöglich selbst aus.

4. Die SSH-Konfiguration härten

Die SSH-Härtung ist einer der Schritte mit dem höchsten Ertrag im Bereich VPS-Sicherheit. Bearbeite /etc/ssh/sshd_config (oder eine eigene Datei unter /etc/ssh/sshd_config.d/):

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

Der Reihe nach: Diese Einstellungen blockieren die direkte Root-Anmeldung, deaktivieren die Passwortauthentifizierung vollständig und erlauben nur den Zugang per Schlüssel. Starte nach der Änderung den Dienst neu:

systemctl restart ssh

Wichtiger Tipp: Öffne ein neues Terminal und versuche, dich erneut zu verbinden, aber lass die bestehende Sitzung offen. Hast du einen Fehler gemacht, kannst du über die offene Sitzung zurück und ihn korrigieren. Den Standardport 22 zu ändern ist Security by Obscurity; es bietet keinen echten Schutz, reduziert aber das Log-Rauschen — du kannst es tun, aber es ersetzt weder eine Firewall noch die Schlüsselanmeldung.

5. Eine Firewall einrichten und nur die nötigen Ports öffnen

Unter Ubuntu/Debian ist ufw (Uncomplicated Firewall) das praktischste Werkzeug. Die Logik ist einfach: alles verbieten, nur das Nötige erlauben.

ufw default deny incoming
ufw default allow outgoing
ufw allow OpenSSH
ufw enable

Willst du einen Webserver betreiben, öffne auch HTTP und HTTPS:

ufw allow 80/tcp
ufw allow 443/tcp

Prüfe den Zustand mit ufw status verbose. Vorsicht: Stelle sicher, dass die SSH-Regel vorhanden ist, bevor du die Firewall aktivierst, sonst sperrst du dich aus.

6. Automatisierte Angriffe mit fail2ban blockieren

Selbst nach dem Wechsel zur Schlüsselanmeldung füllen sich deine Logs mit fehlgeschlagenen Anmeldeversuchen. fail2ban sperrt eine IP nach einer festgelegten Zahl von Fehlversuchen vorübergehend:

apt install fail2ban -y
systemctl enable --now fail2ban

Die Standardwerte bieten einen vernünftigen SSH-Schutz. Zum Anpassen lege eine Datei /etc/fail2ban/jail.local an (bearbeite nicht jail.conf selbst — sie wird beim Update überschrieben):

[sshd]
enabled = true
maxretry = 4
bantime = 1h

Gesperrte IPs siehst du mit fail2ban-client status sshd.

7. Automatische Sicherheitsupdates aktivieren

Menschen vergessen Updates; die Automatisierung nicht. Nutze unattended-upgrades, um Sicherheitspatches von selbst einzuspielen:

apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades

Standardmäßig installiert dieses Paket nur Updates aus den Sicherheits-Repositorys, sodass du keine unerwarteten großen Versionssprünge erlebst. Dennoch solltest du bei kritischen Systemen die Updates auch selbst regelmäßig durchsehen.

8. Ein paar grundlegende gute Gewohnheiten

  • Zeitsynchronisation: Führe timedatectl set-ntp true aus, damit die Uhr genau bleibt; das ist wichtig für Zertifikate und Logs.
  • Geringste Rechte: Lass Dienste unter ihren eigenen eingeschränkten Benutzern laufen, nicht als root.
  • Backups: Sicherheit heißt nicht nur, Angriffe abzuwehren, sondern auch, an einem schlechten Tag wiederherstellen zu können. Überspringe weder die Snapshot-Funktion deines Anbieters noch regelmäßige Datensicherungen.
  • Überwachung: Wirf hin und wieder mit journalctl und last einen Blick auf die Anmeldeprotokolle.

Sind diese Schritte erst zur Gewohnheit geworden, dauert es weniger als eine halbe Stunde, einen neuen Server auf ein sicheres Fundament zu stellen.

Häufige Fragen

Muss ich den SSH-Port von 22 ändern?

Das ist nicht erforderlich. Den Port zu ändern reduziert das automatisierte Log-Rauschen, ist aber keine echte Sicherheitsschicht. Der echte Schutz besteht aus Schlüsselanmeldung, deaktivierter Passwortauthentifizierung und einer Firewall; eine Portänderung ersetzt diese nicht.

Was passiert, wenn ich die Passwortanmeldung deaktiviere und meinen Schlüssel verliere?

Dann bist du komplett vom Server ausgesperrt. Sichere deinen Schlüssel also sicher und kenne den webbasierten Konsolenzugang (VNC/Recovery), den die meisten Anbieter bieten; darüber kannst du dich anmelden und einen neuen Schlüssel hinzufügen.

Machen fail2ban und die Firewall dieselbe Arbeit?

Nein. Die Firewall entscheidet, welche Ports offen sind; fail2ban erkennt wiederholtes bösartiges Verhalten (etwa fehlgeschlagene Anmeldungen) auf diesen offenen Ports und sperrt die betreffende IP vorübergehend. Beide ergänzen einander.

Brauchst du Hilfe beim Einrichten eines Servers? Ich unterstütze bei der Härtung von Linux-Servern, der Einrichtung von Game-/Webservern und DevOps-Aufgaben. Um dein Projekt zu besprechen, nimm Kontakt auf.

Bu kategorideki tüm yazılar →

Devamı için