Linux Server abhärten

Erwartete Lesezeit: 5 minuten

Wie man einen Linux-Server abhärtet: Eine Schritt-für-Schritt-Anleitung

Das Absichern eines Linux-Servers ist ein essenzieller Bestandteil des Server-Managements, um Angriffe zu verhindern und sensible Daten zu schützen. In diesem Artikel führen wir Sie durch die wichtigsten Schritte zur Härtung eines Linux-Servers.


1. Updates und Patches

Stellen Sie sicher, dass Ihr Server auf dem neuesten Stand ist. Sicherheitslücken in Software werden oft durch Updates geschlossen. Verwenden Sie dazu die Paketmanager Ihres Linux-Systems:

sudo apt update && sudo apt upgrade -y   # Für Debian/Ubuntu-basierte Systeme
sudo yum update -y                       # Für CentOS/RHEL-basierte Systeme

Erwägen Sie die Einrichtung automatischer Updates:

  • Ubuntu: Installieren Sie das Paket unattended-upgrades.
  • CentOS: Nutzen Sie yum-cron.

2. SSH absichern

Da SSH häufig das primäre Tor zu einem Server ist, sollte es besonders gesichert werden:

  • Port ändern: Verändern Sie den Standardport (22), um automatisierte Angriffe zu reduzieren. Öffnen Sie die Datei /etc/ssh/sshd_config und ändern Sie die Zeile: Port 2222 # Beispiel auch nicht sicher, da ein bekannter Alternativport.
  • Root-Login deaktivieren: PermitRootLogin no
  • SSH-Schlüssel statt Passwörter verwenden: PasswordAuthentication no. Dieses erst setzen , wenn der Login über einen SSH Schlüssel funktioniert.

Generierung von SSH-Schlüsseln auf verschiedenen Betriebssystemen:

  • Linux/macOS: Führen Sie den folgenden Befehl im Terminal aus: ssh-keygen -t rsa -b 4096 -C "Ihr-Email-Adresse" Speichern Sie den Schlüssel im Standardverzeichnis (z. B. ~/.ssh/id_rsa) und setzen Sie optional ein Passwort.
  • Windows: Nutzen Sie ssh-keygen über PowerShell: ssh-keygen -t rsa -b 4096 -C "Ihr-Email-Adresse" Alternativ können Sie Tools wie PuTTYgen verwenden, um einen SSH-Schlüssel zu generieren.
  • Schlüssel auf den Server kopieren: Nutzen Sie ssh-copy-id oder kopieren Sie den öffentlichen Schlüssel manuell: ssh-copy-id -i ~/.ssh/id_rsa.pub benutzername@serveradresse
  • Fail2Ban einrichten: Dies hilft, brute-force-Angriffe zu blockieren:
    sudo apt install fail2ban # Ubuntu/Debian
    sudo yum install epel-release && sudo yum install fail2ban # CentOS/RHEL

3. Firewall konfigurieren

Nutzen Sie eine Firewall, um ungewünschte Zugriffe zu blockieren. UFW (Uncomplicated Firewall) ist benutzerfreundlich und effektiv:

sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp  # Erlaubt SSH über den neuen Port
sudo ufw enable

Für CentOS/RHEL verwenden Sie firewalld oder iptables.
Hier gilt: Immer nur notwendige Ports öffnen.


4. Benutzer- und Berechtigungsmanagement

  • Minimieren Sie die Anzahl der Benutzer: Entfernen Sie unnötige Benutzer und Gruppen.
    sudo userdel username
  • Sichere Passwörter erzwingen: Installieren Sie das Paket libpam-pwquality und konfigurieren Sie die Datei /etc/security/pwquality.conf.
  • Verwenden Sie die Prinzipien des geringsten Privilegs: Geben Sie Benutzern nur die Rechte, die sie benötigen: sudo usermod -aG sudo username

5. Dienste und Prozesse minimieren

Deaktivieren Sie nicht benötigte Dienste, um die Angriffsfläche zu reduzieren (aber bitte nicht ssh oder sshd , da Du sonst nicht mehr aufs System kommst , sofern du nicht direkt am Server arbeiten kannst 🙂 ):

sudo systemctl list-unit-files | grep enabled
sudo systemctl disable dienstname

6. Logs und Überwachung

System-Logs prüfen: Logs helfen dabei, verdächtige Aktivitäten zu identifizieren.

sudo less /var/log/auth.log # Für Ubuntu/Debian

sudo less /var/log/secure # Für CentOS/RHEL

Automatisierte Überwachung: Verwenden Sie Tools wie Logwatch, Auditd oder OSSEC.


7. Zusätzliche Sicherheitsmaßnahmen

  • SELinux aktivieren: sudo setenforce 1
  • Verschlüsselung: Verschlüsseln Sie sensible Daten mit Tools wie gpg oder LUKS.
  • Backup-Strategie: Regelmäßige Backups sind entscheidend für die Wiederherstellung nach einem Vorfall. Nutzen Sie Tools wie rsync oder BorgBackup.

Fazit

Die Härtung eines Linux-Servers ist ein kontinuierlicher Prozess, der Wachsamkeit und Regelmäßigkeit erfordert. Indem Sie die oben genannten Schritte befolgen, schaffen Sie eine solide Grundlage für die Sicherheit Ihres Servers. Denken Sie daran: Sicherheit ist kein Ziel, sondern eine andauernde Reise.