Zum Hauptinhalt springen
Zurück zur Kategorie

10 grundlegende Schritte für die Serversicherheit

10 grundlegende Schritte zur Sicherung eines Linux-Servers: SSH-Schlüsselauthentifizierung, Firewall, Fail2ban, automatische Updates, DDoS-Schutz und mehr. Ein Leitfaden mit Befehlen und Erklärungen.

Lesezeit: 12 Min Sicherheit
serversicherheitlinux-sicherheitsshfirewallfail2banddos-schutz
Autor
REXE Teknoloji Network & Security Team
Redaktion
REXE Teknoloji Technical Editorial
Erstveröffentlichung
Letzte Aktualisierung

10 grundlegende Schritte für die Serversicherheit

Wenn Sie einen neuen Linux-Server einrichten, ist die Standardkonfiguration nicht für die Sicherheit optimiert. Jeder Server, der dem Internet ausgesetzt ist, wird innerhalb von Minuten zum Ziel automatisierter Scan-Tools. Dieser Leitfaden erklärt die 10 grundlegenden Schritte, die Sie implementieren müssen, um Ihren Server zu sichern, komplett mit Befehlen.

Achten Sie darauf, den Zugang zu Ihrem Server beim Anwenden dieser Schritte nicht zu verlieren. Besonders beim Ändern der SSH-Konfiguration halten Sie Ihre aktuelle Sitzung offen und testen Sie mit einem neuen Terminalfenster.

Schritt 1: SSH-Schlüsselauthentifizierung und Deaktivierung der Passwort-Anmeldung

Passwortbasierte SSH-Anmeldung ist anfällig für Brute-Force-Angriffe. Die Verwendung eines SSH-Schlüsselpaars ist viel sicherer.

SSH-Schlüsselpaar erstellen (auf lokalem Rechner)

hljs bash
# Ed25519-Schlüssel erstellen
ssh-keygen -t ed25519 -C "server-name@rexe"

# Oder wenn Sie RSA verwenden möchten
ssh-keygen -t rsa -b 4096 -C "server-name@rexe"

Öffentlichen Schlüssel auf den Server kopieren

hljs bash
# Vom lokalen Rechner ausführen
ssh-copy-id -i ~/.ssh/id_ed25519.pub benutzer@server-ip

Passwort-Anmeldung deaktivieren

hljs bash
# /etc/ssh/sshd_config bearbeiten
sudo nano /etc/ssh/sshd_config

# Diese Zeilen ändern:
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no

# SSH-Dienst neu starten
sudo systemctl restart sshd

Schritt 2: Firewall-Konfiguration (UFW)

hljs bash
# UFW installieren
sudo apt install ufw -y

# Standardrichtlinien festlegen
sudo ufw default deny incoming
sudo ufw default allow outgoing

# SSH erlauben
sudo ufw allow 22/tcp

# Webserver-Ports
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# UFW aktivieren
sudo ufw enable

Schritt 3: Fail2ban-Installation und -Konfiguration

hljs bash
# Fail2ban installieren
sudo apt install fail2ban -y

# Konfigurationsdatei erstellen
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
hljs ini
[DEFAULT]
bantime  = 3600
findtime = 600
maxretry = 5

[sshd]
enabled = true
maxretry = 3
bantime  = 86400

Schritt 4: Automatische Sicherheitsupdates

hljs bash
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades

Schritt 5: Deaktivierung ungenutzter Dienste

hljs bash
# Laufende Dienste auflisten
sudo systemctl list-units --type=service --state=running

# Offene Ports prüfen
sudo ss -tlnp

# Unnötige Dienste stoppen
sudo systemctl stop bluetooth
sudo systemctl disable bluetooth

Schritt 6: Starke Passwörter und Zwei-Faktor-Authentifizierung

hljs bash
sudo apt install libpam-pwquality -y
minlen = 12
ucredit = -1
lcredit = -1
dcredit = -1
ocredit = -1

Schritt 7: Regelmäßige Backups

hljs bash
# Lokales Backup mit rsync
rsync -avz --delete /var/www/ /backup/www/

# Cron-Job für automatisches Backup
0 2 * * * rsync -avz /var/www/ /backup/www/

# Datenbank-Backup
mysqldump -u root -p --all-databases | gzip > /backup/db_$(date +%Y%m%d).sql.gz

Wenden Sie die 3-2-1-Backup-Regel an: 3 Kopien, 2 verschiedene Medien, 1 anderer Standort.

Schritt 8: Log-Überwachung

hljs bash
tail -f /var/log/auth.log
tail -f /var/log/syslog
grep "Failed password" /var/log/auth.log | tail -20

Schritt 9: DDoS-Schutz

hljs bash
# SYN-Flood-Schutz
sudo iptables -A INPUT -p tcp --syn -m limit \
  --limit 1/s --limit-burst 3 -j ACCEPT
sudo iptables -A INPUT -p tcp --syn -j DROP

# Verbindungsanzahl-Limit (pro IP)
sudo iptables -A INPUT -p tcp --dport 80 -m connlimit \
  --connlimit-above 50 -j REJECT

Softwarebasierter DDoS-Schutz kann bei großangelegten Angriffen unzureichend sein. Die Path.net-Infrastruktur von REXE bietet DDoS-Filterung auf Netzwerkebene und bereinigt Angriffsdatenverkehr, bevor er Ihren Server erreicht.

Schritt 10: SSL/TLS-Konfiguration

hljs bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
hljs nginx
server {
    listen 443 ssl http2;
    ssl_protocols TLSv1.2 TLSv1.3;
    add_header Strict-Transport-Security "max-age=63072000" always;
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
}

Sicherheits-Checkliste

  • SSH-Schlüsselauthentifizierung aktiv, Passwort-Anmeldung deaktiviert
  • Root-SSH-Anmeldung deaktiviert
  • Firewall konfiguriert
  • Fail2ban installiert und läuft
  • Automatische Sicherheitsupdates aktiv
  • Ungenutzte Dienste deaktiviert
  • Starke Passwortrichtlinie angewendet
  • 2FA aktiviert
  • Regelmäßiger Backup-Plan erstellt
  • Log-Überwachung konfiguriert
  • DDoS-Schutz aktiv
  • SSL/TLS-Zertifikat installiert

Häufig gestellte Fragen

Was soll ich tun, wenn ich mich zum ersten Mal mit meinem Server verbinde?

Folgen Sie diesen Schritten bei der ersten Verbindung: 1) System aktualisieren (apt update && apt upgrade), 2) Neuen sudo-Benutzer erstellen, 3) SSH-Schlüsselauthentifizierung einrichten, 4) Root-SSH-Anmeldung deaktivieren, 5) UFW-Firewall konfigurieren, 6) Fail2ban installieren.

Können Fail2ban und UFW zusammen verwendet werden?

Ja, Fail2ban und UFW funktionieren perfekt zusammen. Fail2ban erkennt fehlgeschlagene Anmeldeversuche und blockiert Angreifer-IPs automatisch über UFW.

Verbessert das Ändern des SSH-Ports die Sicherheit?

Teilweise. Das Ändern des SSH-Ports blockiert die große Mehrheit der automatisierten Scan-Tools. Dies gilt jedoch als 'Security through Obscurity' und ersetzt keine echten Sicherheitsmaßnahmen. SSH-Schlüsselauthentifizierung und Fail2ban sind viel effektiver.

Wie erkenne ich, ob mein Server angegriffen wurde?

Anzeichen für verdächtige Aktivitäten: viele fehlgeschlagene Anmeldeversuche in /var/log/auth.log, unerwartet hohe CPU/RAM-Auslastung, unbekannte Netzwerkverbindungen, unbekannte Cron-Jobs, geänderte Systemdateien.

Was soll ich tun, wenn es einen DDoS-Angriff auf meinen VDS-Server gibt?

Identifizieren Sie zunächst Art und Quelle des Angriffs. Wenn der Angriff anhält, informieren Sie sofort das REXE-Support-Team. Der DDoS-Schutz von REXE über Path.net filtert Angriffe auf Netzwerkebene.

Verwandte Artikel

Malware & Rootkit-Scan: rkhunter und ClamAV Anleitung

Schützen Sie Ihren Linux-Server vor Malware und Rootkits. rkhunter und ClamAV Installation, Scan-Konfiguration, Ergebnisinterpretation, geplante Scans und Incident-Response-Anleitung.

14 min
malwarerootkitrkhunter

Fail2Ban Konfiguration: SSH Brute-Force-Schutz Anleitung

Schützen Sie Ihren Server vor SSH-Brute-Force-Angriffen mit Fail2Ban. Installation, jail.local-Konfiguration, Nginx/Apache-Jails, IP-Whitelist, Ban-Überwachung und E-Mail-Benachrichtigungen.

13 min
fail2banbrute-forcessh-sicherheit
NetzwerkverkehrEingehend GbpsAusgehend Gbps