Dieser Artikel bietet essentielle Schritte zur Sicherung Ihres Linux-Servers durch die Implementierung von Best Practices in der Authentifizierung, Netzwerkkonfiguration und Systemwartung. Durch das Befolgen dieser Richtlinien können Sie das Risiko unerlaubten Zugriffs erheblich reduzieren und sicherstellen, dass Ihr Server robust gegen gängige Bedrohungen ist.

1. SSH-Zugang sichern

1.1 Passwortauthentifizierung deaktivieren

Zur Verbesserung der Sicherheit sollten Sie die Passwortauthentifizierung für SSH deaktivieren und stattdessen eine schlüsselbasierte Authentifizierung verwenden.

  1. Generieren Sie ein SSH-Schlüsselpaar auf Ihrem lokalen Rechner, falls Sie keins besitzen:
  2. ssh-keygen -t rsa -b 4096
  3. Kopieren Sie den öffentlichen Schlüssel auf Ihren Server:
  4. ssh-copy-id user@your_server_ip
  5. Bearbeiten Sie die SSH-Daemon-Konfigurationsdatei:
  6. nano /etc/ssh/sshd_config
  7. Setzen Sie PasswordAuthentication no und stellen Sie sicher, dass PubkeyAuthentication yes.
  8. Starten Sie den SSH-Dienst neu, um die Änderungen anzuwenden:
  9. sudo systemctl restart sshd

1.2 Standard-SSH-Port ändern

Durch das Ändern des Standard-SSH-Ports können Sie automatisierte Angriffe reduzieren.

  1. Bearbeiten Sie die SSH-Daemon-Konfigurationsdatei:
  2. nano /etc/ssh/sshd_config
  3. Setzen Sie eine neue Portnummer, z. B. Port 2222.
  4. Starten Sie den SSH-Dienst neu, um die Änderungen anzuwenden:
  5. sudo systemctl restart sshd
  6. Aktualisieren Sie Ihre Firewall-Regeln, um Datenverkehr auf dem neuen Port zuzulassen.

2. UFW-Firewall konfigurieren

Die Uncomplicated Firewall (UFW) bietet eine einfache Möglichkeit, die Firewall-Einstellungen zu verwalten.

  1. Installieren Sie UFW, falls es noch nicht installiert ist:
  2. sudo apt-get install ufw
  3. Erlauben Sie SSH-Zugang auf Ihrem gewählten Port (z. B. 2222):
  4. sudo ufw allow 2222/tcp
  5. Aktivieren Sie UFW:
  6. sudo ufw enable
  7. Überprüfen Sie den Status von UFW, um sicherzustellen, dass es aktiv und korrekt konfiguriert ist:
  8. sudo ufw status verbose

3. Fail2Ban installieren

Fail2Ban scannt Logdateien auf verdächtige Aktivitäten und blockiert bösartige IP-Adressen.

  1. Installieren Sie Fail2Ban:
  2. sudo apt-get install fail2ban
  3. Erstellen Sie eine benutzerdefinierte Konfigurationsdatei, indem Sie die Standard-Jail-Konfiguration kopieren:
  4. sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  5. Bearbeiten Sie die benutzerdefinierte Konfigurationsdatei, um Einstellungen nach Bedarf anzupassen:
  6. nano /etc/fail2ban/jail.local
  7. Starten und aktivieren Sie Fail2Ban:
  8. sudo systemctl start fail2ban
    sudo systemctl enable fail2ban

4. Automatische Sicherheitsupdates aktivieren

Das Halten Ihres Systems auf dem neuesten Stand ist entscheidend für die Sicherheit.

  1. Installieren Sie das Paket unattended-upgrades:
  2. sudo apt-get install unattended-upgrades
  3. Aktivieren Sie automatische Updates, indem Sie die Konfigurationsdatei bearbeiten:
  4. nano /etc/apt/apt.conf.d/20auto-upgrades
  5. Fügen Sie oder ändern Sie die folgenden Zeilen hinzu, um Upgrades zu aktivieren:
  6. Apt::Periodic::Update-Package-Lists "1";
    Apt::Periodic::Unattended-Upgrade "1";

5. Unbenutzte Dienste entfernen

Durch das Deaktivieren unnotwendiger Dienste wird die Angriffsoberfläche Ihres Servers reduziert.

  1. Listen Sie alle laufenden Dienste auf:
  2. sudo systemctl list-units --type=service
  3. Identifizieren und beenden Sie unbenutzte Dienste. Zum Beispiel, um Apache zu deaktivieren:
  4. sudo systemctl stop apache2
    sudo systemctl disable apache2

Fehlerbehebung

  • SSH-Verbindungsprobleme nach Änderung des Ports: Stellen Sie sicher, dass Ihr SSH-Client konfiguriert ist, den neuen Port zu verwenden und dass UFW Datenverkehr auf diesem Port zulässt.
  • Fail2Ban funktioniert nicht wie erwartet: Überprüfen Sie die Fail2Ban-Logs auf Fehler: sudo tail -f /var/log/fail2ban.log
  • Fehlerhafte automatische Updates: Stellen Sie sicher, dass Ihr System konfiguriert ist, ein zuverlässiges Paketrepository zu verwenden und überprüfen Sie die Update-Logs: cat /var/log/unattended-upgrades/unattended-upgrades.log