NatronTech Logo
Best Practices

Workload Hardening

Stage
Experimental

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:
    - ALL

2. Als Non-Root starten

Verhindern Sie, dass der Container-Prozess als root (UID 0) läuft.

securityContext:
  runAsNonRoot: true
  runAsUser: 1001
  runAsGroup: 1001

3. Read-Only Filesystem

Ein schreibgeschütztes Root-Dateisystem verhindert, dass Angreifer Malware nachladen oder Konfigurationen manipulieren.

securityContext:
  readOnlyRootFilesystem: true

Tipp: 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: RuntimeDefault

Vollstä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: {}

On this page