Linux Server Hardening direkt nach der Installation: Die Must-Do Liste

Direkt nach der Installation eines Linux-Servers sollte ein strukturiertes Hardening durchgeführt werden, um Sicherheit, Stabilität und Wartbarkeit zu gewährleisten. Dieser Leitfaden richtet sich an Einsteiger, IT-Studierende und Junior Network Engineers und listet die Must-Do Maßnahmen auf, die nach einer frischen Installation zwingend umgesetzt werden sollten.

System-Updates und Paketmanagement

Ein aktuelles System bildet die Basis für Sicherheit und Stabilität. Vor allen weiteren Maßnahmen sollten alle Pakete auf den neuesten Stand gebracht werden.

Update-Befehle

sudo apt update && sudo apt upgrade -y    # Debian/Ubuntu
sudo dnf update -y                          # Rocky/AlmaLinux/CentOS 8+

Automatisierte Updates einrichten

  • Debian/Ubuntu: unattended-upgrades
  • RHEL-basierte Systeme: dcron + dnf-automatic

Benutzer- und Rechteverwaltung

Root-Zugriff sollte minimal verwendet werden, stattdessen sollten Administratoren über sudo arbeiten.

Neuen Administrator anlegen

sudo adduser adminuser
sudo usermod -aG sudo adminuser     # Debian/Ubuntu
sudo usermod -aG wheel adminuser    # RHEL-basiert

Root-Login deaktivieren

sudo nano /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
sudo systemctl restart sshd

SSH-Härtung

SSH ist der primäre Remote-Zugang und sollte unbedingt gesichert werden.

Empfohlene Maßnahmen

  • Port ändern (z. B. von 22 auf 2222)
  • Schlüsselbasierte Authentifizierung
  • Fail2Ban zur Brute-Force-Prävention
  • Protokollversion 2 erzwingen
sudo nano /etc/ssh/sshd_config
Port 2222
PermitRootLogin no
PasswordAuthentication no
Protocol 2
sudo systemctl restart sshd

sudo apt install fail2ban -y    # Debian/Ubuntu
sudo dnf install fail2ban -y    # RHEL-basiert
sudo systemctl enable fail2ban

Firewall konfigurieren

Eine restriktive Firewall verhindert ungewollte Zugriffe auf Dienste.

Debian/Ubuntu mit UFW

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp
sudo ufw enable
sudo ufw status verbose

RHEL-basiert mit Firewalld

sudo systemctl enable firewalld
sudo systemctl start firewalld
sudo firewall-cmd --set-default-zone=drop
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Deaktivieren unnötiger Dienste

Jeder aktive Dienst erhöht die Angriffsfläche. Unnötige Dienste sollten deaktiviert oder entfernt werden.

CLI-Beispiele

sudo systemctl list-unit-files --type=service
sudo systemctl disable 
sudo systemctl stop 

Audit, Logging und Monitoring

Kontinuierliche Überwachung ist essenziell, um Sicherheitsvorfälle frühzeitig zu erkennen.

Wichtige Logs

  • /var/log/auth.log oder /var/log/secure
  • /var/log/syslog oder /var/log/messages
  • Journalctl für Systemd-Logs

CLI-Beispiele

sudo tail -f /var/log/auth.log
sudo journalctl -xe
sudo ausearch -m USER_LOGIN

System-Härtung

Selbst bei minimal installierten Systemen können zusätzliche Härtungen die Sicherheit erhöhen.

Empfohlene Maßnahmen

  • SELinux oder AppArmor aktivieren
  • Unnötige SUID-/SGID-Binaries prüfen
  • TCP-Wrapper und Host-based Access Control einsetzen
  • Regelmäßige Sicherheitsupdates und Patching
  • Systemaudit-Tools wie Lynis oder OpenSCAP nutzen

Netzwerk-Härtung

Netzwerkservices sollten auf das Minimum beschränkt werden, um Angriffsflächen zu reduzieren.

Tipps

  • ICMP nur gezielt erlauben
  • Offene Ports minimieren
  • SSH-Zugriff auf interne Netze beschränken
  • VPN oder Jump-Host für Remotezugriff einsetzen

Backup und Wiederherstellung

Backups sind ein integraler Bestandteil der Systemhärtung, um Datenverlust vorzubeugen.

CLI-Beispiele

sudo tar -czvf /backup/etc-backup-$(date +%F).tar.gz /etc
sudo rsync -avz /home/ /backup/home/

Automatisierung & regelmäßige Wartung

Automatisierte Prozesse gewährleisten Konsistenz und reduzieren menschliche Fehler.

Beispiele

  • Crontab für Updates und Backups
  • Logrotation für System-Logs
  • Health-Checks für kritische Dienste
  • Versionskontrolle von Konfigurationen mit Git

Crontab-Beispiel

sudo crontab -e
0 2 * * * /usr/bin/apt update && /usr/bin/apt upgrade -y
0 3 * * * /usr/bin/rsync -avz /home/ /backup/home/

Zusammenfassung

Ein frisch installierter Linux-Server ist ohne Härtung anfällig. Mit Updates, Benutzer- und SSH-Härtung, Firewall-Konfiguration, Deaktivierung unnötiger Dienste, Logging, Security-Härtung, Netzwerk-Restriktionen und Backup entsteht eine stabile, sichere und wartbare Serverbasis, die sich für produktive Dienste eignet.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles