Container basieren nicht auf einem einzelnen Schutzmechanismus, sondern auf einem Zusammenspiel mehrerer Kernel-Funktionen. Jede dieser Funktionen deckt einen anderen Aspekt ab: Syscall-Filterung, objektbasierte Zugriffskontrolle, profilbasierte Einschränkungen und die Zerlegung von Root-Rechten in einzelne Fähigkeiten. Erst die Kombination ergibt die Sicherheitsarchitektur, die Podman konsequent nutzt.
Diese Mechanismen wirken wie Filterstufen: Jede Schicht begrenzt, was ein Container tun darf – selbst dann, wenn er im eigenen Namespace „root“ ist. Die Kunst besteht darin, die Rollen der einzelnen Schichten zu verstehen und gezielt einzusetzen.
Seccomp (Secure Computing Mode) ist ein Syscall-Filter des Kernels. Er bestimmt, welche Systemaufrufe ein Prozess ausführen darf und welche blockiert werden. Container benötigen typischerweise nur einen Bruchteil der verfügbaren Syscalls.
Ein Seccomp-Profil:
read,
write, open,mount,
ptrace, reboot,Ablauf vereinfacht dargestellt:

Podman verwendet standardmäßig ein restriktives Seccomp-Profil. Selbst ein Prozess, der im Container als root läuft, kann damit nicht beliebige Kerneloperationen ausführen.
SELinux arbeitet labelbasiert. Jede Datei, jeder Prozess, jedes Netzwerkobjekt besitzt ein Label („Kontext“). Die Policy entscheidet:
Der Schutz wirkt unabhängig von UID/GID. Selbst wenn ein Prozess innerhalb des Containers Root-Rechte besitzt, darf er nur auf Ressourcen zugreifen, deren SELinux-Kontext dies explizit erlaubt.
Modell der Ebenen:
| Ebene | Bedeutung |
|---|---|
| UID/GID | Identität („Wer bin ich?“) |
| Capabilities | privilegierte Fähigkeiten („Welche Aktionen sind erlaubt?“) |
| SELinux | Ressourcenfreigaben („Auf was darf ich zugreifen?“) |
SELinux erzwingt damit ein objektbasiertes Sicherheitsmodell, das unabhängig von Nutzerrechten funktioniert.
AppArmor verfolgt im Vergleich zu SELinux einen pragmatischeren Ansatz. Statt Labels nutzt AppArmor pfadbasierte Profile. Ein Profil definiert:
Verstöße werden entweder blockiert oder im Log vermerkt. AppArmor ist einfach anzupassen und eignet sich besonders für Systeme, in denen schnelle Profilmodifikationen erforderlich sind.
Linux kennt seit vielen Jahren nicht mehr „root“ als unteilbares Privileg. Privilegierte Aktionen sind in einzelne Capabilities aufgespalten.
Beispiele:
CAP_NET_ADMIN – Netzwerkinterfaces manipulierenCAP_SYS_ADMIN – umfangreiche SystemoperationenCAP_SYS_PTRACE – andere Prozesse inspizierenCAP_MKNOD – Gerätedateien anlegenCAP_CHOWN – Datei-Besitzrechte ändernPodman entfernt standardmäßig fast alle Capabilities aus Containern. Dadurch ist „root im Container“ nicht mit vollständigen Systemprivilegien gleichzusetzen.
Gezieltes Hinzufügen erfolgt über:
podman run --cap-add=NET_BIND_SERVICE ...Damit lassen sich einzelne Fähigkeiten fein granular freischalten, ohne das Gesamtsystem zu öffnen.
Die effektive Sicherheit entsteht durch das Zusammenwirken aller Mechanismen. Ein Beispiel:
/etc schreiben → blockiert durch SELinux
oder AppArmor.Der Schutz ist schichtweise aufgebaut. Jede Schicht wirkt unabhängig und redundant.

Jeder Schritt muss bestanden werden. Die Kombination ergibt ein hochwirksames Verteidigungssystem.
Diese Mechanismen spielen bei vielen praktischen Anwendungsfällen eine wichtige Rolle:
Die Sicherheit entsteht durch das bewusste Zusammenspiel aller Schichten.
Seccomp, SELinux, AppArmor und Capabilities sind fest im Linux-Kernel verankerte Mechanismen. Podman nutzt sie konsistent und systematisch – nicht als Zusatzfunktion, sondern als Kernbestandteil seines Rootless- und Daemonless-Designs.
Damit entsteht ein Container-Modell, das Sicherheit durch technische Schichtung erreicht und sich zuverlässig in anspruchsvolle Umgebungen integrieren lässt.