CIS Benchmarks für Linux: Setup nach Standards härten

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 -L 
    chage -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 disable 
    systemctl 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.conf speichern.

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 scan 
    podman 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.

Related Articles