Server-Sicherheit Grundlagen: Essentials für dein VPS
Ein ungesicherter Server ist eine offene Einladung für Hacker. Bei Theory7 sehen wir täglich Versuche, Server durch Brute-Force-Angriffe, Exploits und andere Methoden zu kompromittieren. Mit den richtigen Sicherheitsmaßnahmen kannst du den Großteil dieser Angriffe blockieren. In diesem Leitfaden behandeln wir die Essentials der Serversicherheit.
Warum Serversicherheit entscheidend ist
Ein gehackter Server kann zu führen:
- Datenverlust - Wichtige Dateien gelöscht oder verschlüsselt
- Spam-Versand - Dein Server versendet Spam, deine IP landet auf Blacklists
- Malware-Hosting - Dein Server hostet schädliche Inhalte
- DDoS-Angriffe - Dein Server wird verwendet, um andere anzugreifen
- Rufschädigung - Deine Domain und IP werden kompromittiert
Vorbeugen ist viel besser als heilen. Es ist entscheidend, deinen Server vor diesen Bedrohungen zu schützen, nicht nur um deine eigenen Daten zu sichern, sondern auch um die Integrität deiner Kunden und Benutzer zu gewährleisten.
SSH absichern
SSH ist der wichtigste Zugang zu deinem Server. Schütze diesen gründlich.
SSH-Port ändern
Der Standardport 22 wird ständig gescannt. Ändere ihn auf einen anderen Port:
sudo nano /etc/ssh/sshd_config
Suche die Zeile Port 22 und ändere sie zum Beispiel in:
Port 2222
Starte SSH nach der Änderung neu:
sudo systemctl restart sshd
Vergiss nicht, die Firewall für den neuen Port anzupassen. Du kannst dies tun, indem du die Firewall-Regeln aktualisierst, damit der neue Port zugänglich ist.
Root-Login deaktivieren
Deaktiviere den direkten Root-Login. Arbeite mit einem normalen Benutzer und verwende sudo für administrative Aufgaben:
sudo nano /etc/ssh/sshd_config
Ändere:
PermitRootLogin no
Dies verhindert, dass Hacker einfach Zugriff auf das Root-Konto erhalten, das ein häufiges Ziel ist.
SSH-Keys verpflichten
Deaktiviere die Passwort-Authentifizierung und verwende nur SSH-Keys:
PasswordAuthentication no
PubkeyAuthentication yes
Generiere zuerst einen SSH-Key auf deinem lokalen Computer und kopiere den öffentlichen Schlüssel auf den Server, bevor du die Passwort-Authentifizierung deaktivierst. Dies erhöht die Sicherheit erheblich, da es für Angreifer schwieriger ist, ohne den richtigen Schlüssel Zugriff zu erhalten.
Firewall mit UFW konfigurieren
UFW (Uncomplicated Firewall) macht die Firewall-Verwaltung einfach und zugänglich für alle.
UFW installieren und Basisregeln
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
Diese Grundeinstellungen sorgen dafür, dass alle eingehenden Verbindungen blockiert werden, es sei denn, sie sind ausdrücklich erlaubt.
Ports öffnen
Öffne nur die Ports, die du benötigst:
# SSH (angepasster Port)
sudo ufw allow 2222/tcp
# Webverkehr
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# DirectAdmin
sudo ufw allow 2222/tcp
Firewall aktivieren
sudo ufw enable
Überprüfe den Status:
sudo ufw status verbose
Dies gibt dir einen Überblick darüber, welche Ports offen sind und welche Regeln aktiv sind.
Fail2ban gegen Brute-Force
Fail2ban überwacht Protokolldateien und blockiert IPs, die wiederholt bei Anmeldeversuchen scheitern. Dies ist eine effektive Methode, um Brute-Force-Angriffe zu verhindern.
Installation
sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
SSH-Jail konfigurieren
Erstelle eine lokale Konfiguration:
sudo nano /etc/fail2ban/jail.local
Füge hinzu:
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
Dies blockiert eine IP für 1 Stunde nach 3 fehlgeschlagenen Anmeldeversuchen innerhalb von 10 Minuten. Dies kann helfen, Angreifer abzuschrecken und deinen Server sicherer zu machen.
sudo systemctl restart fail2ban
Systemupdates
Veraltete Software enthält oft bekannte Schwachstellen, die von Angreifern ausgenutzt werden können.
Manuelle Updates
sudo apt update && sudo apt upgrade -y
Es ist wichtig, dein System regelmäßig zu aktualisieren, um die neuesten Sicherheitspatches zu erhalten.
Automatische Sicherheitsupdates
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
Durch das Aktivieren automatischer Updates stellst du sicher, dass du immer die neuesten Sicherheitspatches hast, ohne daran denken zu müssen.
Zusätzliche Sicherheitstipps
Unbenutzte Dienste deaktivieren
Jeder laufende Prozess ist ein potenzieller Angriffsvektor. Deaktiviere ungenutzte Dienste:
sudo systemctl list-unit-files --type=service --state=enabled
sudo systemctl disable dienstname
Starke Passwörter durchsetzen
Konfiguriere Passwort-Richtlinien mit PAM oder verwende nur SSH-Keys. Dies hilft, schwache Passwörter zu vermeiden, die leicht zu erraten sind.
Protokollüberwachung
Überprüfe regelmäßig deine Protokolle auf verdächtige Aktivitäten:
sudo tail -f /var/log/auth.log
sudo tail -f /var/log/syslog
Durch regelmäßige Überprüfung deiner Protokolle kannst du verdächtige Aktivitäten rechtzeitig bemerken und Maßnahmen ergreifen.
Zwei-Faktor-Authentifizierung
Erwäge 2FA für SSH mit Google Authenticator oder ähnlichem. Dies fügt eine zusätzliche Sicherheitsebene hinzu, sodass selbst wenn ein Angreifer dein Passwort hat, er sich immer noch nicht ohne den zweiten Faktor anmelden kann.
Sicherheitscheckliste
Verwende diese Checkliste bei jedem neuen Server:
- SSH-Port geändert
- Root-Login deaktiviert
- SSH-Keys konfiguriert
- Passwortauth deaktiviert
- UFW-Firewall aktiv
- Fail2ban installiert
- Automatische Updates aktiv
- Unnötige Dienste deaktiviert
Verwandte Artikel
- LiteSpeed-Webserver-Konfiguration
- Serverressourcen überwachen
- VPS erste Schritte nach dem Kauf
- Firewall-Konfiguration (UFW)
Mehr Informationen über VPS-Server bei Theory7
Brauchst du Hilfe?
Wir sind für dich da! Hast du Fragen oder stößt du auf Probleme? Unser Support-Team hilft dir gerne persönlich weiter. Schicke uns eine Nachricht über das Ticketsystem - wir antworten normalerweise innerhalb weniger Stunden und denken gerne mit dir mit.
0 van 0 vonden dit nuttig