Aikido

Best Practices Container im Jahr 2026

Ruben CamerlynckRuben Camerlynck
|
#
#

Von Verbraucheranwendungen wie Netflix und Spotify bis hin zu kritischen Unternehmensplattformen für Personalwesen, Finanzen und Lieferketten – Container haben sich schnell zum Rückgrat moderner Softwarelösungen entwickelt.

Trotz der massiven Verbreitung führt container 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 geknackt hatten, und betteten einen Cryptominer in ein Image ein, auf das Tausende von Teams angewiesen sind.

Viele Unternehmen konzentrieren sich in erster Linie auf das Scannen container , SCA und die Lizenzverwaltung, doch diese Maßnahmen decken nur einen Teil des Risikos ab. Vorfälle wie der Kong-Hack erfordern Sicherheitsstrategien, die weit über die Bereitstellung hinausgehen, darunter die Nachverfolgung des End-of-Life (EOL) und automatisierte Updates sowohl für Abhängigkeiten als auch für Images.

In diesem Leitfaden gehen wir die Best Practices für die Sicherung von Containern in jeder Phase ihres Lebenszyklus durch und stellen eine detaillierte Checkliste zur Verfügung, die alles zusammenfasst.

Was ist Container ?

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

Umfassende container umfassen unter anderem die Validierung und Absicherung von Images, den Schutz von Registries und Kubernetes-Plattformen, die Durchsetzung von Zugriffsrechten mit minimalen Berechtigungen und die Erkennung verdächtiger Aktivitäten in der Produktion. Dazu ist ein tiefgreifendes Verteidigungsmodell erforderlich, das in den gesamten Workflow integriert ist, compliance sicherstellt compliance die Angriffsfläche minimiert.

Häufige Herausforderungen bei der Sicherung von Containern

Herkömmliche Strategien container scheitern, weil Teams das Scannen als Endziel statt als Ausgangspunkt 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)-Basisimages: Workloads, die auf Basisimages ausgeführt werden, die nicht mehr gewartet werden.

  • Veraltete Abhängigkeiten: Container, die ohne automatisierte Mechanismen zur Aktualisierung von Abhängigkeiten ausgeführt werden, sammeln im Laufe der Zeit unbemerkt Schwachstellen an.

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

Grundprinzipien der Container

Die effektive Sicherung von Containern erfordert einen DevSecOps , bei dem der gesamte container berücksichtigt wird: vom Aufbau und der Bereitstellung bis hin zur Laufzeit und Wartung. Jede Phase hat einzigartige Sicherheitsanforderungen und erfordert ständige Aufmerksamkeit, um eine starke Sicherheitslage aufrechtzuerhalten.

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

  • Sicherung der Build-Pipeline: Schutz von container und der Software-Lieferkette, eine vom NIST empfohlene Best Practice .

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

  • Sicherung der Laufzeitumgebung: Überwachung und Schutz von Live-Containern.

Eine ausführliche Darstellung der Implementierung container finden Sie in unserem Artikel Container – Der vollständige Leitfaden“.

Bewährte Verfahren zur Sicherung der Build-Pipeline

Checkliste für umsetzbare Maßnahmen

1. Verwenden Sie minimale und vertrauenswürdige Basisimages.

Jedes Softwareelement in einem container vergrößert dessen Angriffsfläche. Die Verwendung eines großen, universellen Basis-Images wie dem vollständigen Ubuntu-Betriebssystem 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.

Zu übernehmende bewährte Verfahren:

  • Wählen Sie minimale Images: 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 viel kleinere Alternative mit grundlegenden Linux-Funktionen bietet.

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

  • Pin Image Versions: Anstelle des Tags „:latest“ geben Sie eine genaue Version an (z. B. node:18.17.1-alpine). Dadurch wird verhindert, dass unerwartete Änderungen oder neue Schwachstellen automatisch in Ihre Builds übernommen werden.

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

  • Verfolgen Sie EOL-Basisimages zur Build-Zeit: Automatisieren Sie Ihre CI-Pipelines, um automatisch benachrichtigt zu werden, wenn das von Ihnen verwendete Basisimage das Ende seiner Lebensdauer (EOL) erreicht hat.

2. Bilder auf Schwachstellen scannen

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

Zu übernehmende bewährte Verfahren:

  • Integrieren Sie Scans in CI/CD: Automatisieren Sie Schwachstellenscans jedes Mal, wenn ein neues Image erstellt wird. So stellen Sie sicher, dass Sicherheitsüberprüfungen ein fester Bestandteil Ihres Entwicklungsworkflows sind.

  • Suchen Sie nicht nur nach Betriebssystem-Paketen: Effektive Scan-Tools suchen nach Schwachstellen in Betriebssystem-Paketen (wie apt oder yum) und Anwendungsabhängigkeiten (wie npm, pip oder Maven).

  • Blockieren Sie anfällige Builds: Konfigurieren Sie Ihre CI/CD-Pipeline so, dass der Build fehlschlägt, wenn Schwachstellen mit hohem Schweregrad entdeckt werden. Dadurch wird ein grundlegender Sicherheitsstandard durchgesetzt, noch bevor der Code zusammengeführt wird.

Neugierig auf container -Tools? Lesen Sie unseren Artikel über die 13 besten Container -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 gefährden. Software-Kompositionsanalyse (SCA) hilft Ihnen, diese Risiken zu finden und zu verwalten. 

Zu übernehmende bewährte Verfahren:

  • SBOM : Eine Software-Stückliste SBOM) ist eine vollständige Bestandsaufnahme aller Komponenten Ihrer Software. Dies ist entscheidend für die Verfolgung von Abhängigkeiten und die schnelle Identifizierung der Auswirkungen einer neu entdeckten Schwachstelle.

  • Überprüfen Sie auf veraltete Lizenzen: SCA können auch nach nicht konformen oder riskanten Open-Source-Lizenzen suchen und Ihnen so helfen, rechtliche Probleme zu vermeiden.

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

  • Workflows für die automatische Aktualisierung von Abhängigkeiten: Richten Sie automatisierte Workflows ein, um veraltete Abhängigkeiten zu erkennen und automatisch Pull-Anfragen (PR) zu erstellen, um sie auf eine sichere Version zu aktualisieren.

  • EOL-Abhängigkeitserkennung: Genau wie Basisimages haben auch Anwendungsbibliotheken EOL-Daten. Verfolgen Sie Abhängigkeiten, für die kein Sicherheitssupport mehr angeboten wird.

Verfolgen Sie Basisimages und Laufzeiten am Ende ihrer Lebensdauer (EOL)

Viele Organisationen konzentrieren sich stark auf aktives CVE-Scanning, übersehen jedoch das Risiko, das entsteht, wenn eine Distribution (wie Alpine oder Debian) oder eine Laufzeitversion (wie Python) das Ende ihrer Lebensdauer erreicht und keine Sicherheitspatches mehr erhält. 

Sobald dies geschieht, werden für alle nach dem EOL-Datum entdeckten Schwachstellen keine offiziellen Patches mehr bereitgestellt, und die weitere Verwendung dieser Images kann dazu führen, compliance Unternehmen Standards wie PCI DSS und SOC 2 nicht mehr compliance .

Um diesen Herausforderungen zu begegnen, müssen gehärtete Minimal-Basisimages verwendet werden, um die Angriffsfläche zu reduzieren. Außerdem muss der EOL-Status zum Zeitpunkt der Erstellung verfolgt werden. Plattformen wie Aikido können Teams automatisch warnen, wenn ein Image in ihrer Registry oder CI/CD-Pipeline sich dem EOL-Datum nähert oder dieses bereits überschritten hat, und bieten sogar automatische Update-Mechanismen für Standard- und vorgehärtete Images.

Bewährte Verfahren für Bereitstellung und Konfiguration

Ein sicheres Image kann dennoch kompromittiert werden, wenn es mit schwachen Konfigurationen bereitgestellt wird. Die Sicherung der Umgebung, in der Ihre Container ausgeführt werden, ist genauso wichtig wie die Sicherung der Container selbst.

Checkliste für umsetzbare Maßnahmen

1. Das Prinzip der geringsten Privilegien durchsetzen

Container sollten nur über die Berechtigungen verfügen, die sie für ihre Funktion unbedingt benötigen. Das Ausführen von Containern mit übermäßigen Berechtigungen ist eine der häufigsten und gefährlichsten Fehlkonfigurationen.

Zu übernehmende bewährte Verfahren:

  • Führen Sie Container nicht als Root aus: Standardmäßig werden Container als Root-Benutzer ausgeführt. Dies stellt ein großes Risiko dar. Wenn ein Angreifer die Kontrolle über den container erlangt, hat er Root-Zugriff. Verwenden Sie die USER-Anweisung in Ihrer Dockerfile, um einen Nicht-Root-Benutzer anzugeben.

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

  • Verwenden Sie schreibgeschützte Dateisysteme: Wenn ein container Daten in sein Dateisystem schreiben muss, führen Sie ihn im schreibgeschützten Modus (--read-only) aus. Dadurch wird verhindert, dass Angreifer Dateien ändern oder Malware installieren können.

  • Sicherheitsprofile implementieren: Verwenden Sie integrierte Linux-Sicherheitsmodule wie Seccomp-Profile (Secure Computing) oder AppArmor/SELinux, um genau zu definieren, welche Systemaufrufe ein container ausführen container

  • 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 

Orchestrierungsplattformen bringen ein zusätzliches Risiko mit sich, unabhängig davon, ob Sie Kubernetes oder Docker Swarm selbst hosten oder Managed Services nutzen. Verwaltete Plattformen wie Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS) und Google Kubernetes Engine (GKE) minimieren diese Risiken, indem sie einem Modell der geteilten Verantwortung folgen: Sie sichern die zugrunde liegende Infrastruktur und die Orchestrierungsebene, während die Benutzer weiterhin für den Schutz ihrer Container und Anwendungen verantwortlich sind.

Zu übernehmende bewährte Verfahren:

  • Netzwerkrichtlinien verwenden: 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.

  • Secrets verwalten: Speichern Sie niemals secrets API-Schlüssel, Passwörter oder Zertifikate fest in Ihren container oder Umgebungsvariablen. Verwenden Sie die integrierten Tools secrets Ihres Orchestrators (z. B. Kubernetes Secrets) oder eine spezielle Lösung wie HashiCorp Vault.

  • Rollenbasierte Zugriffskontrolle (RBAC) aktivieren: Stellen Sie für Kubernetes sicher, dass RBAC aktiviert ist, um zu steuern, wer auf die Kubernetes-API zugreifen kann und über welche Berechtigungen diese Personen verfügen. Vergeben Sie Berechtigungen nach dem Prinzip der geringsten Privilegien.

  • Verwenden Sie Zulassungssteuerungen: Verwenden Sie Tools zur Durchsetzung von Richtlinien wie OPA Gatekeeper und Kyverno, um Bereitstellungen, die gegen die Sicherheitsregeln Ihres Unternehmens verstoßen, automatisch zu prüfen oder zu blockieren.

Möchten Sie mehr über Orchestrierungssicherheit erfahren? Lesen Sie unseren Artikel „Docker & Kubernetes Container Explained“(Docker- und Kubernetes-Containersicherheit erklärt).

Automatische Behebung von Schwachstellen in Containern mithilfe von KI

container herkömmlichen container werden Schwachstellen mithilfe von Datenbanken wie CVE und NVD identifiziert, was jedoch häufig zu langen Listen mit Warnmeldungen führt, deren Priorisierung für Entwicklungsteams eine Herausforderung darstellt. 

KI begegnet dieser Herausforderung, indem sie jedem Befund Kontext hinzufügt. Sie wertet Warnmeldungen aus, um festzustellen, ob die anfällige Funktion oder Komponente, wie beispielsweise ein veraltetes Basisimage, eine falsch konfigurierte Dockerfile-Anweisung, container im Internet exponierter container ein Softwarepaket, tatsächlich verwendet wird, wodurch die Behebung von Problemen beschleunigt und die Produktivität der Entwickler verbessert wird.

Plattformen wie Aikido erweitern dies durch KI-gestützte AutoFix-Funktionen wie Ein-Klick-Korrekturen, automatisierte PRs und Basis-Image-Upgrades. Bei container , die Hunderte von CVEs enthalten können, filtert die KI-gestützte Erreichbarkeitsanalyse Störsignale heraus und hebt Schwachstellen hervor, die tatsächlich ausgenutzt werden können.

Bewährte Verfahren für Laufzeitsicherheit und -überwachung

Sobald Ihre Container laufen, ist die Arbeit noch nicht getan. Sie müssen sie auf Bedrohungen und anomales Verhalten überwachen. Laut einer Studie des National Institute of Standards and Technology ist die Laufzeitüberwachung ein wichtiger Bestandteil effektiver container .

Checkliste für umsetzbare Maßnahmen:

  • Netzwerkaktivitäten verfolgen: Überwachen Sie die 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 zu identifizieren.

  • Automatisieren Sie Compliance anhand von Benchmarks: Überprüfen Sie die Laufzeitumgebung kontinuierlich anhand von Best Practices der Branche wie den CIS Kubernetes Benchmarks, um eine saubere Konfiguration sicherzustellen.

  • Verhindern von Container : Setzen Sie strenge Isolierung mithilfe integrierter Linux-Sicherheitsmodule wie Seccomp-Profilen (Secure Computing) und AppArmor durch, um den Zugriff container auf den Host-Kernel zu beschränken.

  • Laufzeit-Drift-Erkennung: Nicht autorisierte Änderungen an laufenden Containern im Vergleich zu ihrem ursprünglichen Basisimage oder ihrer ursprünglichen Konfiguration deuten auf eine mögliche Kompromittierung oder Fehlkonfiguration hin.

  • Laufende Container regelmäßig auf neue Schwachstellen überprüfen: Die Schwachstellenlandschaft ändert sich täglich. Stellen Sie sicher, dass Ihre laufenden Workloads kontinuierlich auf neue CVEs überprüft und bewertet werden.
  • Protokollieren Sie alles: Stellen Sie sicher, dass alle Ereignisse und Aktivitäten erfasst werden. Richten Sie robuste Protokollierungs- und Warnpipelines ein, um Protokolle in einem zentralen System zu aggregieren.

Eine praktische Checkliste für Container

Hier finden Sie eine einfache Checkliste, die Ihnen bei der Umsetzung dieser Best Practices container hilft.

Fläche Aufgabe Status
Build & CI/CD Verwenden Sie minimale Basisbilder (distroless, alpine)
Bilder aus vertrauenswürdigen, offiziellen Registern abrufen
Pin-Basisbildversionen anstelle von :latest verwenden
Container mit einem Nicht-Root-Benutzer ausführen
Integrieren Sie das Scannen von container -Schwachstellen in CI
Führen Sie Software-Kompositionsanalyse SCA) für Abhängigkeiten durch.
Fehlgeschlagene Builds mit kritischen Sicherheitslücken
Erstellen Sie eine Software-Stückliste SBOM) für alle Images.
Signieren und verifizieren Sie alle container , um Herkunft und Integrität sicherzustellen.
Infrastructure-as-Code (IaC)-Vorlagen (z. B. Kubernetes-Manifeste) auf Sicherheitsrisiken scannen
Konfiguration Entfernen Sie unnötige Kernel-Funktionen.
Das Root-Dateisystem container als schreibgeschützt mounten
Verwenden Sie Netzwerkrichtlinien, um den Datenverkehr zwischen Pods zu beschränken.
Speichern Sie secrets (z. B. Kubernetes Secrets, Vault).
Implementieren Sie rollenbasierte Zugriffskontrolle (RBAC) mit geringsten Rechten.
Sicherheitsrichtlinien mithilfe von „Policy as Code“ am Zulassungscontroller durchsetzen
Implementieren Sie container Firewalls und Netzwerksegmentierung.
Ressourcenbeschränkungen festlegen
Laufzeit Implementierung von Laufzeit Bedrohungserkennung -überwachung
container zentralisieren und überwachen
Laufende Container regelmäßig auf neue Schwachstellen überprüfen
Überwachen Sie den Dateisystemzugriff und die Netzwerkaktivität auf Anomalien.
Planen und führen Sie regelmäßig Übungen zur Reaktion auf Zwischenfälle durch.
Automatisieren Sie compliance anhand von Benchmarks (z. B. CIS Kubernetes Benchmarks).

Fazit

Vor diesem Hintergrund ist es wichtig, sich vor Augen zu halten, dass Codesicherheit keine einmalige Angelegenheit ist. Es handelt sich nicht um etwas, das man einmal einrichtet und dann vergessen kann, sondern um einen fortlaufenden Prozess. Jeden Tag tauchen neue Bedrohungen auf, neue Pakete erscheinen und neue Risiken werden sichtbar. Die Branche hat sich von reaktiven Scans zu proaktivem, kontinuierlichem Schutz gewandelt, und moderne Teams passen sich diesem Wandel an.

Aikido erleichtert dies durch die Kombination von KI-gestützten Statische Anwendungssicherheitstests SAST), AutoFixes mit einem Klick und vorab gehärteten Root.io-Images, wodurch Teams einen Shift Left vollziehen können, ohne dass die Sicherheit zu einem Engpass wird.

Möchten Sie vollständige Transparenz über container ? Starten Sie noch heute Ihre kostenlose Testversion oder vereinbaren Sie eine Demo mit Aikido .

FAQ

Was sind die besten Vorgehensweisen zum Scannen von container auf Schwachstellen?

Das Scannen von Images funktioniert am besten, wenn es in mehreren Phasen durchgeführt wird, darunter während der Erstellung, vor der Bereitstellung und innerhalb von Registern. Die Scans sollten sowohl Betriebssystempakete als auch Anwendungsabhängigkeiten abdecken, Image-Signaturen überprüfen und gehärtete Basis-Images nutzen. Plattformen wie Aikido zentralisieren Images und Scan von Softwareabhängigkeiten die Verwaltung zu vereinfachen.

Wie kann ich rollenbasierte Zugriffskontrolle (RBAC) für container implementieren?

RBAC ermöglicht es Unternehmen, Berechtigungen zu kontrollieren, indem sie Benutzern oder Dienstkonten bestimmte Rollen zuweisen. In Kubernetes umfasst dies das Erstellen von Rollen und ClusterRoles und deren Verknüpfung mit RoleBindings oder ClusterRoleBindings. Berechtigungen werden dabei auf das Notwendige beschränkt. Tools wie Aikido bieten Einblick in RBAC-Konfigurationen und zeigen übermäßig freizügige Einstellungen auf.

Wie verbessern Netzwerkrichtlinien container in Kubernetes?

Netzwerkrichtlinien legen fest, wie Pods und Dienste kommunizieren, sodass Sie den Datenverkehr steuern und das Risiko einer lateralen Ausbreitung nach einer Kompromittierung verringern können. Standardmäßig lässt Kubernetes den gesamten Datenverkehr zu. Daher ist es wichtig, standardmäßig Richtlinien zum Verweigern festzulegen und Regeln für zulässigen eingehenden und ausgehenden Datenverkehr festzulegen. Plattformen wie Aikido helfen Teams dabei, eine angemessene Netzwerksegmentierung zu implementieren, indem sie fehlende oder zu freizügige Richtlinien kennzeichnen.

Welche Tools werden für die Umsetzung von Best Practices für container empfohlen?

Die Sicherung von Containern erfordert in der Regel den Einsatz mehrerer Tools, die zusammenarbeiten. Bildscanner für Schwachstellen, Geheimscanner für sensible Anmeldedaten, Policy Enforcement Engines wie OPA oder Gatekeeper zur Gewährleistung compliance, Laufzeitsicherheitstools zur Überwachung verdächtiger Aktivitäten und CSPM -Lösungen zur Überprüfung der Cloud-Einstellungen. Plattformen wie Aikido vereinfachen die Prozesse und ermöglichen automatisierte Überprüfungen, Warnmeldungen und Updates in Ihrem gesamten container .

Das könnte Ihnen auch gefallen:

4.7/5

Sichern Sie Ihre Software jetzt.

Kostenlos starten
Ohne Kreditkarte
Demo buchen
Ihre Daten werden nicht weitergegeben · Nur Lesezugriff · Keine Kreditkarte erforderlich

Werden Sie jetzt sicher.

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.