Docker Bench Security ist ein Open-Source-Skript, das die Sicherheit von Docker-Hosts und Containern anhand der CIS-Docker-Benchmark-Richtlinien überprüft. Es analysiert Konfigurationen, Berechtigungen, Netzwerk- und Container-Settings und liefert einen umfassenden Bericht über potenzielle Sicherheitsrisiken. In diesem Tutorial erfahren Sie, wie Docker Bench Security installiert, ausgeführt und interpretiert wird, um Ihre Umgebung nach Best Practices abzusichern.
Voraussetzungen
Bevor Docker Bench Security genutzt werden kann, sollte der Host einige Voraussetzungen erfüllen:
- Docker Engine installiert und korrekt konfiguriert
- Zugriff auf den Host mit Root-Rechten oder via sudo
- Git für das Klonen des Repositories
- Netzwerkzugriff für das Herunterladen der Images
Installation und Start
Docker Bench Security wird direkt als Container ausgeführt, ohne dass eine separate Installation notwendig ist.
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
sudo sh docker-bench-security.sh
- Das Skript prüft sowohl Docker-Host als auch laufende Container
- Root-Rechte sind notwendig, da viele Checks System- und Containerkonfigurationen einsehen
- Es werden Empfehlungen für Konfigurationen, Berechtigungen und Netzwerke ausgegeben
Docker Bench Security als Container ausführen
Alternativ kann das Skript direkt als Container gestartet werden, ohne Repository zu klonen:
docker run -it --net host --pid host --userns host
--cap-add audit_control
-v /var/lib:/var/lib
-v /var/run/docker.sock:/var/run/docker.sock
-v /etc:/etc:ro
-v /usr/bin/docker-containerd:/usr/bin/docker-containerd:ro
-v /usr/bin/docker-runc:/usr/bin/docker-runc:ro
--label docker_bench_security
docker/docker-bench-security
- Bind-Mounts geben Zugriff auf relevante Systempfade
- –net host und –pid host erlauben die Überprüfung von Netzwerk- und Prozesskonfigurationen
- Label hilft, den Container im Ergebnisbericht zu identifizieren
Ausgabe und Interpretation
Das Skript liefert einen ausführlichen Bericht, unterteilt in Kategorien wie Host Configuration, Docker Daemon, Container Images, Networking und Logging.
- [WARN]: Hinweise auf mögliche Sicherheitslücken
- [INFO]: Informationen ohne akuten Handlungsbedarf
- [PASS]: Konfiguration entspricht der CIS-Benchmark
Beispielausgabe
[INFO] 1 - Host Configuration
[WARN] 1.1 - Ensure that Docker is up-to-date
[PASS] 1.2 - Ensure a separate partition for containers exists
[INFO] 2 - Docker Daemon Configuration
[WARN] 2.1 - Ensure that the logging level is set to 'info'
- [WARN] Einträge zeigen Handlungsbedarf
- [PASS] Einträge entsprechen den Best Practices
- [INFO] Zusätzliche Hinweise für Administratoren
Wichtige Prüfbereiche
1. Host Configuration
- Kernel-Version und Security-Patches
- Richtige Partitionierung für Docker-Daten
- Minimal erforderliche Services aktiviert
2. Docker Daemon
- TLS für Remote API aktiviert
- Logging-Level konfiguriert
- Rootless Mode oder Benutzerrechte korrekt gesetzt
3. Container Images
- Nur signierte Images nutzen
- Keine Root-Container ohne Notwendigkeit
- Regelmäßige Updates und Scans
4. Container Runtime
- Capabilities auf Minimum reduzieren
- Read-only Filesystem einsetzen
- Healthchecks und Restart Policies implementieren
5. Networking
- Externe Ports minimieren
- Container nur in notwendigen Netzwerken verbinden
- Firewall-Regeln prüfen
6. Logging & Monitoring
- Zentrale Log-Speicherung konfigurieren
- Audit-Mechanismen aktivieren
- Monitoring-Lösungen wie Prometheus oder ELK nutzen
Integration in CI/CD
Docker Bench Security lässt sich in CI/CD-Pipelines einbinden, um bei jedem Build oder Deployment automatische Sicherheitschecks durchzuführen.
#!/bin/bash
docker run -it --net host --pid host --userns host
--cap-add audit_control
-v /var/lib:/var/lib
-v /var/run/docker.sock:/var/run/docker.sock
docker/docker-bench-security | tee bench-report.txt
- Pipeline generiert Bericht für Review
- Warnungen können automatisiert Alarme triggern
- Regelmäßige Prüfungen erhöhen Compliance
Best Practices
- Docker Bench Security regelmäßig ausführen, mindestens nach Updates
- Alle [WARN]-Einträge prüfen und Maßnahmen ergreifen
- Persistente Speicherung der Reports für Audits
- Healthchecks, Least Privilege und Seccomp/AppArmor ergänzend nutzen
- Rootless Docker und minimale Capabilities bevorzugen
- Regelmäßige Image-Scans und Updates implementieren
Zusammenfassung
Docker Bench Security bietet eine schnelle Möglichkeit, die Konformität von Hosts und Containern mit den CIS-Benchmarks zu prüfen. Durch die Kombination mit Least Privilege, Seccomp, AppArmor, Resource Limits und zentralisiertem Logging können Container-Umgebungen sicher, stabil und auditfähig betrieben werden.
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.

