Zum Hauptinhalt springen

Blogs

Pod Security Admission verstehen: Kubernetes-Pods sicher betreiben

Mit der Abschaffung der Pod Security Policies (PSP) in Kubernetes 1.21 musste eine neue Methode her, um Pods sicher zu betreiben. Kubernetes hat daraufhin das Pod Security Admission (PSA) eingeführt – eine standardisierte und flexiblere Lösung, um Sicherheitsrichtlinien für Pods durchzusetzen.

Doch was genau ist PSA, wie funktioniert es, und warum ist es für Unternehmen essenziell, die Kubernetes sicher und konform mit Regularien wie NIS2 oder BSI IT-Grundschutz betreiben wollen? In diesem Beitrag geben wir einen umfassenden Überblick.

 

Warum wurde Pod Security Admission eingeführt?

Die bisherigen Pod Security Policies (PSP) boten Cluster-Administratoren die Möglichkeit, detaillierte Sicherheitsregeln für Pods zu definieren. Dazu gehörte:

  • Einschränkung von Root-Zugriffen

  • Kontrolle von Host-Dateisystemzugriffen

  • Netzwerk- und Volume-Einschränkungen

Allerdings waren PSPs kompliziert zu verwalten und nicht flexibel genug, weshalb sie in Kubernetes 1.25 entfernt wurden.

Das neue Pod Security Admission-Modell ersetzt PSPs durch ein einfacheres, aber dennoch leistungsstarkes Verfahren zur Durchsetzung von Sicherheitsrichtlinien auf Namespace-Ebene.

 

Die Funktionsweise von Pod Security Admission

PSA ist ein Admission Controller, der prüft, ob Pods den Sicherheitsanforderungen eines Namespaces entsprechen. Dabei unterscheidet PSA drei vordefinierte Sicherheitsstufen:

1. Baseline (Grundlegender Schutz)

  • Verhindert offensichtliche Sicherheitsrisiken

  • Blockiert z. B. Root-Rechte, Host-Namespace-Zugriff und privilegierte Eskalationen

  • Geeignet für allgemeine Anwendungen

2. Restricted (Strikte Sicherheit)

  • Erzwingt Best Practices wie „Run as Non-Root“

  • Nutzt ein Read-Only Root Filesystem und verhindert unnötige Volume-Mounts

  • Ideal für sicherheitskritische Anwendungen mit sensiblen Daten

3. Privileged (Volle Rechte)

  • Deaktiviert Sicherheitsbeschränkungen

  • Wird nur für Infrastruktur- und Systempods verwendet, die tiefen Cluster-Zugriff benötigen

 

Sicherheitsrichtlinien pro Namespace definieren

Ein wesentlicher Vorteil von PSA ist die feingranulare Steuerung auf Namespace-Ebene. Statt wie bei PSPs für den gesamten Cluster zu gelten, können verschiedene Sicherheitsstufen pro Namespace festgelegt werden.

So funktioniert es:

Sicherheitsstufen über Labels zuweisen

Namespaces werden mit Labels versehen, um die jeweiligen Sicherheitsrichtlinien zu definieren:

metadata:
  labels:
    pod-security.kubernetes.io/enforce: 'restricted'
 

Diese Einstellung sorgt dafür, dass in diesem Namespace nur Pods erstellt werden dürfen, die den Restricted-Regeln entsprechen.

Audit- und Warnmodi nutzen

Bevor Richtlinien enforced werden, können sie in einem Testmodus aktiviert werden:

metadata:
  labels:
    pod-security.kubernetes.io/enforce: 'baseline'
    pod-security.kubernetes.io/audit: 'restricted'
    pod-security.kubernetes.io/warn: 'restricted'
 
  • Warn-Modus: Zeigt Verstöße in Logs an, blockiert aber nicht

  • Audit-Modus: Zeichnet Verstöße für Analysezwecke auf

  • Enforce-Modus: Setzt die Richtlinien strikt durch

Diese schrittweise Umsetzung hilft Unternehmen, neue Sicherheitsrichtlinien ohne Betriebsunterbrechungen einzuführen.

 

Umsetzung in der Praxis

Hier einige praktische Beispiele, wie PSA zur Absicherung von Kubernetes-Clustern genutzt wird:

1. Sicherheit in Produktionsumgebungen

Ein Namespace für produktive Workloads sollte mit Restricted Policies gesichert sein:

kubectl label namespaces production pod-security.kubernetes.io/enforce=restricted
 

2. Testen neuer Anwendungen

Neue Services können zunächst mit Warn- und Audit-Modi erprobt werden:

kubectl label namespaces testing pod-security.kubernetes.io/enforce=baseline \
    pod-security.kubernetes.io/audit=restricted \
    pod-security.kubernetes.io/warn=restricted
 

3. Ausnahme für System-Namespaces

Kubernetes-Systemdienste benötigen oft mehr Berechtigungen. Hier kann der Privileged-Level genutzt werden:

kubectl label namespaces kube-system pod-security.kubernetes.io/enforce=privileged
 

Fazit: Warum Unternehmen jetzt handeln sollten

Die Umstellung auf Pod Security Admission bietet eine einfachere, sicherere und flexiblere Lösung für Kubernetes-Cluster. Unternehmen, die Kubernetes in sicherheitskritischen Bereichen nutzen, sollten PSA jetzt aktiv implementieren, um:

  • Sicherheitslücken zu minimieren
  • Compliance-Anforderungen (z. B. NIS2, BSI) zu erfüllen
  • Den Kubernetes-Betrieb zukunftssicher zu gestalten