Workload Hardening
Workload Hardening
Die Härtung des Workloads minimiert den Schaden ("Blast Radius") im Falle einer Kompromittierung erheblich.
Security Context
Das securityContext-Feld im Pod- oder Container-Manifest ist Ihr wichtigster Hebel.
1. Capabilities entfernen
Container starten standardmässig mit diversen Linux-Capabilities (CHOWN, AUDIT_WRITE, etc.), die meist nicht benötigt werden.
Empfehlung: Drop ALL. Fügen Sie nur explizit benötigte Capabilities wieder hinzu (Allow-List Ansatz).
securityContext:
capabilities:
drop:
- ALL2. Als Non-Root starten
Verhindern Sie, dass der Container-Prozess als root (UID 0) läuft.
securityContext:
runAsNonRoot: true
runAsUser: 1001
runAsGroup: 10013. Read-Only Filesystem
Ein schreibgeschütztes Root-Dateisystem verhindert, dass Angreifer Malware nachladen oder Konfigurationen manipulieren.
securityContext:
readOnlyRootFilesystem: trueTipp: Für temporäre Dateien (Caches, Logs) mounten Sie ein emptyDir Volume nach /tmp.
Seccomp Profile
Seccomp (Secure Computing Mode) filtert erlaubte System Calls (Syscalls).
Empfehlung: Aktivieren Sie mindestens RuntimeDefault. Dies blockiert viele exotische oder gefährliche Syscalls präventiv.
securityContext:
seccompProfile:
type: RuntimeDefaultVollständiges Beispiel (Hardened Pod)
apiVersion: v1
kind: Pod
metadata:
name: hardened-pod
spec:
# Pod-Level Security Context
securityContext:
runAsNonRoot: true
runAsUser: 1001
runAsGroup: 1001
fsGroup: 1001
seccompProfile:
type: RuntimeDefault
containers:
- name: my-app
image: my-app:1.0.0
# Container-Level Security Context
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
# Falls Schreibzugriff nötig ist:
volumeMounts:
- mountPath: /tmp
name: tmp-volume
volumes:
- name: tmp-volume
emptyDir: {}