Container Security

KAPITEL 07 · IT-SICHERHEIT

Container Security

Umfassende Sicherheit für Container-Umgebungen – von Image-Scanning über Runtime Protection bis zu Kubernetes Pod Security. Schützen Sie Ihre Container von Build bis Runtime.

Image-Scanning Runtime Security Docker Hardening Kubernetes Security

Inhaltsverzeichnis

Schnellübersicht

Auf dieser Seite lernen Sie alles über Container Security:

  • Definition: Was ist Container Security?
  • Container Lifecycle Security: Build, Deploy, Runtime
  • OWASP Container Security Top 10: Die häufigsten Risiken
  • Image Security: Scanning, Signing, Base Images
  • Runtime Security: Monitoring, Falco, Threat Detection
  • Kubernetes Pod Security: Pod Security Standards
  • Tools & Lösungen: Trivy, Falco, Clair, Aqua
  • Best Practices: Enterprise-Empfehlungen
  • FAQ: Häufige Fragen & Antworten

1. Was ist Container Security?

Definition

Container Security umfasst alle Sicherheitsmaßnahmen zum Schutz von Container-Umgebungen (Docker, containerd, Kubernetes) während des gesamten Lebenszyklus – von der Erstellung des Images über das Deployment bis zur Laufzeit.

Container bieten zwar durch Isolation gewisse Sicherheitsvorteile gegenüber VMs, bringen aber auch neue Angriffsvektoren mit sich: unsichere Base Images, übermäßige Privilegien, unsichere Konfigurationen, kompromittierte Supply Chains und fehlende Runtime-Überwachung.

Die drei Säulen der Container Security: Image Security (sichere Images), Configuration Security (sichere Konfiguration) und Runtime Security (Überwachung zur Laufzeit).

Warum ist Container Security wichtig?

  • Supply-Chain-Angriffe: Kompromittierte Base Images oder Dependencies (z.B. SolarWinds, Log4Shell)
  • Container-Escape: Ausbruch aus dem Container auf den Host
  • Privilegien-Missbrauch: Container mit Root-Rechten oder CAP_SYS_ADMIN
  • Secret-Leaks: Passwörter und API-Keys in Images oder Umgebungsvariablen
  • Netzwerk-Angriffe: Lateral Movement zwischen Containern
  • Compliance: Einhaltung von Sicherheitsstandards (ISO 27001, SOC 2, PCI-DSS)

2. Container Lifecycle Security

Container Security muss während des gesamten Lebenszyklus berücksichtigt werden – von der Entwicklung bis zur Runtime.

PHASE 01

Build Phase

Image-Erstellung & Sicherheit

Sicherstellung, dass das Container-Image sicher ist, bevor es deployed wird.

  • Minimale Base Images (Alpine, Distroless)
  • Image-Scanning (CVE-Detection)
  • Multi-Stage Builds
  • Keine Secrets im Image
  • Image-Signing (Cosign, Notary)
  • SBOM (Software Bill of Materials)
PHASE 02

Deploy Phase

Sichere Konfiguration

Sichere Konfiguration und Deployment des Containers in der Zielumgebung.

  • Pod Security Standards (Kubernetes)
  • Network Policies
  • Secrets Management (Vault, Sealed Secrets)
  • Resource Limits (CPU, RAM)
  • Read-Only Filesystem
  • Non-Root User
PHASE 03

Runtime Phase

Überwachung & Schutz

Kontinuierliche Überwachung und Schutz der laufenden Container.

  • Runtime Threat Detection (Falco)
  • Anomaly Detection
  • Audit Logging
  • Container Firewall
  • Compliance Monitoring
  • Incident Response

3. OWASP Container Security Top 10

Die OWASP Foundation hat die 10 häufigsten Sicherheitsrisiken in Container-Umgebungen identifiziert.

01
Insufficient Image Scan

Fehlendes oder unzureichendes Image-Scanning auf bekannte CVEs (Common Vulnerabilities and Exposures).

Kritisch
02
Embedded Secrets

Passwörter, API-Keys und Zertifikate direkt im Image oder in Umgebungsvariablen gespeichert.

Kritisch
03
Vulnerable Base Images

Veraltete oder unsichere Base Images mit bekannten Sicherheitslücken werden verwendet.

Hoch
04
Unnecessary Privileges

Container laufen mit Root-Rechten oder übermäßigen Capabilities (CAP_SYS_ADMIN).

Kritisch
05
Insecure Host Config

Unsichere Konfiguration des Container-Hosts (Docker Daemon, Kernel-Parameter).

Hoch
06
Missing Network Segmentation

Keine Network Policies – Container können ungehindert miteinander kommunizieren.

Hoch
07
Runtime Vulnerabilities

Fehlende Runtime-Überwachung ermöglicht unbemerkte Angriffe und Lateral Movement.

Hoch
08
Supply Chain Attacks

Kompromittierte Dependencies, Base Images oder CI/CD-Pipelines (z.B. SolarWinds).

Kritisch
09
Missing Image Signing

Images werden ohne Signatur deployed – Manipulation bleibt unerkannt.

Mittel
10
Insufficient Monitoring

Fehlende Audit-Logs und Monitoring erschweren Incident Detection und Response.

Mittel

4. Image Security – Sichere Container-Images

Das Image ist die Grundlage jedes Containers. Unsichere Images führen zu unsicheren Containern.

Image Security Best Practices

  • Minimale Base Images: Alpine Linux (~5 MB), Google Distroless, Scratch
  • Multi-Stage Builds: Build-Tools nur in der Build-Phase, nicht im finalen Image
  • Regelmäßige Updates: Base Images und Dependencies aktuell halten
  • Keine Secrets: Passwörter und Keys nie im Image speichern
  • Image Scanning: Automatisches Scannen auf CVEs (Trivy, Clair)
  • Image Signing: Digitale Signatur für Integrität (Cosign, Notary)
  • SBOM erstellen: Software Bill of Materials für Transparenz
  • Non-Root User: Container nicht als Root laufen lassen
  • Read-Only Filesystem: Wo möglich, das Filesystem read-only machen
  • Trusted Registries: Nur Images aus vertrauenswürdigen Quellen verwenden

Beispiel: Sicheres Dockerfile

DOCKERFILE # Sicheres Multi-Stage Dockerfile FROM node:18-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm ci --only=production COPY . . RUN npm run build # Minimales Runtime-Image FROM node:18-alpine # Non-Root User erstellen RUN addgroup -g 1001 appgroup && \ adduser -u 1001 -G appgroup -s /bin/sh -D appuser WORKDIR /app COPY --from=builder /app/dist ./dist COPY --from=builder /app/node_modules ./node_modules # Security: Read-Only Filesystem USER appuser EXPOSE 3000 CMD ["node", "dist/index.js"]

Image Scanning mit Trivy

BASH # Trivy installieren curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin # Image scannen trivy image myapp:latest # Nur HIGH und CRITICAL CVEs anzeigen trivy image --severity HIGH,CRITICAL myapp:latest # Scan im CI/CD (Exit-Code bei CVEs) trivy image --exit-code 1 --severity HIGH,CRITICAL myapp:latest

5. Runtime Security – Schutz zur Laufzeit

Runtime Security überwacht und schützt Container während sie laufen. Selbst sichere Images können zur Laufzeit kompromittiert werden.

Runtime Security Maßnahmen

  • Threat Detection: Erkennung von anomalem Verhalten (z.B. Shell-Spawns, Datei-Manipulation)
  • Container Firewall: Netzwerk-Traffic zwischen Containern filtern
  • File Integrity Monitoring: Überwachung kritischer Dateien
  • Process Monitoring: Unerwartete Prozesse erkennen
  • Privilege Escalation Detection: Erkennung von Root-Eskalation
  • Container Escape Detection: Ausbruchsversuche erkennen
  • Compliance Monitoring: Einhaltung von Sicherheitsrichtlinien
  • Audit Logging: Alle Container-Aktivitäten protokollieren

Falco – Runtime Threat Detection

Falco ist der De-facto-Standard für Runtime Security in Kubernetes. Es überwacht System-Calls und erkennt anomales Verhalten.

YAML # Falco Rule: Shell in Container erkennen - rule: Terminal shell in container desc: Detect shell spawned in container condition: spawned_process and container and proc.name in (bash, sh, zsh) output: "Shell spawned in container (user=%user.name container=%container.name shell=%proc.name)" priority: WARNING # Falco Rule: Sensitive Datei lesen - rule: Read sensitive file in container condition: open_read and container and fd.name in (/etc/shadow, /etc/passwd) output: "Sensitive file read (file=%fd.name)" priority: ERROR

6. Kubernetes Pod Security Standards

Kubernetes definiert drei Pod Security Levels, die unterschiedliche Sicherheitsanforderungen haben.

Privileged

Unrestricted

Keine Einschränkungen – für System-Container und privilegierte Workloads.

  • Keine Security-Beschränkungen
  • Root-User erlaubt
  • Alle Capabilities erlaubt
  • Host-Network erlaubt
  • Nur für trusted Workloads

Baseline

Mindestsicherheit

Minimale Sicherheitsanforderungen – verhindert die häufigsten Risiken.

  • Keine privilegierten Container
  • Keine Host-Network/PID/IPC
  • Keine Host-Path Volumes
  • Keine CAP_SYS_ADMIN
  • Empfohlen für die meisten Workloads

Restricted

Höchste Sicherheit

Strengste Sicherheit – für kritische Workloads und Compliance.

  • Non-Root User Pflicht
  • Read-Only Root Filesystem
  • Keine neuen Capabilities
  • Seccomp Profile Pflicht
  • Für Compliance (PCI-DSS, HIPAA)

Pod Security Standards aktivieren

YAML # Namespace mit Pod Security Standards labeln apiVersion: v1 kind: Namespace metadata: name: production labels: pod-security.kubernetes.io/enforce: restricted pod-security.kubernetes.io/audit: restricted pod-security.kubernetes.io/warn: restricted

7. Tools & Lösungen für Container Security

Es gibt zahlreiche Open-Source und kommerzielle Tools für Container Security.

Trivy

Image Scanner · Open Source

Umfassender Security Scanner für Container Images, Dateisysteme und Git-Repositories.

  • CVE-Detection (OS & Libraries)
  • Misconfiguration Detection
  • Secret Detection
  • SBOM Generation
  • CI/CD Integration

Falco

Runtime Security · Open Source

Runtime Threat Detection für Container und Kubernetes durch System-Call-Überwachung.

  • System-Call Monitoring
  • Anomaly Detection
  • Custom Rules (YAML)
  • Alert Integration
  • Kubernetes Native

Clair

Vulnerability Scanner · Open Source

Statischer Analyse-Scanner für Schwachstellen in Container Images (von CoreOS/Red Hat).

  • Vulnerability Detection
  • API-basiert
  • Registry Integration
  • Multi-Layer Analysis
  • Enterprise Ready

Aqua Security

Enterprise Platform · Commercial

Umfassende Container Security Platform für Enterprise-Umgebungen.

  • Full Lifecycle Security
  • Runtime Protection
  • Compliance Reporting
  • Image Assurance
  • Enterprise Support

Kube-Hunter

Penetration Testing · Open Source

Penetration Testing Tool für Kubernetes-Cluster (von Aqua Security).

  • Vulnerability Assessment
  • Attack Simulation
  • Reporting
  • Active & Passive Modes
  • CI/CD Integration

OPA (Open Policy Agent)

Policy Engine · Open Source

Generische Policy-Engine für Kubernetes und Cloud-Umgebungen (Rego Language).

  • Policy as Code (Rego)
  • Admission Control
  • Audit Logging
  • Multi-Cloud Support
  • CNCF Graduated

8. Enterprise Best Practices

Bewährte Praktiken für sichere Container-Umgebungen im Enterprise-Einsatz.

Image Security

  • Minimale Base Images verwenden (Alpine, Distroless)
  • Regelmäßige Image-Scans automatisieren
  • Image-Signing implementieren (Cosign)
  • SBOM für alle Images erstellen
  • Trusted Registries nutzen
  • Multi-Stage Builds für schlanke Images

Runtime Protection

  • Falco oder ähnliches Tool deployen
  • Container Firewall aktivieren
  • File Integrity Monitoring einrichten
  • Process Monitoring implementieren
  • Alerts bei anomalem Verhalten
  • Incident Response Plan erstellen

Network Security

  • Network Policies für alle Namespaces
  • Default-Deny Policy implementieren
  • Service Mesh (Istio, Linkerd) nutzen
  • mTLS für Service-zu-Service
  • Ingress Controller mit WAF
  • Netzwerk-Segmentierung

Secrets Management

  • HashiCorp Vault oder Sealed Secrets
  • Keine Secrets in Images oder Env-Vars
  • External Secrets Operator nutzen
  • Regelmäßige Secret-Rotation
  • Encryption at Rest aktivieren
  • Audit Logging für Secret-Zugriffe

Monitoring & Logging

  • Zentrales Logging (ELK, Loki)
  • Metrics mit Prometheus/Grafana
  • Audit Logs für alle Aktionen
  • Alerting bei Sicherheits-Events
  • SIEM-Integration (Splunk, QRadar)
  • Retention Policies definieren

Compliance & Governance

  • Pod Security Standards enforce
  • OPA Policies für Compliance
  • Regelmäßige Security Audits
  • CIS Benchmark Checks
  • Compliance Reporting automatisieren
  • Security Training für Entwickler

Enterprise-Empfehlung

Für Enterprise-Umgebungen empfehlen wir einen Defense-in-Depth-Ansatz: Kombinieren Sie Image Scanning (Trivy), Runtime Protection (Falco), Network Policies, Secrets Management (Vault) und Compliance Monitoring (OPA). Kein einzelnes Tool bietet vollständigen Schutz – erst die Kombination mehrerer Sicherheitsebenen macht Container-Umgebungen wirklich sicher.

9. FAQ – Häufige Fragen & Antworten

Häufige Fragen zu Container Security

Sind Container sicherer als VMs?

Jein – es kommt auf den Use Case an.

  • Container: Teilen sich den Host-Kernel, bieten Prozess-Isolation, aber keine Hardware-Virtualisierung. Schneller, ressourceneffizienter, aber geringere Isolation.
  • VMs: Vollständige Hardware-Virtualisierung, eigene Kernel, stärkere Isolation. Langsamer, ressourcenintensiver, aber sicherer für Multi-Tenant-Umgebungen.

Fazit: Container sind sicher genug für die meisten Workloads, aber für hochsensible Daten oder Multi-Tenant-Umgebungen sind VMs oder Sandbox-Container (gVisor, Kata Containers) besser geeignet.

Was ist ein Container-Escape und wie schütze ich mich?

Container-Escape: Ein Angriff, bei dem ein Angreifer aus dem Container ausbricht und Zugriff auf den Host oder andere Container erhält.

Schutzmaßnahmen:

  • Non-Root User: Container nie als Root laufen lassen
  • Capabilities reduzieren: Nur notwendige Capabilities erlauben
  • Read-Only Filesystem: Wo möglich aktivieren
  • Seccomp Profile: System-Calls einschränken
  • AppArmor/SELinux: Mandatory Access Control nutzen
  • Runtime Monitoring: Falco für Anomalie-Erkennung
  • Regelmäßige Updates: Container Runtime und Kernel aktuell halten
Wie oft sollte ich Container-Images scannen?

Empfehlung: So oft wie möglich – idealerweise bei jedem Build.

  • CI/CD Pipeline: Bei jedem Image-Build automatisch scannen
  • Registry: Beim Push in die Registry scannen
  • Runtime: Regelmäßige Scans laufender Images (täglich/wöchentlich)
  • Base Images: Bei Updates der Base Images neu scannen

Best Practice: Implementieren Sie einen Shift-Left-Ansatz – Security so früh wie möglich im Entwicklungsprozess. Blockieren Sie den Build bei CRITICAL/HIGH CVEs.

Was ist ein SBOM und warum brauche ich das?

SBOM (Software Bill of Materials): Eine detaillierte Liste aller Komponenten, Libraries und Dependencies in einem Container-Image.

Warum wichtig?

  • Transparenz: Wissen, was im Image enthalten ist
  • Vulnerability Management: Schnelle Identifikation betroffener Images bei neuen CVEs (z.B. Log4Shell)
  • Compliance: Nachweis der Software-Zusammensetzung
  • Supply Chain Security: Erkennung kompromittierter Dependencies

Tools: Trivy, Syft, Grype können SBOMs erstellen (Formate: SPDX, CycloneDX).

Wie implementiere ich Zero Trust für Container?

Zero Trust für Container bedeutet: "Never trust, always verify" – keine implizite Vertrauensstellung.

Implementierung:

  • Identity-based Access: Service Accounts mit minimalen Rechten
  • mTLS: Verschlüsselte Service-zu-Service-Kommunikation (Istio, Linkerd)
  • Network Policies: Default-Deny, explizite Allow-Regeln
  • Continuous Verification: Runtime Monitoring und Anomalie-Erkennung
  • Least Privilege: Pod Security Standards enforce
  • Secrets Management: Dynamische, kurzlebige Credentials (Vault)
Welche Compliance-Standards gelten für Container?

Relevante Standards:

  • CIS Docker Benchmark: Security Configuration Guide für Docker
  • CIS Kubernetes Benchmark: Security Configuration für Kubernetes
  • ISO 27001: Information Security Management
  • SOC 2: Security, Availability, Processing Integrity
  • PCI-DSS: Payment Card Industry (für Kreditkartendaten)
  • HIPAA: Healthcare (für Patientendaten)
  • GDPR/DSGVO: Datenschutz (für personenbezogene Daten)

Tools: Trivy, Kube-Bench, OPA können Compliance-Checks automatisieren.

Was ist Image Signing und warum ist es wichtig?

Image Signing: Digitale Signatur für Container-Images, um Integrität und Authentizität zu gewährleisten.

Warum wichtig?

  • Manipulationsschutz: Verhindert, dass Images unbemerkt verändert werden
  • Supply Chain Security: Nur signierte Images werden deployed
  • Vertrauenskette: Nachweis, dass Image von vertrauenswürdiger Quelle stammt
  • Compliance: Viele Standards erfordern Image Signing

Tools: Cosign (Sigstore), Notary, Docker Content Trust.

Wie schütze ich Secrets in Kubernetes?

Best Practices für Secrets in Kubernetes:

  • Keine Secrets in Images: Niemals Passwörter/Keys im Dockerfile oder Image
  • Keine Env-Vars: Umgebungsvariablen sind in Logs sichtbar
  • External Secrets Operator: Secrets aus Vault, AWS Secrets Manager, etc.
  • Sealed Secrets: Verschlüsselte Secrets, die nur im Cluster entschlüsselt werden
  • Encryption at Rest: etcd-Verschlüsselung aktivieren
  • RBAC: Minimale Rechte für Secret-Zugriffe
  • Audit Logging: Alle Secret-Zugriffe protokollieren

Empfehlung: HashiCorp Vault mit Kubernetes Integration für dynamische, kurzlebige Secrets.

Zusammenfassung

Die wichtigsten Punkte

  • Container Security: Umfassender Schutz während des gesamten Lifecycle (Build, Deploy, Runtime)
  • OWASP Top 10: Die 10 häufigsten Risiken – von Image Scanning bis Runtime Monitoring
  • Image Security: Minimale Base Images, Multi-Stage Builds, Scanning, Signing, SBOM
  • Runtime Security: Falco für Threat Detection, Container Firewall, File Integrity Monitoring
  • Pod Security Standards: Privileged, Baseline, Restricted – je nach Sicherheitsanforderung
  • Tools: Trivy (Scanning), Falco (Runtime), Clair (Vulnerability), Aqua (Enterprise), OPA (Policies)
  • Best Practices: Defense-in-Depth, Zero Trust, Least Privilege, Shift-Left Security
  • Compliance: CIS Benchmarks, ISO 27001, SOC 2, PCI-DSS, HIPAA, GDPR

Enterprise-Empfehlung

Implementieren Sie einen umfassenden Security-Ansatz mit mehreren Ebenen: Image Scanning in der CI/CD-Pipeline, Runtime Protection mit Falco, Network Policies für Netzwerk-Segmentierung, Secrets Management mit Vault und Compliance Monitoring mit OPA. Container Security ist kein einmaliges Projekt, sondern ein kontinuierlicher Prozess.

Weiterführende Themen

Netzwerksicherheit

Firewalls, IDS/IPS und grundlegende Sicherheitskonzepte für Netzwerke.

Zur Netzwerksicherheit
Zero Trust Architecture

Zero Trust im Detail – "Never trust, always verify" für moderne IT-Umgebungen.

Zu Zero Trust
DevSecOps

Security in CI/CD-Pipelines – Shift-Left Security und automatisierte Security-Checks.

Zu DevSecOps
Compliance

DSGVO, ISO 27001, SOC 2, PCI-DSS – Compliance-Anforderungen verstehen und umsetzen.

Zu Compliance