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.
- Generieren Sie ein SSH-Schlüsselpaar auf Ihrem lokalen Rechner, falls Sie keins besitzen:
- Kopieren Sie den öffentlichen Schlüssel auf Ihren Server:
- Bearbeiten Sie die SSH-Daemon-Konfigurationsdatei:
- Setzen Sie
PasswordAuthentication nound stellen Sie sicher, dassPubkeyAuthentication yes. - Starten Sie den SSH-Dienst neu, um die Änderungen anzuwenden:
ssh-keygen -t rsa -b 4096
ssh-copy-id user@your_server_ip
nano /etc/ssh/sshd_config
sudo systemctl restart sshd
1.2 Standard-SSH-Port ändern
Durch das Ändern des Standard-SSH-Ports können Sie automatisierte Angriffe reduzieren.
- Bearbeiten Sie die SSH-Daemon-Konfigurationsdatei:
- Setzen Sie eine neue Portnummer, z. B.
Port 2222. - Starten Sie den SSH-Dienst neu, um die Änderungen anzuwenden:
- Aktualisieren Sie Ihre Firewall-Regeln, um Datenverkehr auf dem neuen Port zuzulassen.
nano /etc/ssh/sshd_config
sudo systemctl restart sshd
2. UFW-Firewall konfigurieren
Die Uncomplicated Firewall (UFW) bietet eine einfache Möglichkeit, die Firewall-Einstellungen zu verwalten.
- Installieren Sie UFW, falls es noch nicht installiert ist:
- Erlauben Sie SSH-Zugang auf Ihrem gewählten Port (z. B. 2222):
- Aktivieren Sie UFW:
- Überprüfen Sie den Status von UFW, um sicherzustellen, dass es aktiv und korrekt konfiguriert ist:
sudo apt-get install ufw
sudo ufw allow 2222/tcp
sudo ufw enable
sudo ufw status verbose
3. Fail2Ban installieren
Fail2Ban scannt Logdateien auf verdächtige Aktivitäten und blockiert bösartige IP-Adressen.
- Installieren Sie Fail2Ban:
- Erstellen Sie eine benutzerdefinierte Konfigurationsdatei, indem Sie die Standard-Jail-Konfiguration kopieren:
- Bearbeiten Sie die benutzerdefinierte Konfigurationsdatei, um Einstellungen nach Bedarf anzupassen:
- Starten und aktivieren Sie Fail2Ban:
sudo apt-get install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local
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.
- Installieren Sie das Paket unattended-upgrades:
- Aktivieren Sie automatische Updates, indem Sie die Konfigurationsdatei bearbeiten:
- Fügen Sie oder ändern Sie die folgenden Zeilen hinzu, um Upgrades zu aktivieren:
sudo apt-get install unattended-upgrades
nano /etc/apt/apt.conf.d/20auto-upgrades
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.
- Listen Sie alle laufenden Dienste auf:
- Identifizieren und beenden Sie unbenutzte Dienste. Zum Beispiel, um Apache zu deaktivieren:
sudo systemctl list-units --type=service
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