0Pricing
DevOps Bootcamp · Lektion

Pods mit securityContext härten

Standards mit den geringsten Berechtigungen in Templates verankern

Pods mit securityContext härten ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Warum standardmäßige Absicherung wichtig ist

Ein Chart mit standardmäßigen Least-Privilege-Einstellungen schützt jeden Cluster, in dem es installiert wird. In Templates verankerte Sicherheit ist zuverlässiger, als darauf zu hoffen, dass Nutzer sie später hinzufügen.

Zwei Ebenen von securityContext

Sie können einen securityContext auf Pod-Ebene für alle Container festlegen und einen enger gefassten pro Container. Die Einstellung des Containers überschreibt für diesen Container die Einstellung des Pods.

Nicht als Root ausführen

Setzen Sie runAsNonRoot auf true, damit Kubernetes den Start eines Containers verweigert, der als Root ausgeführt würde. Das ist der wirkungsvollste einzelne Standardwert, den Sie ausliefern können.

securityContext:
  runAsNonRoot: true
  runAsUser: 1000

Nur lesbares Root-Dateisystem

Aktivieren Sie readOnlyRootFilesystem, damit der Container nicht in seine eigenen Image-Layer schreiben kann. Binden Sie für Pfade, in die die Anwendung tatsächlich schreiben muss, ein emptyDir ein.

containers:
- name: app
  securityContext:
    readOnlyRootFilesystem: true

Linux-Capabilities entfernen

Die meisten Anwendungen benötigen keine besonderen Kernel-Berechtigungen. Entfernen Sie daher mit drop ALL capabilities alle Capabilities und fügen Sie nur die seltene hinzu, die ein Workload tatsächlich benötigt.

capabilities:
  drop:
    - ALL

Rechteausweitung blockieren

Setzen Sie allowPrivilegeEscalation auf false, damit ein Prozess niemals mehr Berechtigungen erlangen kann, als er ursprünglich hatte, auch nicht über setuid-Binaries. 🔒

allowPrivilegeEscalation: false

fsGroup festlegen

Verwenden Sie fsGroup im SecurityContext des Pods, damit eingebundene Volumes einer Gruppe gehören, der der Nicht-Root-Benutzer angehört, und Berechtigungsfehler vermieden werden.

securityContext:
  fsGroup: 2000

Privileged niemals auf true setzen

Ein privileged-Container hat nahezu vollständigen Zugriff auf den Host und sollte praktisch nie als Standardwert eines Charts vorkommen. Lassen Sie ihn nicht gesetzt, was false bedeutet.

Überschreibungen ermöglichen

Verknüpfen Sie den SecurityContext über toYaml mit den Values, damit Nutzer ihn anpassen können. Behalten Sie die abgesicherten Einstellungen jedoch als sichere Standardwerte bei.

securityContext:
  {{- toYaml .Values.securityContext | nindent 4 }}

An den Pod Security Standards ausrichten

Diese Standardwerte entsprechen dem Kubernetes-Pod-Security-Standard restricted. Dadurch lässt sich Ihr Chart auch in stark eingeschränkten Namespaces problemlos installieren.

Nach der Installation überprüfen

Bestätigen Sie, dass die Absicherung wirksam ist, indem Sie die Spezifikation des laufenden Pods mit kubectl get pod -o yaml untersuchen und die Felder des SecurityContext überprüfen.

kubectl get pod myapp -o jsonpath='{.spec.securityContext}'

Kurze Überprüfung

Welche Einstellung verhindert den Start eines Containers, wenn dieser als Root-Benutzer ausgeführt würde?

Zusammenfassung

Sie haben Pods mit runAsNonRoot, entfernten Capabilities, einem schreibgeschützten Dateisystem und ohne Rechteausweitung abgesichert. Sichere Standardwerte schützen jede Installation. ✅

Häufig gestellte Fragen

Ist die Lektion „Pods mit securityContext härten“ kostenlos?

Ja — der vollständige Text von „Pods mit securityContext härten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Pods mit securityContext härten“?

Standards mit den geringsten Berechtigungen in Templates verankern Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Pods mit securityContext härten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Standardlabels und Benennungskonventionen
  2. Sinnvolle, dokumentierte Standardwerte
  3. Pods mit securityContext härten
  4. Versionen festschreiben und latest vermeiden
← Zurück zu DevOps Bootcamp