Site icon bintorosoft.com

Container Host Setup: Docker/Podman sicher, rootless und auditierbar

Python Logo: Digital Art on a Code Background

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

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

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

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:

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

Exit mobile version