Drop all Capabilities: Minimal-Privilege Profiles in der Praxis

Das Prinzip des Minimal-Privilege Designs ist ein zentraler Bestandteil moderner Container-Security-Strategien. In Docker bedeutet dies insbesondere, dass Container nur die Fähigkeiten (Capabilities) erhalten, die sie für ihre Funktion benötigen. Standardmäßig erben Container eine Vielzahl von Linux-Capabilities, die in vielen Szenarien nicht erforderlich und potenziell riskant sind. Durch das explizite Droppen aller nicht benötigten Capabilities („drop…

Seccomp Profiling: Eigene Profile erstellen und testen

Seccomp (Secure Computing Mode) ist ein zentrales Werkzeug für die Absicherung von Containern unter Linux. Es ermöglicht die Kontrolle, welche Systemaufrufe ein Prozess ausführen darf. Standardmäßig nutzt Docker ein vordefiniertes Seccomp-Profil, das die meisten kritischen Syscalls blockiert, aber noch genügend Funktionen für typische Container-Workloads erlaubt. Eigene Seccomp-Profile bieten die Möglichkeit, diese Kontrolle feingranular an spezifische…

AppArmor Profile für Compose: Service-spezifische Policies

AppArmor ist ein Mandatory Access Control (MAC) System unter Linux, das Prozesse restriktiv auf Dateisystem-, Netzwerk- und IPC-Zugriffe beschränkt. Für Container ermöglicht AppArmor die Definition von Service-spezifischen Policies, um die Angriffsfläche zu minimieren und potenziell gefährliche Aktionen zu verhindern. In Kombination mit Docker Compose können so differenzierte Sicherheitsprofile pro Service eingesetzt werden, ohne den gesamten…

SELinux + Container: Labels, Volumes und Troubleshooting

SELinux (Security-Enhanced Linux) ist ein Mandatory Access Control (MAC) Framework, das in modernen Linux-Distributionen wie RHEL, CentOS und Fedora integriert ist. Für Container-Umgebungen bietet SELinux die Möglichkeit, Prozesse strikt zu isolieren, Dateizugriffe zu kontrollieren und unbefugte Interaktionen zwischen Containern oder zwischen Host und Container zu verhindern. In Kombination mit Docker oder Podman ist ein tiefes…

Docker Network Troubleshooting: tcpdump in Namespaces und veth Debugging

Netzwerkprobleme in Docker-Umgebungen sind oft komplex, da Container eigene Netzwerk-Namespaces nutzen, veth-Paare erzeugen und Docker-interne NAT-Regeln anwenden. Um Connectivity-Probleme, Paketverluste oder Latenzen zu analysieren, sind Tools wie tcpdump und das Debugging von veth-Interfaces essenziell. Dieses Tutorial erklärt, wie Sie Netzwerktraffic in Container-Namespaces überwachen, typische Fehlerquellen erkennen und systematisch debuggen können. 1. Docker Netzwerk-Namespaces verstehen Jeder…

Docker Socket Exposure: Threat Model und sichere Alternativen

Der Docker Daemon Socket (/var/run/docker.sock) ist die primäre Schnittstelle, über die Docker-Clients mit dem Docker-Daemon kommunizieren. Das direkte Mounten dieses Sockets in Containern wird häufig verwendet, um Container-Management-Tools oder CI/CD-Runner Zugriff auf den Host-Docker zu gewähren. Allerdings birgt diese Praxis erhebliche Sicherheitsrisiken, da ein Container mit Zugriff auf den Socket volle Root-Rechte auf dem Host…

MTU & Fragmentierung in Overlay: PMTUD Blackholes verhindern

Overlay-Netzwerke in Docker, insbesondere in Swarm- oder Multi-Host-Setups, bringen eine zusätzliche Schicht zwischen den Containern und dem physischen Netzwerk mit sich. Diese Virtualisierung erhöht die Komplexität, wenn es um MTU und Fragmentierung geht. Falsch konfigurierte MTU-Werte können zu PMTUD (Path MTU Discovery) Blackholes führen, wodurch Pakete verschwinden, Verbindungen hängen bleiben und TCP-Streams einfrieren. Dieses Tutorial…

Image Vulnerability Scanning: CVEs priorisieren statt nur zählen

Die Sicherheitsbewertung von Container-Images ist ein zentraler Bestandteil moderner DevOps- und Cloud-Native-Strategien. Viele Teams neigen dazu, einfach die Anzahl der gefundenen CVEs (Common Vulnerabilities and Exposures) zu zählen, um den Sicherheitszustand eines Images zu beurteilen. Dieses Vorgehen ist jedoch trügerisch: Nicht alle Schwachstellen sind gleich kritisch, und die reine Zahl liefert kein präzises Risiko- oder…

conntrack Tuning für Container Hosts: Table Size, Hash, Timeouts

Container-Hosts betreiben in der Regel zahlreiche TCP- und UDP-Verbindungen gleichzeitig. Jedes dieser Verbindungen wird in der Linux-Netzwerk-Stack über die conntrack-Tabelle nachverfolgt. Eine Standardkonfiguration kann bei hoher Containerdichte schnell an ihre Grenzen stoßen, was zu Paketverlusten, Timeouts oder Verbindungsabbrüchen führt. Dieses Tutorial erklärt, wie man die conntrack-Tabelle optimiert, um stabilen Netzwerkbetrieb für Container-Hosts sicherzustellen. 1. Grundlagen:…

Runtime Security: Falco/eBPF und Alerting für Container Hosts

Die Sicherung von Container-Hosts und deren laufenden Containern über Runtime Security Monitoring ist ein zentraler Bestandteil moderner DevOps- und Cloud-Native-Strategien. Während statische Scans von Images und SBOMs Schwachstellen aufdecken, bieten Tools wie Falco in Kombination mit eBPF die Möglichkeit, Aktivitäten während der Laufzeit zu überwachen und ungewöhnliches Verhalten in Echtzeit zu erkennen. In diesem Artikel…