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

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.