Kubernetes Pod Security ist der Sammelbegriff für die eingebauten Sicherheitsstandards und den zugehörigen Admission Controller Pod Security Admission (PSA). Damit legt der Cluster fest, welche Sicherheitsanforderungen ein Pod erfüllen muss, bevor er starten darf. Pod Security ist der offizielle Nachfolger der inzwischen entfernten PodSecurityPolicy (PSP).
Die drei Pod Security Standards
Kubernetes definiert drei Sicherheitsprofile, die je nach Anwendungsfall gewählt werden:
- privileged – keine Einschränkungen; gedacht für System-Pods, die tief ins System greifen müssen, etwa CNI- oder Storage-Plugins.
- baseline – minimale Schutzregeln: keine privilegierten Container, kein Zugriff auf Host-Netzwerk, Host-PID- oder Host-IPC-Namespace, keine NET_RAW-Capability und keine erlaubte Privilegienausweitung (allowPrivilegeEscalation).
- restricted – die strengste Stufe: alles aus baseline plus Ausführung als Nicht-Root-User (runAsNonRoot), Wegfall aller Linux-Capabilities (drop: ALL), ein seccomp-Profil (RuntimeDefault) und nur eingeschränkte Volume-Typen ohne hostPath.
Pod Security Admission (PSA)
Die Durchsetzung übernimmt der eingebaute Admission Controller Pod Security Admission: Er prüft jeden neuen Pod gegen das gewählte Profil und lehnt Verstöße ab. PSA war ab Kubernetes 1.23 Beta und ist seit 1.25 allgemein verfügbar (GA). Die alte PodSecurityPolicy (PSP) wurde in 1.21 als veraltet markiert und ist seit 1.25 vollständig entfernt. Im Gegensatz zu PSP mutiert PSA Pods nie, sondern lehnt sie ab, warnt oder protokolliert sie.
Die Zuordnung geschieht über Labels am Namespace:
kubectl label ns default pod-security.kubernetes.io/enforce=baseline
Die drei Modi sind enforce (Pod wird abgelehnt), warn (nur Warnung) und audit (Eintrag im Audit-Log).
Härtung in der Praxis
Pod Security ist eine Verteidigungsschicht neben anderen: SecurityContext-Einstellungen konfigurieren die Rechte jedes Containers, NetworkPolicies begrenzen den Datenverkehr zwischen Pods. Eine schrittweise Einführung nutzt zuerst warn und audit, bevor enforce aktiviert wird.
Verwandte Grundlagen: Kubernetes, kubectl-Befehle.