KVM-Server absichern
Ein KVM-Server bietet dir viel Freiheit, aber auch viel Verantwortung. Du verwaltest das Betriebssystem selbst und bist dafür zuständig, den Server sicher zu betreiben.
In diesem Artikel zeigen wir dir grundlegende Maßnahmen, mit denen du deinen KVM-Server besser absichern kannst.
Warum Sicherheit wichtig ist
Ein öffentlich erreichbarer Server ist dauerhaft mit dem Internet verbunden. Dadurch können auch fremde Personen versuchen, sich mit deinem Server zu verbinden oder bekannte Schwachstellen auszunutzen.
Typische Risiken sind:
schwache Passwörter
veraltete Software
offene Ports
falsch konfigurierte Dienste
unsichere SSH- oder RDP-Zugänge
fehlende Firewall
keine Backups
kompromittierte Anwendungen
Ein sicher konfigurierter Server reduziert diese Risiken deutlich.
Verantwortung bei KVM-Servern
Bei einem KVM-Server hast du Root- oder Administrator-Zugriff. Das bedeutet, dass du viele Einstellungen selbst ändern kannst.
Gleichzeitig bist du auch selbst für dein System verantwortlich.
Dazu gehören unter anderem:
Betriebssystem aktuell halten
sichere Passwörter verwenden
Benutzerrechte sauber verwalten
Firewall einrichten
Dienste absichern
Backups erstellen
Logs prüfen
verdächtige Aktivitäten erkennen
Der Support kann dir bei Problemen helfen. Die Administration deines Betriebssystems und deiner installierten Software liegt jedoch grundsätzlich bei dir.
Betriebssystem aktuell halten
Sicherheitsupdates sind eine der wichtigsten Maßnahmen.
Veraltete Pakete oder Dienste können bekannte Sicherheitslücken enthalten. Diese werden häufig automatisch von Bots gesucht und ausgenutzt.
Debian und Ubuntu aktualisieren
Melde dich per SSH auf deinem Server an und führe die Updates aus.
Befehl: apt update
Danach installierst du verfügbare Updates.
Befehl: apt upgrade
Wenn Kernel-Updates oder wichtige Systemupdates installiert wurden, kann ein Neustart erforderlich sein.
Befehl: reboot
AlmaLinux und Rocky Linux aktualisieren
Bei AlmaLinux oder Rocky Linux nutzt du folgenden Befehl:
dnf update
Danach kannst du den Server bei Bedarf neu starten.
Befehl: reboot
Windows Server aktualisieren
Bei Windows Server solltest du regelmäßig Windows Update ausführen.
Öffne die Windows-Einstellungen.
Gehe zu Windows Update.
Suche nach Updates.
Installiere verfügbare Updates.
Starte den Server neu, falls erforderlich.
Sichere Passwörter verwenden
Schwache Passwörter sind eine häufige Ursache für kompromittierte Server.
Verwende für deinen Server ein eigenes, langes und zufälliges Passwort.
Ein sicheres Passwort sollte:
nicht bei anderen Diensten verwendet werden
mindestens 12 bis 16 Zeichen lang sein
Groß- und Kleinbuchstaben enthalten
Zahlen enthalten
Sonderzeichen enthalten
nicht aus Namen, Domains oder einfachen Wörtern bestehen
Beispiele für schlechte Passwörter:
passwordadmin123minecraftrootserver123deinedomain2024
Nutze am besten einen Passwortmanager. Damit kannst du für jeden Dienst ein eigenes Passwort speichern.
Standardzugänge prüfen
Viele Angriffe richten sich gegen bekannte Standardzugänge.
Typische Ziele sind:
SSH auf Port
22RDP auf Port
3389Datenbanken wie MySQL oder PostgreSQL
Weboberflächen von Adminpanels
FTP-Server
alte Testinstallationen
Prüfe regelmäßig, welche Dienste auf deinem Server laufen und welche Ports geöffnet sind.
Unter Linux kannst du offene Ports zum Beispiel so prüfen:
ss -tulpen
Wenn ein Dienst nicht benötigt wird, solltest du ihn deaktivieren oder deinstallieren.
Firewall einrichten
Eine Firewall steuert, welche Verbindungen zu deinem Server erlaubt sind.
Grundregel: Öffne nur Ports, die du wirklich brauchst.
Typische Ports sind:
22
SSH
80
HTTP
443
HTTPS
3389
Remote Desktop
25565
Minecraft Java
19132
Minecraft Bedrock
Wenn du einen Dienst nicht nutzt, sollte der entsprechende Port nicht erreichbar sein.
Firewall unter Linux mit UFW
UFW ist eine einfache Firewall für viele Linux-Systeme.
UFW installieren:
apt install ufw
SSH erlauben:
ufw allow 22/tcp
HTTP und HTTPS erlauben:
ufw allow 80/tcp
ufw allow 443/tcp
Firewall aktivieren:
ufw enable
Status prüfen:
ufw status
Wichtig: Erlaube SSH, bevor du die Firewall aktivierst. Wenn du SSH blockierst, kannst du dich möglicherweise nicht mehr normal mit deinem Server verbinden.
Firewall unter Windows Server
Bei Windows Server nutzt du die Windows Defender Firewall.
Öffne die Windows Defender Firewall.
Öffne Erweiterte Einstellungen.
Wähle Eingehende Regeln.
Erstelle eine neue Regel.
Wähle den benötigten Port.
Erlaube die Verbindung.
Wähle das passende Profil.
Vergib einen eindeutigen Namen.
Öffne nur Ports, die du wirklich benötigst.
SSH absichern
SSH ist der Standardzugang für Linux-Server.
Wenn SSH unsicher konfiguriert ist, kann dein Server leichter angegriffen werden.
SSH-Key statt Passwort verwenden
Ein SSH-Key ist sicherer als ein Passwort, wenn er korrekt verwendet wird.
Dabei meldest du dich nicht mit einem Passwort an, sondern mit einem privaten Schlüssel auf deinem Gerät.
Vorteile:
schwerer zu erraten als ein Passwort
besser gegen Brute-Force-Angriffe
kann zusätzlich mit einer Passphrase geschützt werden
SSH-Key erstellen
Auf Windows, macOS oder Linux kannst du im Terminal einen SSH-Key erstellen.
Befehl:
ssh-keygen -t ed25519
Danach wird ein privater und ein öffentlicher Schlüssel erzeugt.
Der öffentliche Schlüssel wird auf dem Server hinterlegt. Der private Schlüssel bleibt auf deinem Gerät.
Wichtig: Gib deinen privaten SSH-Key niemals weiter. Wer Zugriff auf deinen privaten Schlüssel hat, kann sich möglicherweise auf deinem Server anmelden.
SSH-Key auf dem Server hinterlegen
Der öffentliche Schlüssel wird auf dem Server in folgender Datei gespeichert:
~/.ssh/authorized_keys
Achte auf korrekte Rechte:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Passwort-Login für SSH deaktivieren
Wenn dein SSH-Key funktioniert, kannst du den Passwort-Login deaktivieren.
Öffne die SSH-Konfiguration:
nano /etc/ssh/sshd_config
Setze oder ändere folgenden Wert:
PasswordAuthentication no
Optional kannst du zusätzlich den direkten Root-Login deaktivieren:
PermitRootLogin no
Danach SSH neu starten:
systemctl restart ssh
Wichtig: Teste deinen SSH-Key in einem zweiten Terminalfenster, bevor du den Passwort-Login deaktivierst. Wenn die Key-Anmeldung nicht funktioniert, kannst du dich sonst aussperren.
Root-Login deaktivieren
Der direkte Login als root ist bequem, aber nicht immer empfehlenswert.
Besser ist:
normalen Benutzer anlegen
diesem Benutzer sudo-Rechte geben
direkten Root-Login deaktivieren
Benutzer anlegen:
adduser benutzername
Benutzer zur sudo-Gruppe hinzufügen:
usermod -aG sudo benutzername
Danach kannst du dich mit dem neuen Benutzer anmelden und administrative Befehle mit sudo ausführen.
SSH-Port ändern
Du kannst den SSH-Port ändern, um einfache automatische Angriffe auf Port 22 zu reduzieren.
Öffne die SSH-Konfiguration:
nano /etc/ssh/sshd_config
Ändere zum Beispiel:
Port 2222
Erlaube den neuen Port in der Firewall:
ufw allow 2222/tcp
Starte SSH neu:
systemctl restart ssh
Danach verbindest du dich so:
ssh benutzername@SERVER-IP -p 2222
Hinweis: Ein geänderter SSH-Port ersetzt keine echte Sicherheitskonfiguration. Verwende trotzdem sichere Passwörter, SSH-Keys und eine Firewall.
Fail2Ban installieren
Fail2Ban schützt Dienste wie SSH vor vielen fehlgeschlagenen Loginversuchen.
Installation unter Debian oder Ubuntu:
apt install fail2ban
Dienst aktivieren:
systemctl enable fail2ban
Dienst starten:
systemctl start fail2ban
Status prüfen:
systemctl status fail2ban
Fail2Ban erkennt wiederholte fehlgeschlagene Loginversuche und sperrt die betroffene IP-Adresse zeitweise.
RDP absichern
Bei Windows Server ist Remote Desktop häufig das wichtigste Angriffsziel.
Wenn du RDP verwendest, solltest du besonders auf Sicherheit achten.
Empfehlungen:
starkes Administrator-Passwort verwenden
unnötige Benutzer entfernen
Windows Updates installieren
Firewall-Regeln begrenzen
RDP nur für benötigte IP-Adressen erlauben, wenn möglich
Standardadministrator umbenennen
Ereignisanzeige regelmäßig prüfen
RDP-Port ändern
Der Standardport für RDP ist 3389.
Ein geänderter Port kann automatische Angriffe reduzieren, ersetzt aber keine echte Absicherung.
Wenn du den RDP-Port änderst, musst du auch die Firewall-Regeln anpassen.
Wichtig: Ändere den RDP-Port nur, wenn du weißt, was du tust. Eine falsche Einstellung kann dazu führen, dass du dich nicht mehr per Remote Desktop verbinden kannst.
Nur benötigte Dienste installieren
Installiere nur Software, die du wirklich brauchst.
Jede zusätzliche Software kann neue Sicherheitsrisiken schaffen.
Vermeide:
ungenutzte Webpanels
alte Testinstallationen
öffentlich erreichbare Datenbanken
nicht gepflegte Skripte
unbekannte Installationsscripts
unnötige FTP-Dienste
Wenn du Software nicht mehr nutzt, deinstalliere sie.
Datenbanken absichern
Datenbanken sollten in den meisten Fällen nicht öffentlich erreichbar sein.
MySQL, MariaDB oder PostgreSQL sollten nur dann über das Internet erreichbar sein, wenn es wirklich notwendig ist und sicher konfiguriert wurde.
Empfehlungen:
Datenbank nur lokal erreichbar machen
starke Datenbankpasswörter verwenden
eigene Benutzer pro Anwendung erstellen
keine Root-Datenbankzugänge für Anwendungen verwenden
regelmäßige Datenbank-Backups erstellen
Webserver absichern
Wenn du Webseiten auf deinem KVM-Server betreibst, solltest du auch den Webserver absichern.
Wichtige Punkte:
HTTPS verwenden
Software aktuell halten
nicht benötigte Testdateien entfernen
Dateirechte prüfen
Adminbereiche schützen
CMS wie WordPress regelmäßig aktualisieren
Plugins und Themes aktuell halten
alte Backups nicht öffentlich im Webverzeichnis speichern
SSL-Zertifikat verwenden
Für Webseiten solltest du HTTPS aktivieren.
Ein SSL-Zertifikat sorgt dafür, dass die Verbindung zwischen Besucher und Webseite verschlüsselt wird.
Für viele Webserver kann Let's Encrypt verwendet werden.
Certbot installieren:
apt install certbot
Für Nginx:
apt install python3-certbot-nginx
Für Apache:
apt install python3-certbot-apache
Backups erstellen
Sicherheit bedeutet nicht nur Schutz vor Angriffen. Auch Datenverlust gehört dazu.
Erstelle regelmäßig Backups.
Backups helfen bei:
versehentlichem Löschen
fehlerhaften Updates
defekter Konfiguration
kompromittierten Servern
beschädigten Datenbanken
fehlgeschlagenen Installationen
Was sollte gesichert werden?
Sichere je nach Nutzung:
Webseiten-Dateien
Datenbanken
Konfigurationsdateien
Anwendungsdaten
Docker-Volumes
Maildaten
wichtige Skripte
SSL-Zertifikate
eigene Projekte
Speichere Backups nicht nur auf demselben Server. Wenn der Server beschädigt oder kompromittiert wird, können lokale Backups ebenfalls betroffen sein.
Logs prüfen
Logs helfen dir, Probleme und Angriffe zu erkennen.
Wichtige Linux-Logs:
/var/log/auth.log
SSH- und Loginversuche
/var/log/syslog
allgemeine Systemmeldungen
journalctl
Systemdienste und Fehler
/var/log/nginx/
Nginx-Logs
/var/log/apache2/
Apache-Logs
Beispiele:
journalctl -xe
journalctl -u ssh
tail -f /var/log/auth.log
Bei Windows findest du wichtige Ereignisse in der Ereignisanzeige.
Offene Ports prüfen
Prüfe regelmäßig, welche Ports erreichbar sind.
Unter Linux:
ss -tulpen
Achte darauf, dass nur notwendige Dienste erreichbar sind.
Typische unnötige Risiken sind:
Datenbankport öffentlich offen
Adminpanel ohne Schutz erreichbar
Testserver öffentlich erreichbar
alte Dienste laufen weiter
FTP statt SFTP verwendet
Verdächtige Aktivitäten erkennen
Anzeichen für einen kompromittierten Server können sein:
ungewöhnlich hohe CPU-Auslastung
unbekannte Prozesse
viele fehlgeschlagene Logins
unbekannte Benutzerkonten
geänderte Systemdateien
ausgehender Spam
Beschwerden über Missbrauch
Server wird plötzlich langsam
unbekannte Dienste laufen
Firewall-Regeln wurden verändert
Wenn du solche Anzeichen bemerkst, solltest du schnell reagieren.
Was tun bei Verdacht auf Kompromittierung?
Wenn du glaubst, dass dein Server kompromittiert wurde:
Trenne unnötige Dienste vom Internet.
Sichere wichtige Logs.
Ändere Passwörter nicht nur auf dem Server, sondern auch bei betroffenen Diensten.
Prüfe Benutzerkonten und SSH-Keys.
Prüfe laufende Prozesse.
Prüfe Cronjobs und Systemdienste.
Sichere wichtige Daten.
Setze den Server im Zweifel sauber neu auf.
Spiele nur saubere Backups wieder ein.
Wichtig: Wenn ein Server kompromittiert wurde, reicht es oft nicht, nur einzelne Dateien zu löschen. Ein vollständiges Neuaufsetzen ist häufig die sicherste Lösung.
Sicherheitscheckliste
Prüfe nach der Einrichtung deines KVM-Servers mindestens folgende Punkte:
Betriebssystem ist aktuell
sichere Passwörter gesetzt
SSH-Key eingerichtet
unnötige Dienste deaktiviert
Firewall aktiviert
nur benötigte Ports geöffnet
Root-Login geprüft
Fail2Ban installiert
Backups eingerichtet
wichtige Logs bekannt
Webanwendungen aktuell
Datenbanken nicht unnötig öffentlich erreichbar
RDP oder SSH abgesichert
Zugangsdaten sicher gespeichert
Support kontaktieren
Wenn du Hilfe bei einem Sicherheitsproblem benötigst, kontaktiere den Support.
Gib dabei möglichst genau an:
Betriebssystem
betroffene IP-Adresse
betroffener Dienst
genaue Fehlermeldung
Zeitpunkt des Problems
welche Änderungen zuletzt vorgenommen wurden
ob du noch Zugriff per SSH, RDP oder VNC hast
welche Maßnahmen du bereits versucht hast
Sicherheit: Sende niemals Passwörter, private SSH-Keys, API-Tokens oder andere geheime Zugangsdaten an den Support.
Zuletzt aktualisiert