Aikido

Containersicherheit Best Practices im Jahr 2026

Verfasst von
Ruben Camerlynck

Von kundenorientierten Anwendungen wie Netflix und Spotify bis hin zu kritischen Unternehmensplattformen für Personalwesen, Finanzen und Lieferketten sind Container schnell zum Rückgrat moderner Softwarelösungen geworden.

Trotz der massiven Verbreitung führt die Nutzung von Containern jedoch auch dazu, dass Entwicklungsteams wichtige Sicherheitsmaßnahmen übersehen. Anfang 2025 veröffentlichten Angreifer eine bösartige Version des Kong Ingress Controllers auf Docker Hub, nachdem sie dessen Lieferkette kompromittiert hatten, und betteten einen Cryptominer in ein Image ein, auf das Tausende von Teams angewiesen sind.

Viele Organisationen konzentrieren sich hauptsächlich auf Container-Image-Scan, SCA-Checks und Lizenzmanagement, aber diese Schritte adressieren nur einen Teil des Risikos. Vorfälle wie die Kong-Kompromittierung erfordern Sicherheitsstrategien, die weit über das Deployment hinausgehen, einschließlich End-of-Life (EOL)-Tracking und automatisierte Updates für Abhängigkeiten und Images.

In diesem Leitfaden gehen wir die Best Practices für die Absicherung von Containern in jeder Phase ihres Lebenszyklus durch und stellen eine detaillierte Checkliste zur Zusammenfassung bereit.

Was ist Containersicherheit?

Containersicherheit ist die Praxis, containerisierte Anwendungen während ihres gesamten Lebenszyklus zu schützen, von der Entwicklung und Bereitstellung bis zur Laufzeit. Da Container den zugrunde liegenden Host-Kernel teilen und in großen Clustern bereitgestellt werden, kann jede Fehlkonfiguration oder Schwachstelle schnell zu einem Angriffsvektor werden.

Umfassende Containersicherheitsprogramme umfassen die Validierung und Härtung von Images, den Schutz von Registries und Kubernetes-Plattformen, die Durchsetzung von Zugriffen mit geringsten Rechten und die Erkennung verdächtigen Verhaltens in der Produktion, um nur einige zu nennen. Es erfordert ein Defense-in-Depth-Modell, das in den gesamten Workflow integriert ist, um Compliance zu gewährleisten und Ihre Angriffsfläche zu minimieren.

Häufige Herausforderungen bei der Absicherung von Containern

Traditionelle Containersicherheitsstrategien scheitern, weil Teams das Scannen als Ziellinie statt als Grundlage betrachten und sich auf statische, einmalige Bewertungen statt auf kontinuierliche Validierung verlassen.

Hier sind einige wichtige blinde Flecken, die Teams übersehen:

  • End-of-Life (EOL) Basis-Images: Workloads, die auf Basis-Images laufen, die nicht mehr gewartet werden.

  • Veraltete Abhängigkeiten: Container, die ohne automatisierte Mechanismen zur Aktualisierung von Abhängigkeiten laufen, akkumulieren im Laufe der Zeit unbemerkt Schwachstellen.

  • Laufzeit-Drift: Umgebungen sind dynamisch; Konfigurationsänderungen, temporäre Patches und injizierte Sidecars führen dazu, dass laufende Workloads vom ursprünglichen Image abweichen.

Grundprinzipien der Containersicherheit

Die effektive Absicherung von Containern erfordert einen DevSecOps-Ansatz, bei dem der gesamte Container-Lebenszyklus berücksichtigt wird: vom Build und der Bereitstellung bis zur Laufzeit und Wartung. Jede Phase hat einzigartige Sicherheitsanforderungen und benötigt ständige Aufmerksamkeit, um eine starke Sicherheitslage aufrechtzuerhalten.

Dieser kontinuierliche Prozess lässt sich in drei Schlüsselbereiche gliedern:

  • Absicherung der Build-Pipeline: Schutz von Container-Images und der Software-Lieferkette, eine Best Practice, empfohlen von NIST.

  • Absicherung der Konfiguration und Bereitstellung: Sicherstellen, dass Container und ihre Orchestratoren korrekt konfiguriert sind.

  • Absicherung der Laufzeitumgebung: Überwachung und Schutz laufender Container.

Für einen konkreten tiefen Einblick in die Implementierung von Containersicherheit lesen Sie unseren Artikel über Containersicherheit – Der vollständige Leitfaden.

Best Practices für die Absicherung der Build-Pipeline

Praktische Checkliste

1. Minimale und vertrauenswürdige Basis-Images verwenden

Jedes Softwarestück in einem Container-Image vergrößert dessen Angriffsfläche. Die Verwendung eines großen, universellen Basis-Images wie dem vollständigen Ubuntu OS bringt unzählige Bibliotheken und Binärdateien mit sich, die Ihre Anwendung wahrscheinlich nicht benötigt und von denen viele bekannte Schwachstellen aufweisen können.

Best Practices zur Anwendung:

  • Minimale Images wählen: Entscheiden Sie sich für „distroless“ oder „alpine“ Basis-Images. Distroless-Images enthalten nur Ihre Anwendung und deren Laufzeitabhängigkeiten, während Alpine Linux eine wesentlich kleinere Alternative mit grundlegender Linux-Funktionalität bietet.

  • Vertrauenswürdige Quellen verwenden: Beziehen Sie Images nur von seriösen Registries wie den offiziellen Docker Hub Images oder vertrauenswürdigen internen Registries. Vermeiden Sie die Verwendung öffentlicher Images von unbekannten Herausgebern, da diese bösartigen Code enthalten könnten.

  • Image-Versionen festlegen: Anstatt den :latest-Tag zu verwenden, geben Sie eine exakte Version an (z. B. node:18.17.1-alpine). Dies verhindert, dass unerwartete Breaking Changes oder neue Schwachstellen automatisch in Ihre Builds eingeführt werden.

  • Verwenden Sie signierte Images: Implementieren Sie Prozesse zur Imagesignierung (z. B. mit Sigstore/Cosign), um die Herkunft und Integrität des von Ihnen bereitgestellten Images kryptografisch zu überprüfen.

  • EOL-Basis-Images zur Build-Zeit verfolgen: Automatisieren Sie Ihre CI-Pipelines, um Sie automatisch zu benachrichtigen, wenn das von Ihnen verwendete Basis-Image sein End-of-Life (EOL) erreicht hat.

2. Images auf Schwachstellen scannen

Container-Images bestehen aus Schichten, darunter ein Betriebssystem, Systembibliotheken und Anwendungsabhängigkeiten. Eine Schwachstelle in einer dieser Schichten kann ausgenutzt werden und zu einer Privilegieneskalation führen. 

Best Practices zur Anwendung:

  • Scanning in CI/CD integrieren: Automatisieren Sie Schwachstellenscans bei jedem neuen Image-Build. Dies stellt sicher, dass Sicherheitsprüfungen ein fester Bestandteil Ihres Entwicklungs-Workflows sind.

  • Mehr als nur OS-Pakete scannen: Effektive Scanning-Tools prüfen auf Schwachstellen in OS-Paketen (wie apt oder yum) und Anwendungsabhängigkeiten (wie npm, pip oder Maven).

  • Anfällige Builds blockieren: Konfigurieren Sie Ihre CI/CD-Pipeline so, dass der Build fehlschlägt, wenn Schwachstellen mit hoher Kritikalität entdeckt werden. Dies erzwingt einen grundlegenden Sicherheitsstandard, noch bevor Code zusammengeführt wird.

Neugierig auf Container-Scanning-Tools? Lesen Sie unseren Artikel über die Top 13 Container-Scanning-Tools im Jahr 2026.

3. Anwendungsabhängigkeiten verwalten (SCA)

Ihr eigener Code basiert auf Dutzenden, wenn nicht Hunderten von Open-Source-Paketen. Eine einzige anfällige Abhängigkeit kann Ihre gesamte Anwendung kompromittieren. Software-Kompositionsanalyse (SCA) hilft Ihnen, diese Risiken zu finden und zu verwalten. 

Best Practices zur Anwendung:

  • SBOM-Generierung: Eine Software-Stückliste (SBOM) ist ein vollständiges Inventar jeder Komponente Ihrer Software. Dies ist entscheidend, um Abhängigkeiten zu verfolgen und die Auswirkungen einer neu entdeckten Schwachstelle schnell zu identifizieren.

  • Veraltete Lizenzen prüfen: SCA-Tools können auch nach nicht konformen oder riskanten Open-Source-Lizenzen suchen, um Ihnen zu helfen, rechtliche Probleme zu vermeiden.

  • Fixes priorisieren: Konzentrieren Sie sich auf Schwachstellen, die tatsächlich ausnutzbar sind. Moderne Tools können analysieren, ob eine anfällige Funktion in Ihrem Code aufgerufen wird, und Ihnen so helfen, reale Bedrohungen gegenüber theoretischen zu priorisieren.

  • Workflows für automatische Abhängigkeitsupdates: Richten Sie automatisierte Workflows ein, um veraltete Abhängigkeiten zu erkennen und automatisch Pull Requests (PR) zu erstellen, um diese auf eine sichere Version zu aktualisieren.

  • EOL-Abhängigkeitserkennung: Genau wie Basis-Images haben Anwendungsbibliotheken EOL-Daten. Verfolgen Sie Abhängigkeiten, die keinen Sicherheitssupport mehr erhalten.

End-of-Life (EOL) Basis-Images und Runtimes verfolgen

Viele Organisationen konzentrieren sich stark auf aktives CVE-Scanning, übersehen jedoch das Risiko, das entsteht, wenn eine Distribution (wie Alpine oder Debian) oder eine Runtime-Version (wie Python) ihr End-of-Life erreicht und keine Sicherheitspatches mehr erhält. 

Sobald dies geschieht, erhält jede nach dem EOL-Datum entdeckte Schwachstelle keine offiziellen Patches mehr, und das weitere Betreiben dieser Images kann Organisationen auch aus der Compliance mit Standards wie PCI DSS und SOC 2 bringen.

Um diese Herausforderungen zu bewältigen, müssen gehärtete, minimale Basis-Images eingesetzt werden, um die Angriffsfläche zu reduzieren. Es erfordert auch die Verfolgung des EOL-Status zur Build-Zeit. Plattformen wie Aikido Security können Teams automatisch warnen, wenn ein Image in ihrem Repository oder ihrer CI/CD-Pipeline sein EOL-Datum nähert oder überschritten hat, und sogar automatische Update-Mechanismen für Standard- und vorgehärtete Images bereitstellen.

Best Practices für Bereitstellung und Konfiguration

Ein sicheres Image kann immer noch kompromittiert werden, wenn es mit schwachen Konfigurationen bereitgestellt wird. Die Absicherung der Umgebung, in der Ihre Container laufen, ist genauso wichtig wie die Absicherung der Container selbst.

Praktische Checkliste

1. Das Prinzip der geringsten Rechte durchsetzen

Container sollten nur die Berechtigungen haben, die sie unbedingt zum Funktionieren benötigen. Das Ausführen von Containern mit übermäßigen Privilegien ist eine der häufigsten und gefährlichsten Fehlkonfigurationen.

Best Practices zur Anwendung:

  • Container nicht als Root ausführen: Standardmäßig laufen Container als Root-Benutzer. Dies ist ein großes Risiko. Wenn ein Angreifer die Kontrolle über den Container erlangt, hat er Root-Zugriff. Verwenden Sie die USER-Anweisung in Ihrem Dockerfile, um einen Nicht-Root-Benutzer anzugeben.

  • Kernel-Capabilities begrenzen: Die Standardeinstellungen von Docker gewähren Containern eine Reihe von Kernel-Capabilities. Löschen Sie alle unnötigen Capabilities mit dem Flag --cap-drop=all und fügen Sie nur die wesentlichen wieder hinzu (--cap-add=...).

  • Verwenden Sie Read-Only Filesystems: Wenn ein Container keine Daten in sein Dateisystem schreiben muss, betreiben Sie ihn im Read-Only-Modus (--read-only). Dies verhindert, dass Angreifer Dateien modifizieren oder Malware installieren.

  • Implementieren Sie Sicherheitsprofile: Nutzen Sie integrierte Linux-Sicherheitsmodule wie seccomp-Profile (secure computing) oder AppArmor/SELinux, um genau zu definieren, welche Systemaufrufe ein Container ausführen darf.

  • Vermeiden Sie gefährliche Host-Mounts: Mounten Sie niemals sensible Host-Pfade, insbesondere /var/run/docker.sock, in einen Container. Diese Datei gewährt nahezu vollständige Kontrolle über den Docker-Daemon und das Host-System.

2. Sichern Sie Ihren Container-Orchestrator 

Orchestrierungsplattformen fügen eine zusätzliche Risikoebe hinzu, unabhängig davon, ob Sie Kubernetes oder Docker Swarm selbst hosten oder Managed Services nutzen. Managed Platforms wie Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS) und Google Kubernetes Engine (GKE) minimieren diese Risiken durch die Einhaltung eines Modells der geteilten Verantwortung: Sie sichern die zugrunde liegende Infrastruktur und Orchestrierungsebene, während die Benutzern weiterhin für den Schutz ihrer Container und Anwendungen verantwortlich sind.

Best Practices zur Anwendung:

  • Verwenden Sie Netzwerkrichtlinien: In Kubernetes fungieren Netzwerkrichtlinien als Firewall für Pods. Standardmäßig können alle Pods miteinander kommunizieren. Verwenden Sie Netzwerkrichtlinien, um den Datenverkehr zwischen Pods einzuschränken und nur notwendige Verbindungen zuzulassen.

  • Verwalten Sie Secrets ordnungsgemäß: Hinterlegen Sie niemals Secrets wie API-Schlüssel, Passwörter oder Zertifikate fest in Ihren Container-Images oder Umgebungsvariablen. Nutzen Sie die integrierten Secrets-Management-Tools Ihres Orchestrators (z. B. Kubernetes Secrets) oder eine dedizierte Lösung wie HashiCorp Vault.

  • Aktivieren Sie Role-Based Access Control (RBAC): Stellen Sie für Kubernetes sicher, dass RBAC aktiviert ist, um zu steuern, wer auf die Kubernetes-API zugreifen kann und welche Berechtigungen diese Personen haben. Vergeben Sie Berechtigungen nach dem Prinzip der geringsten Rechte.

  • Verwenden Sie Admission Controller: Nutzen Sie Policy-Enforcement-Tools wie OPA Gatekeeper und Kyverno, um Deployments, die gegen die Sicherheitsregeln Ihrer Organisation verstoßen, automatisch zu prüfen oder zu blockieren.

Suchen Sie einen tieferen Einblick in die Orchestrierungssicherheit? Lesen Sie unseren Artikel über Docker & Kubernetes Containersicherheit erklärt.

KI zur automatischen Behebung von Schwachstellen in Containern nutzen

Herkömmliches Container-Scanning identifiziert Schwachstellen mithilfe von Datenbanken wie CVE und NVD, dies führt jedoch oft zu langen Listen von Warnmeldungen, deren Priorisierung Entwicklungsteams schwerfällt. 

KI begegnet dieser Herausforderung, indem sie jedem Befund Kontext hinzufügt. Sie bewertet Warnmeldungen, um festzustellen, ob die anfällige Funktion oder Komponente, wie ein veraltetes Basis-Image, eine falsch konfigurierte Dockerfile-Anweisung, ein über das Internet erreichbarer Container oder ein Softwarepaket, tatsächlich genutzt wird, was die Behebung von Problemen beschleunigt und die Produktivität der Entwickelnden verbessert.

Plattformen wie Aikido Security erweitern dies durch AI-powered AutoFix-Funktionen wie Ein-Klick-Korrekturen, automatisierte PRs und Basis-Image-Upgrades. Für Container-Images, die Hunderte von CVEs enthalten können, filtert die KI-gestützte Erreichbarkeitsanalyse-Engine das Rauschen heraus und hebt Schwachstellen hervor, die tatsächlich ausnutzbar sind.

Best Practices für Runtime Security und Monitoring

Sobald Ihre Container laufen, ist die Arbeit nicht getan. Sie müssen sie auf Bedrohungen und anomales Verhalten überwachen. Laut einer Studie des National Institute of Standards and Technology ist Runtime Monitoring ein Schlüsselbestandteil effektiver Containersicherheitsstrategien.

Praktische Checkliste:

  • Netzwerkaktivität verfolgen: Überwachen Sie Netzwerkverbindungen zu und von Ihren Containern. Achten Sie auf Verbindungen zu verdächtigen IP-Adressen oder ungewöhnliche Datenübertragungsmuster.

  • Echtzeit-Anomalieerkennung: Setzen Sie Tools wie Falco und eBPF-basierte Systeme ein, um Systemaufrufe zu überwachen und verdächtiges Container-Verhalten zu identifizieren.

  • Compliance-Überwachung anhand von Benchmarks automatisieren: Überprüfen Sie die Laufzeitumgebung kontinuierlich anhand von Branchen-Best Practices wie den CIS Kubernetes Benchmarks, um die Konfigurationshygiene sicherzustellen.

  • Container-Breakout verhindern: Erzwingen Sie eine strikte Isolation mithilfe integrierter Linux-Sicherheitsmodule wie seccomp (secure computing)-Profilen und AppArmor, um den Zugriff eines Containers auf den Host-Kernel zu begrenzen.

  • Runtime Drift Detection: Unautorisierte Änderungen an laufenden Containern im Vergleich zu ihrem ursprünglichen Basis-Image oder ihrer Konfiguration weisen auf eine potenzielle Kompromittierung oder Fehlkonfiguration hin.

  • Laufende Container regelmäßig auf neue Schwachstellen scannen: Die Schwachstellenlandschaft ändert sich täglich; stellen Sie sicher, dass Ihre laufenden Workloads kontinuierlich auf neue CVEs gescannt und bewertet werden.
  • Alles protokollieren: Stellen Sie sicher, dass alle Ereignisse und Aktivitäten erfasst werden. Etablieren Sie robuste Logging- und Alerting-Pipelines, um Logs in einem zentralen System zu aggregieren.

Eine praktische Checkliste für Containersicherheit

Hier ist eine einfache Checkliste, die Ihnen hilft, diese Best Practices für Containersicherheit umzusetzen.

Bereich Aufgabe Status
Build & CI/CD Verwenden Sie minimale Basis-Images (distroless, alpine)
Images aus vertrauenswürdigen, offiziellen Registries beziehen
Fixieren Sie Basis-Image-Versionen, anstatt :latest zu verwenden
Container mit einem Nicht-Root-Benutzer ausführen
Integrieren Sie Schwachstellenscans für Container-Images in CI
Führen Sie eine Software-Kompositionsanalyse (SCA) für Abhängigkeiten durch
Builds bei kritischen Schwachstellen fehlschlagen lassen
Generieren Sie eine Software-Stückliste (SBOM) für alle Images
Signieren und verifizieren Sie alle Container-Images, um Herkunft und Integrität sicherzustellen
Scannen Sie Infrastructure-as-Code (IaC)-Vorlagen (z. B. Kubernetes-Manifeste) auf Sicherheitsrisiken
Konfiguration Verzichten Sie auf unnötige Kernel-Fähigkeiten
Das Root-Dateisystem des Containers als schreibgeschützt mounten
Netzwerkrichtlinien zur Beschränkung des Pod-zu-Pod-Datenverkehrs verwenden
Secrets sicher speichern (z. B. Kubernetes Secrets, Vault)
Role-Based Access Control (RBAC) mit dem Prinzip der geringsten Rechte implementieren
Sicherheitsrichtlinien mittels „Policy as Code“ am Admission Controller durchsetzen
Container-spezifische Firewalls und Netzwerksegmentierung implementieren
Ressourcenlimits festlegen
Laufzeit Runtime-Bedrohungserkennung und -Monitoring implementieren
Container-Logs zentralisieren und überwachen
Laufende Container regelmäßig auf neue Schwachstellen scannen
Dateisystemzugriffe und Netzwerkaktivitäten auf Anomalien überwachen
Regelmäßige Incident-Response-Übungen planen und durchführen
Compliance-Monitoring anhand von Benchmarks automatisieren (z. B. CIS Kubernetes Benchmarks)

Fazit

Bei all dem ist es wichtig zu bedenken, dass Code-Sicherheit keine einmalige Aufgabe ist. Es ist nichts, was man einrichtet und dann vergisst, sondern eine fortlaufende Praxis. Täglich tauchen neue Bedrohungen, neue Pakete und neue Risiken auf. Die Branche hat sich von reaktivem Scanning zu proaktivem, kontinuierlichem Schutz entwickelt, und moderne Teams passen sich dem an.

Aikido Security vereinfacht dies durch die Kombination von KI-gestützten Statischen Anwendungssicherheitstests (SAST), Ein-Klick-AutoFixes und vorgehärteten Root.io-Images, wodurch Teams den Shift Left umsetzen können, ohne Sicherheit zu einem Engpass zu machen.

Möchten Sie volle Transparenz über Ihre Container-Sicherheitslage? Starten Sie Ihre kostenlose Testversion oder buchen Sie noch heute eine Demo mit Aikido Security.

FAQ

Was sind die Best Practices für das Scannen von Container-Images auf Schwachstellen?

Image-Scans funktionieren am besten, wenn sie in mehreren Phasen durchgeführt werden, einschließlich während des Builds, vor der Bereitstellung und innerhalb von Registries. Scans sollten sowohl OS-Pakete als auch Anwendungsabhängigkeiten abdecken, Image-Signaturen überprüfen und gehärtete Basis-Images nutzen. Plattformen wie Aikido Security zentralisieren das Image- und Scan von Softwareabhängigkeiten für eine einfachere Verwaltung.

Wie implementiere ich Role-Based Access Control (RBAC) für Containersicherheit?

RBAC ermöglicht es Organisationen, Berechtigungen zu steuern, indem sie Benutzern oder Dienstkonten spezifische Rollen zuweisen. In Kubernetes beinhaltet dies die Erstellung von Roles und ClusterRoles und deren Bindung mit RoleBindings oder ClusterRoleBindings. Berechtigungen auf das Notwendigste zu beschränken. Tools wie Aikido Security bieten Transparenz über RBAC-Konfigurationen und heben übermäßig permissive Einstellungen hervor.

Wie verbessern Netzwerkrichtlinien die Containersicherheit in Kubernetes?

Netzwerkrichtlinien definieren, wie Pods und Services kommunizieren, wodurch Sie den Datenverkehr steuern und das Potenzial für laterale Bewegung nach einer Kompromittierung reduzieren können. Standardmäßig erlaubt Kubernetes den gesamten Datenverkehr, daher ist das Festlegen von Deny-by-Default-Richtlinien und das Spezifizieren erlaubter Ingress- und Egress-Regeln entscheidend. Plattformen wie Aikido Security helfen Teams bei der Implementierung einer ordnungsgemäßen Netzwerksegmentierung, indem sie fehlende oder übermäßig permissive Richtlinien kennzeichnen.

Welche Tools werden für die Implementierung von Best Practices der Containersicherheit empfohlen?

Die Absicherung von Containern erfordert in der Regel das Zusammenspiel mehrerer Tools: Image-Scanner für Schwachstellen, Secret-Scanner für sensible Zugangsdaten, Policy Enforcement Engines wie OPA oder Gatekeeper zur Sicherstellung der Compliance, Laufzeit-Sicherheitstools zur Überwachung verdächtiger Aktivitäten und CSPM-Lösungen zur Überprüfung der Cloud-Einstellungen. Plattformen wie Aikido Security vereinfachen Prozesse, indem sie automatisierte Prüfungen, Warnmeldungen und Updates in Ihrem Container-Ökosystem ermöglichen.

Das könnte Sie auch interessieren:

Teilen:

https://www.aikido.dev/blog/container-security-best-practices

Abonnieren Sie Bedrohungs-News.

Starten Sie noch heute, kostenlos.

Kostenlos starten
Container scannen
Ohne Kreditkarte

Sicherheit jetzt implementieren

Sichern Sie Ihren Code, Ihre Cloud und Ihre Laufzeit in einem zentralen System.
Finden und beheben Sie Schwachstellen schnell und automatisch.

Keine Kreditkarte erforderlich | Scan-Ergebnisse in 32 Sek.