Erweiterte Aspekte der Container-Sicherheit: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „= Erweiterte Aspekte der Container-Sicherheit = == Container vs. VM – Sicherheitsunterschied == * Erklärung: Container teilen sich den Host-Kernel → ein…“) |
|||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
= Erweiterte Aspekte der Container-Sicherheit = | = Erweiterte Aspekte der Container-Sicherheit = | ||
| − | == Container vs. VM – | + | == Container vs. VM – Sicherheitsmodell verstehen == |
| − | * | + | *Container teilen sich den Host-Kernel. |
| − | * | + | *Ein Kernel-Exploit betrifft alle Container und den Host. |
| − | * | + | *Virtuelle Maschinen sind durch den Hypervisor stärker isoliert. |
| − | + | *Container bieten Prozessisolation – keine vollständige Systemisolation. | |
| − | == Runtime Security | + | ;Risiko |
| − | * | + | *Container Escape → Zugriff auf Host-System. |
| − | * | + | *Privilegierte Container können Host kompromittieren. |
| − | * | + | *Multi-Tenant-Umgebungen besonders kritisch. |
| − | * | + | |
| + | ;Lehre | ||
| + | *Container sind kein Ersatz für Isolation durch VMs. | ||
| + | *In Cloud-Umgebungen häufig Kombination aus VM + Container. | ||
| + | |||
| + | |||
| + | == Angriffsszenario – Container Escape == | ||
| + | ;Ausgangslage | ||
| + | *Container läuft mit erweiterten Rechten. | ||
| + | *--privileged oder CAP_SYS_ADMIN gesetzt. | ||
| + | *Host-Dateisystem gemountet. | ||
| + | |||
| + | ;Angriff | ||
| + | *Exploit im Kernel oder Missbrauch von Capabilities. | ||
| + | *Zugriff auf /proc oder /var/run/docker.sock. | ||
| + | *Start weiterer Container mit Root-Rechten. | ||
| + | |||
| + | ;Auswirkung | ||
| + | *Übernahme des Hosts. | ||
| + | *Manipulation anderer Container. | ||
| + | *Persistente Hintertür. | ||
| + | |||
| + | ;Gegenmaßnahmen | ||
| + | *Keine privilegierten Container. | ||
| + | *Capabilities minimal halten. | ||
| + | *User Namespace aktivieren. | ||
| + | *Rootless Container nutzen. | ||
| + | |||
| + | |||
| + | == Runtime Security – Angriff zur Laufzeit == | ||
| + | *Image-Scanning erkennt nur bekannte CVEs. | ||
| + | *Angriffe zur Laufzeit bleiben unentdeckt ohne Monitoring. | ||
| + | |||
| + | ;Typische Anomalien | ||
| + | *Shell-Spawn innerhalb eines Containers. | ||
| + | *Zugriff auf /etc/shadow oder Host-Mounts. | ||
| + | *Outbound-Verbindungen zu Command-and-Control-Servern. | ||
| + | |||
| + | ;Maßnahmen | ||
| + | *Runtime-Monitoring (z. B. Falco-Regeln). | ||
| + | *System-Call-Überwachung. | ||
| + | *Events ins SIEM einspeisen. | ||
| + | *Alarmierung bei ungewöhnlichem Verhalten. | ||
| + | |||
| + | |||
| + | == Supply-Chain-Angriffe == | ||
| + | ;Risikoquelle | ||
| + | *Unsichere Basis-Images. | ||
| + | *Trojanisierte Images aus öffentlichen Registries. | ||
| + | *Manipulierte Abhängigkeiten (npm, pip). | ||
| + | |||
| + | ;Angriff | ||
| + | *Entwickler zieht manipuliertes Image. | ||
| + | *Backdoor wird mitdeployt. | ||
| + | *Angreifer erhält Zugriff auf Produktionsumgebung. | ||
| + | |||
| + | ;Gegenmaßnahmen | ||
| + | *Nur vertrauenswürdige Registries. | ||
| + | *Image-Signaturen prüfen. | ||
| + | *SBOM erzeugen und validieren. | ||
| + | *Automatisches Scanning in CI/CD. | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
== Registry-Sicherheit == | == Registry-Sicherheit == | ||
| − | * | + | *Registry ist zentrale Vertrauensquelle. |
| − | * | + | *Manipulierte Registry = manipulierte Infrastruktur. |
| − | * | + | |
| − | ** TLS | + | ;Risiken |
| − | * | + | *Unverschlüsselte Push/Pull-Verbindungen. |
| − | ** | + | *Keine Authentifizierung. |
| − | * | + | *Übermäßige Schreibrechte. |
| + | |||
| + | ;Maßnahmen | ||
| + | *TLS erzwingen. | ||
| + | *RBAC für Push und Pull. | ||
| + | *Image-Immutable-Tags nutzen. | ||
| + | *Audit-Logs aktivieren. | ||
| + | |||
| + | |||
| + | == Netzwerksegmentierung == | ||
| + | *Standard-Bridge erlaubt Ost-West-Traffic. | ||
| + | *Container können sich gegenseitig erreichen. | ||
| + | |||
| + | ;Risiken | ||
| + | *Laterale Bewegung. | ||
| + | *Pivot zwischen Microservices. | ||
| + | |||
| + | ;Maßnahmen | ||
| + | *User-Defined Networks. | ||
| + | *Kubernetes NetworkPolicies. | ||
| + | *Service Mesh mit mTLS. | ||
| + | *Zero-Trust-Prinzip auch intern. | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
== Secrets Management == | == Secrets Management == | ||
| − | * | + | *Secrets dürfen nicht im Image oder ENV-Variablen liegen. |
| − | * | + | |
| − | * | + | ;Risiko |
| − | ** | + | *docker inspect zeigt Umgebungsvariablen. |
| − | ** | + | *kubectl describe pod offenbart Secrets. |
| − | * | + | *Leaked API-Key → Cloud kompromittiert. |
| + | |||
| + | ;Maßnahmen | ||
| + | *Secrets Manager oder Vault einsetzen. | ||
| + | *Temporäre Tokens. | ||
| + | *Automatische Rotation. | ||
| + | *Minimaler Zugriff pro Service. | ||
| + | |||
| + | |||
| + | == Kubernetes als Verstärker == | ||
| + | *Docker ist nur Basis. | ||
| + | *Kubernetes erweitert Angriffsfläche. | ||
| + | |||
| + | ;Risiken | ||
| + | *Offener API-Server. | ||
| + | *Fehlendes RBAC. | ||
| + | *Überprivilegierte ServiceAccounts. | ||
| + | *Unsichere Helm-Charts. | ||
| + | |||
| + | ;Angriff | ||
| + | *Kompromittierter Pod liest ServiceAccount-Token. | ||
| + | *Token erlaubt Cluster-weite Aktionen. | ||
| + | *Deployment manipuliert. | ||
| + | |||
| + | ;Maßnahmen | ||
| + | *RBAC strikt definieren. | ||
| + | *PodSecurityStandards erzwingen. | ||
| + | *Admission Controller einsetzen. | ||
| + | *Audit-Logs überwachen. | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
== Isolation durch zusätzliche Schichten == | == Isolation durch zusätzliche Schichten == | ||
| − | * | + | *Container-Isolation kann verstärkt werden. |
| − | + | ||
| − | + | ;Beispiele | |
| − | + | *gVisor – Userspace-Kernel. | |
| − | + | *Kata Containers – Container in Micro-VM. | |
| − | * | + | *Firecracker – Minimal-VM-Ansatz. |
| + | |||
| + | ;Nutzen | ||
| + | *Reduzierte Angriffsfläche. | ||
| + | *Stärkere Mandantentrennung. | ||
| + | *Geeignet für Public-Cloud und Multi-Tenant. | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | == | + | == Kernaussage == |
| − | * | + | *Container sind effizient – aber keine Sicherheitsgrenze. |
| − | * Risiken | + | *Identität, Isolation und Supply-Chain sind die zentralen Risiken. |
| − | + | *Runtime-Monitoring ist Pflicht. | |
| − | * | + | *Kubernetes vergrößert die Angriffsfläche erheblich. |
| − | * | + | *Sicherheit muss Teil der CI/CD-Pipeline sein. |
| − | |||
| − | |||
| − | |||
| − | |||
| − | * | ||
| − | |||
Aktuelle Version vom 20. Februar 2026, 16:02 Uhr
Erweiterte Aspekte der Container-Sicherheit
Container vs. VM – Sicherheitsmodell verstehen
- Container teilen sich den Host-Kernel.
- Ein Kernel-Exploit betrifft alle Container und den Host.
- Virtuelle Maschinen sind durch den Hypervisor stärker isoliert.
- Container bieten Prozessisolation – keine vollständige Systemisolation.
- Risiko
- Container Escape → Zugriff auf Host-System.
- Privilegierte Container können Host kompromittieren.
- Multi-Tenant-Umgebungen besonders kritisch.
- Lehre
- Container sind kein Ersatz für Isolation durch VMs.
- In Cloud-Umgebungen häufig Kombination aus VM + Container.
Angriffsszenario – Container Escape
- Ausgangslage
- Container läuft mit erweiterten Rechten.
- --privileged oder CAP_SYS_ADMIN gesetzt.
- Host-Dateisystem gemountet.
- Angriff
- Exploit im Kernel oder Missbrauch von Capabilities.
- Zugriff auf /proc oder /var/run/docker.sock.
- Start weiterer Container mit Root-Rechten.
- Auswirkung
- Übernahme des Hosts.
- Manipulation anderer Container.
- Persistente Hintertür.
- Gegenmaßnahmen
- Keine privilegierten Container.
- Capabilities minimal halten.
- User Namespace aktivieren.
- Rootless Container nutzen.
Runtime Security – Angriff zur Laufzeit
- Image-Scanning erkennt nur bekannte CVEs.
- Angriffe zur Laufzeit bleiben unentdeckt ohne Monitoring.
- Typische Anomalien
- Shell-Spawn innerhalb eines Containers.
- Zugriff auf /etc/shadow oder Host-Mounts.
- Outbound-Verbindungen zu Command-and-Control-Servern.
- Maßnahmen
- Runtime-Monitoring (z. B. Falco-Regeln).
- System-Call-Überwachung.
- Events ins SIEM einspeisen.
- Alarmierung bei ungewöhnlichem Verhalten.
Supply-Chain-Angriffe
- Risikoquelle
- Unsichere Basis-Images.
- Trojanisierte Images aus öffentlichen Registries.
- Manipulierte Abhängigkeiten (npm, pip).
- Angriff
- Entwickler zieht manipuliertes Image.
- Backdoor wird mitdeployt.
- Angreifer erhält Zugriff auf Produktionsumgebung.
- Gegenmaßnahmen
- Nur vertrauenswürdige Registries.
- Image-Signaturen prüfen.
- SBOM erzeugen und validieren.
- Automatisches Scanning in CI/CD.
Registry-Sicherheit
- Registry ist zentrale Vertrauensquelle.
- Manipulierte Registry = manipulierte Infrastruktur.
- Risiken
- Unverschlüsselte Push/Pull-Verbindungen.
- Keine Authentifizierung.
- Übermäßige Schreibrechte.
- Maßnahmen
- TLS erzwingen.
- RBAC für Push und Pull.
- Image-Immutable-Tags nutzen.
- Audit-Logs aktivieren.
Netzwerksegmentierung
- Standard-Bridge erlaubt Ost-West-Traffic.
- Container können sich gegenseitig erreichen.
- Risiken
- Laterale Bewegung.
- Pivot zwischen Microservices.
- Maßnahmen
- User-Defined Networks.
- Kubernetes NetworkPolicies.
- Service Mesh mit mTLS.
- Zero-Trust-Prinzip auch intern.
Secrets Management
- Secrets dürfen nicht im Image oder ENV-Variablen liegen.
- Risiko
- docker inspect zeigt Umgebungsvariablen.
- kubectl describe pod offenbart Secrets.
- Leaked API-Key → Cloud kompromittiert.
- Maßnahmen
- Secrets Manager oder Vault einsetzen.
- Temporäre Tokens.
- Automatische Rotation.
- Minimaler Zugriff pro Service.
Kubernetes als Verstärker
- Docker ist nur Basis.
- Kubernetes erweitert Angriffsfläche.
- Risiken
- Offener API-Server.
- Fehlendes RBAC.
- Überprivilegierte ServiceAccounts.
- Unsichere Helm-Charts.
- Angriff
- Kompromittierter Pod liest ServiceAccount-Token.
- Token erlaubt Cluster-weite Aktionen.
- Deployment manipuliert.
- Maßnahmen
- RBAC strikt definieren.
- PodSecurityStandards erzwingen.
- Admission Controller einsetzen.
- Audit-Logs überwachen.
Isolation durch zusätzliche Schichten
- Container-Isolation kann verstärkt werden.
- Beispiele
- gVisor – Userspace-Kernel.
- Kata Containers – Container in Micro-VM.
- Firecracker – Minimal-VM-Ansatz.
- Nutzen
- Reduzierte Angriffsfläche.
- Stärkere Mandantentrennung.
- Geeignet für Public-Cloud und Multi-Tenant.
Kernaussage
- Container sind effizient – aber keine Sicherheitsgrenze.
- Identität, Isolation und Supply-Chain sind die zentralen Risiken.
- Runtime-Monitoring ist Pflicht.
- Kubernetes vergrößert die Angriffsfläche erheblich.
- Sicherheit muss Teil der CI/CD-Pipeline sein.