Die CIS Benchmarks (Center for Internet Security) bieten detaillierte Richtlinien, um Linux-Server nach anerkannten Sicherheitsstandards abzusichern. Durch die Umsetzung dieser Empfehlungen lassen sich Risiken minimieren, Best Practices umsetzen und Compliance-Anforderungen erfüllen. In diesem Tutorial erfahren Sie, wie Sie ein Linux-System nach CIS-Standards härten, inklusive praktischer CLI-Beispiele und konfigurativer Hinweise.
Systeminventarisierung und Basiskonfiguration
Bevor Anpassungen nach CIS erfolgen, sollten Sie die aktuelle Systemumgebung erfassen.
- Betriebssystemversion prüfen:
cat /etc/os-release lsb_release -a - Kernel-Version abfragen:
uname -r - Installierte Pakete dokumentieren:
dpkg -l # Debian/Ubuntu rpm -qa # RHEL/CentOS/Fedora - Aktive Dienste auflisten:
systemctl list-units --type=service --state=running
Benutzer- und Rechteverwaltung
Die CIS Benchmarks fordern, dass nur autorisierte Accounts existieren und administrative Rechte kontrolliert vergeben werden.
- Sudo-Zugriffe prüfen:
getent group sudo getent group wheel - Root-Login für SSH deaktivieren:
grep '^PermitRootLogin' /etc/ssh/sshd_config - Inaktive oder Standard-Benutzerkonten deaktivieren:
usermod -Lchage -E0 - Starke Passwortpolicy sicherstellen:
cat /etc/login.defs cat /etc/pam.d/common-password
Dateiberechtigungen und Filesystem-Härtung
Unzureichend gesicherte Dateien oder Verzeichnisse sind häufige Angriffspunkte.
- Wichtige Systemdateien prüfen:
ls -l /etc/passwd /etc/shadow /etc/group - Welt-schreibbare Dateien identifizieren:
find / -xdev -type f -perm -002 -ls - SUID/SGID-Dateien auditieren:
find / -xdev -type f ( -perm -4000 -o -perm -2000 ) -ls - Mount-Optionen nach CIS:
mount | grep nosuid mount | grep nodev mount | grep noexec
SSH und Remote Access härten
SSH ist das Standard-Zugriffsprotokoll; unsichere Konfigurationen erhöhen das Risiko.
- Root-Login und Passwortauthentifizierung deaktivieren:
PermitRootLogin no PasswordAuthentication no - Key-basierte Authentifizierung nutzen:
ssh-keygen -t ed25519 -C "admin@domain" - Idle-Timeout setzen:
ClientAliveInterval 300 ClientAliveCountMax 0 - Fail2ban oder ähnliche Mechanismen aktivieren, um Brute-Force zu verhindern.
Firewall und Netzwerkdienste absichern
Die Kontrolle offener Ports und aktiver Dienste ist zentral für die CIS-Härtung.
- Alle laufenden Dienste prüfen:
ss -tulnp - Unnötige Dienste deaktivieren:
systemctl disablesystemctl stop - Firewall-Regeln nach CIS konfigurieren:
ufw default deny incoming ufw default allow outgoing ufw enable - Ports explizit erlauben:
ufw allow 22/tcp # SSH ufw allow 80/tcp # HTTP ufw allow 443/tcp # HTTPS
Audit und Logging
Logs sind Grundlage für Security-Audits und Angriffsanalysen.
- Auditd installieren und konfigurieren:
apt install auditd systemctl enable auditd systemctl start auditd - Audit-Regeln nach CIS setzen:
auditctl -w /etc/passwd -p wa -k passwd_changes auditctl -w /etc/shadow -p wa -k shadow_changes - Journalctl prüfen:
journalctl -xe journalctl -u ssh.service - Logrotate prüfen, um Speicherverbrauch zu kontrollieren:
cat /etc/logrotate.conf logrotate -d /etc/logrotate.d/*
Kernel-Parameter (sysctl) härtung
Ein CIS-konformer Linux-Server passt Kernel-Parameter zur Sicherheitsverbesserung an.
- IP-Forwarding deaktivieren:
sysctl -w net.ipv4.ip_forward=0 - ICMP-Redirects deaktivieren:
sysctl -w net.ipv4.conf.all.accept_redirects=0 sysctl -w net.ipv4.conf.all.send_redirects=0 - Source-Routing deaktivieren:
sysctl -w net.ipv4.conf.all.accept_source_route=0 - Alle Änderungen dauerhaft in
/etc/sysctl.confspeichern.
Package- und Patchmanagement
Ein gehärtetes System ist nur sicher, wenn Software aktuell gehalten wird.
- Sicherheitsupdates installieren:
apt update && apt upgrade -y dnf update -y - Automatisierte Updates konfigurieren:
apt install unattended-upgrades dpkg-reconfigure unattended-upgrades - Nicht benötigte Pakete entfernen:
apt autoremove dnf autoremove
Container- und Virtualisierungshärtung
Falls Container eingesetzt werden, sollten sie ebenfalls nach CIS-Grundsätzen abgesichert werden.
- Rootless-Container bevorzugen (Podman, Docker Rootless Mode).
- Limits für Ressourcen und Zugriffe setzen:
docker run --memory="512m" --cpus="1" - Images auf Sicherheit prüfen:
docker scanpodman scan
Automatisierte Audit-Tools einsetzen
Tools helfen, CIS Benchmarks automatisch zu prüfen und Berichte zu erstellen.
- Lynis:
sudo lynis audit system - CIS-CAT:
java -jar CIS-CAT.jar -a -p-r report.html - OpenSCAP für Compliance-Checks:
oscap xccdf eval --profile xccdf_org.cisecurity.benchmarks_profile /usr/share/openscap/scap-yaml/cis.xml
Dokumentation und kontinuierliche Überprüfung
Die Umsetzung der CIS Benchmarks sollte dokumentiert und regelmäßig überprüft werden.
- Checkliste für durchgeführte Maßnahmen führen.
- Audit-Reports regelmäßig erstellen und analysieren.
- Neue Richtlinienversionen prüfen und Anpassungen vornehmen.
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.











