Containerisierung hat sich als Standardtechnologie für die Anwendungsbereitstellung etabliert. Ein sicherer und auditierbarer Container-Host ist entscheidend, um Sicherheitslücken zu vermeiden, Compliance zu gewährleisten und Multi-Tenant-Umgebungen sauber zu betreiben. In diesem Tutorial werden Best Practices für Docker- und Podman-Hosts vorgestellt, inklusive rootless Betrieb, Security-Hardening und Auditierung.
Grundlagen und Architektur
Bevor Container gestartet werden, sollte die Host-Architektur überprüft und angepasst werden. Container nutzen Linux-Kernelfeatures wie namespaces, cgroups und seccomp. Ein sicherer Host reduziert die Angriffsfläche und isoliert Container voneinander.
Kernelanforderungen und Sicherheitsfeatures
uname -r
# Kernel >= 5.10 empfohlen für rootless und cgroup v2
grep CONFIG_NAMESPACES /boot/config-$(uname -r)
grep CONFIG_CGROUPS /boot/config-$(uname -r)
Namespaces und cgroups sind erforderlich für Container-Isolation. Seccomp, AppArmor oder SELinux erhöhen die Sicherheit zusätzlich.
Rootless Container Setup
Rootless Container minimieren Risiken durch privilegierte Prozesse. Docker und Podman unterstützen rootless Mode, wodurch Container ohne Rootrechte laufen.
Podman rootless starten
sudo loginctl enable-linger $USER
podman system migrate
podman info | grep rootless
Podman nutzt user namespaces, sodass Host-Rootrechte nicht an Containerprozesse weitergegeben werden.
Docker rootless Mode
dockerd-rootless-setuptool.sh install
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock
docker info | grep Rootless
Rootless Docker reduziert Angriffsvektoren, benötigt jedoch cgroup v2 und aktuelle Kernel.
Storage und Overlay-Netzwerke
Container-Storage sollte sicher und isoliert sein. Overlay-Netzwerke bieten Netzwerk-Isolation und verhindern unerwünschte Kommunikation zwischen Containern.
Storage-Driver und Berechtigungen
docker info | grep Storage
podman info | grep GraphRoot
# Empfehlung: OverlayFS oder fstab-Optionen für rootless
- Volumes nur für benötigte Container mounten
- Keine sensiblen Host-Verzeichnisse direkt einbinden
- Setzen von mount-options wie nosuid,nodev,noexec
Netzwerkisolation
docker network create --driver bridge secure-net
podman network create secure-net
docker network inspect secure-net
Bridge-Netzwerke mit definierten Subnetzen verhindern unkontrollierten Traffic zwischen Containern.
Seccomp, AppArmor und SELinux
Security Profiles limitieren Systemaufrufe und erhöhen die Host- und Container-Sicherheit.
Seccomp Profile nutzen
docker run --security-opt seccomp=/etc/docker/seccomp.json alpine
podman run --security-opt seccomp=/etc/containers/seccomp.json alpine
Standard-Profile blockieren gefährliche Syscalls wie ptrace oder mknod.
AppArmor / SELinux aktivieren
sudo aa-status
sudo sestatus
docker run --security-opt apparmor=container-default nginx
podman run --security-opt label=type:container_t nginx
Security-Labels isolieren Container und verhindern Hostzugriffe.
Auditing und Logging
Ein auditierbarer Container-Host erfasst alle relevanten Aktionen, Zugriffe und Änderungen, um Compliance zu gewährleisten.
Auditd konfigurieren
sudo auditctl -w /var/lib/containers/ -p wa -k container-changes
sudo ausearch -k container-changes
sudo aureport -f
Auditd überwacht Änderungen an Container-Storage, Konfigurationen und kritischen Dateien.
Container-Logs zentral sammeln
docker logs
podman logs
# Forwarding zu journald oder ELK Stack empfohlen
- Systemd-Journald für zentrale Logging-Sammlung
- Optional Fluent Bit oder Vector für Remote Aggregation
- Log Rotation und Retention Policies einhalten
RBAC und User Management
Benutzerrechte sollten minimal gesetzt werden. Rootless Container und dedizierte Service-Accounts reduzieren Risiken.
Benutzergruppen und sudo
groupadd dockerusers
usermod -aG dockerusers alice
sudo visudo
# Nur erforderliche Rechte erlauben
Rootless Container sollten nur für Mitglieder spezieller Gruppen zugänglich sein. Keine Container als Root starten.
Automatisierte Compliance Checks
Regelmäßige Überprüfung der Host- und Containerkonfiguration erhöht Sicherheit und Stabilität.
OpenSCAP / CIS Benchmarks
oscap xccdf eval --profile cis_docker_linux --results results.xml docker-cis-xccdf.xml
Automatisierte Scans helfen, Abweichungen zu erkennen und Sicherheitslücken frühzeitig zu schließen.
Best Practices zusammengefasst
- Rootless Container bevorzugen
- Namespaces, cgroups v2 und seccomp aktivieren
- AppArmor oder SELinux Security-Labels einsetzen
- Storage und Netzwerk minimal zugänglich konfigurieren
- Auditd und zentrale Logging-Mechanismen aktivieren
- Benutzerrechte restriktiv setzen, keine Root-Zugriffe
- Regelmäßige Compliance-Checks (CIS/OpenSCAP) implementieren
- Container-Images nur aus vertrauenswürdigen Repositories verwenden
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.











