Tutorial zur Härtung eines Linux-Servers

Ein gehärteter Linux-Server ist besser gegen Angriffe geschützt und bietet eine sicherere Umgebung für Anwendungen und Daten. Hier ist ein umfassendes Tutorial zur Härtung eines Linux-Servers unter Debian/Ubuntu:

1. System aktualisieren

Stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist.

sudo apt update && sudo apt upgrade -y

2. Benutzer und Berechtigungen

a. Root-Anmeldung deaktivieren

Bearbeiten Sie die Datei /etc/ssh/sshd_config und setzen Sie PermitRootLogin auf no.

sudo nano /etc/ssh/sshd_config

Fügen Sie die folgende Zeile hinzu oder ändern Sie sie:

PermitRootLogin no

Starten Sie den SSH-Dienst neu:

sudo systemctl restart ssh

b. Nicht benötigte Benutzer entfernen

Listen Sie alle Benutzer auf und entfernen Sie diejenigen, die nicht benötigt werden.

cut -d: -f1 /etc/passwd
sudo deluser BENUTZERNAME

3. SSH sichern

a. SSH-Port ändern

Ändern Sie den Standard-SSH-Port (22) auf einen anderen Port, z.B. 2222.

Bearbeiten Sie /etc/ssh/sshd_config und ändern Sie den Port.

sudo nano /etc/ssh/sshd_config

Fügen Sie die folgende Zeile hinzu oder ändern Sie sie:

Port 2222

Starten Sie den SSH-Dienst neu:

sudo systemctl restart ssh

b. Passwort-Authentifizierung deaktivieren

Erlauben Sie nur die Authentifizierung mit Schlüsselpaaren.

Bearbeiten Sie /etc/ssh/sshd_config und setzen Sie PasswordAuthentication auf no.

sudo nano /etc/ssh/sshd_config

Fügen Sie die folgende Zeile hinzu oder ändern Sie sie:

PasswordAuthentication no

Starten Sie den SSH-Dienst neu:

sudo systemctl restart ssh

4. Firewall konfigurieren

a. UFW installieren und konfigurieren

Installieren Sie ufw (Uncomplicated Firewall).

sudo apt install ufw -y

Erlauben Sie nur die notwendigen Verbindungen, z.B. SSH auf Port 2222, HTTP und HTTPS.

sudo ufw allow 2222/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Aktivieren Sie die Firewall:

sudo ufw enable

Überprüfen Sie den Status:

sudo ufw status

5. Fail2ban installieren

Installieren Sie fail2ban, um Brute-Force-Angriffe zu verhindern.

sudo apt install fail2ban -y

Konfigurieren Sie fail2ban durch Bearbeiten der Datei /etc/fail2ban/jail.local.

sudo nano /etc/fail2ban/jail.local

Fügen Sie die Konfiguration für SSH hinzu:

[sshd]
enabled = true
port = 2222
logpath = /var/log/auth.log
maxretry = 5

Starten Sie den Dienst neu:

sudo systemctl restart fail2ban

6. Unnötige Dienste deaktivieren

Deaktivieren Sie alle unnötigen Dienste, um die Angriffsfläche zu reduzieren.

Listen Sie alle aktiven Dienste auf:

sudo systemctl list-unit-files --type=service --state=enabled

Deaktivieren Sie nicht benötigte Dienste:

sudo systemctl disable SERVICE_NAME
sudo systemctl stop SERVICE_NAME

7. Logwatch installieren

Installieren Sie logwatch, um tägliche Log-Berichte zu erhalten.

sudo apt install logwatch -y

Konfigurieren Sie logwatch durch Bearbeiten der Datei /etc/cron.daily/00logwatch.

sudo nano /etc/cron.daily/00logwatch

Ändern Sie die Konfiguration entsprechend Ihren Bedürfnissen, z.B. die E-Mail-Adresse, an die Berichte gesendet werden sollen.

8. Automatische Updates konfigurieren

Installieren Sie das Paket unattended-upgrades:

sudo apt install unattended-upgrades -y

Konfigurieren Sie automatische Updates:

sudo dpkg-reconfigure unattended-upgrades

Bearbeiten Sie die Datei /etc/apt/apt.conf.d/50unattended-upgrades, um sicherzustellen, dass Sicherheitsupdates automatisch installiert werden.

9. Weitere Sicherheitsmaßnahmen

  • AppArmor: Stellen Sie sicher, dass AppArmor aktiviert ist, um Anwendungen in eingeschränkten Umgebungen laufen zu lassen.
  • Antivirus: Installieren Sie einen Antivirus wie clamav und führen Sie regelmäßige Scans durch.
  • Überwachung: Richten Sie ein Überwachungssystem wie Nagios oder Zabbix ein, um den Serverstatus und Sicherheitsvorfälle zu überwachen.

Durch diese Maßnahmen können Sie die Sicherheit Ihres Debian/Ubuntu-Servers erheblich erhöhen. Stellen Sie sicher, dass Sie regelmäßig Sicherheitsupdates installieren und Ihre Konfigurationen überprüfen, um neue Bedrohungen abzuwehren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert