Container für die Anwendungsentwicklung und -erstellung sind in Cloud-Umgebungen gut dokumentiert, und moderne Unternehmen stellen zunehmend auf cloudbasierte Architekturen um. Das Scannen von Containern ist ein Teilbereich der Containersicherheit und eine grundlegende Sicherheitsmaßnahme zum Schutz containerisierter DevOps-Workflows.
Nicht alle Container sind gleich, und viele Images können aus nicht vertrauenswürdigen Quellen und öffentlichen Repositorys extrahiert werden. Sie können neue Bedrohungsvektoren hinzufügen, bösartige Komponenten enthalten und unbekannte Risiken darstellen.
In diesem Blogbeitrag werden die Grundlagen des Container-Scannings erläutert und erklärt, warum es für die Containersicherheit so wichtig ist. Außerdem behandeln wir häufige Container-Schwachstellen und verschiedene Container-Scanning-Methoden und zeigen den Benutzern, wie sie diese implementieren können. Lassen Sie uns gleich einsteigen.
Was ist Container-Scanning (Container-Image-Scanning)?
Beim Container-Scanning werden modernste Sicherheitstools eingesetzt, um die verschiedenen Komponenten von Container-Images Schicht für Schicht zu analysieren und potenzielle Bedrohungen zu erkennen.
Container-Scanning-Lösungen identifizieren Schwachstellen und überprüfen anhand globaler Datenbanken, ob Gefahren bestehen. Sie identifizieren Exploits in Cloud-nativen Anwendungen und stellen sicher, dass Entwicklungsteams Schwachstellen frühzeitig finden und beheben können, bevor sie ausgenutzt werden. Diese Lösungen ermöglichen von Anfang an Shift-Left-Sicherheitsmaßnahmen, führen Analysen durch und geben Empfehlungen zur Behebung von Schwachstellen.
Warum Container-Scanning?
Container enthalten mehrere Images, die Schwachstellen aus Basis-Images erben, darunter alle möglichen Fehlkonfigurationen, Malware und andere Sicherheitslücken. Die Durchsetzung von Shift-Left-Sicherheit beginnt mit der Analyse von Abhängigkeiten und Paketen innerhalb von Container-Images, um Bedrohungen zu beseitigen und zu verhindern, dass sie in die Produktionspipeline gelangen.
Es ist unerlässlich, einen Containerscanner zu verwenden, um Schwachstellen in Container-Images zu identifizieren und zu beheben, bevor sie eskalieren und schwerwiegende Probleme verursachen. Wenn keine ordnungsgemäßen Containerscans durchgeführt werden, kann dies zur Offenlegung sensibler Anmeldedaten, zu Datenverletzungen und zu anderen Sicherheitsrisiken führen.
Was sind häufige Schwachstellen in Containern?
Container verändern die Art und Weise, wie Unternehmen Anwendungen erstellen, bereitstellen und nutzen. Sie erhöhen die Effizienz und Portabilität und ermöglichen es Benutzern, Software auszuführen, ohne sich um geeignete Betriebssysteme, Einstellungen oder Produktionsumgebungen kümmern zu müssen. Container sind standardmäßig sicher, aber wie alle anderen Sicherheitslücken auch bestimmten Risiken ausgesetzt.
Die häufigsten Sicherheitslücken bei Containern sind:
- Nicht vertrauenswürdige Container – Nicht vertrauenswürdige Container bestehen hauptsächlich aus Containern, die Software aus nicht vertrauenswürdigen oder nicht verifizierten Quellen ausführen. Diese Container können bösartigen Code enthalten und diesen in öffentliche Repositorys hochladen, wodurch Angreifer unbefugten Zugriff auf Netzwerke erhalten.
- Unsichere Konfigurationen – Maschinen, auf denen Container ausgeführt werden, können anfällig für Angriffe auf Betriebssystemebene sein. Daher ist es unerlässlich, das Host-Betriebssystem ordnungsgemäß zu aktualisieren und zu konfigurieren. Zu den unsicheren Designs zählen auch Angriffe zur Rechteausweitung und falsch konfigurierte Containerisierungsschichten.
- Verwaltung geheimer Daten – Container, die Geheimnisse nicht schützen, sind auf jeder Ebene anfällig für Eindringlinge. Unsichere API-Schlüssel und Token sind die Hauptursachen für Mängel beim Geheimnismanagement. Wenn private Schlüssel nicht regelmäßig rotiert werden, können Angreifer Anmeldedaten herausfinden und Zugriff auf Ressourcen erhalten, auf die sie keinen Zugriff haben sollten.
Arten von Containersicherheitsscans
Container-Images können aus verschiedenen Quellen stammen, weshalb es entscheidend ist, die Vertrauenswürdigkeit der Images aufrechtzuerhalten. Um vor der Bereitstellung und Produktion umfassende Sicherheit während des gesamten Lebenszyklus Ihrer Anwendung zu gewährleisten, ist es unerlässlich, Container-Scans in den folgenden drei Bereichen durchzuführen:
1. Container-Registry-ScansContainer-Anwendungs-Registrys speichern Tausende von Images, die aus verschiedenen Quellen stammen. Die Registry umfasst auch Standorte von Drittanbietern; eine einzige Bedrohung kann sich auf die gesamte Anwendung auswirken. Die kontinuierliche Überprüfung der Container-Registry auf Änderungen und Schwachstellen ist für die Aufrechterhaltung der Containersicherheit von entscheidender Bedeutung. Dies muss automatisiert erfolgen, und jedes Image muss überprüft werden, um potenzielle Bedrohungen zu identifizieren.
2. Laufzeitscan –Durch das Scannen von Containern zur Laufzeit werden neue CVEs identifiziert, neue Schwachstellen erkannt und sofort an die Sicherheitsteams gemeldet. Automatisiertes Laufzeitscannen kann Risiken in Containerumgebungen priorisieren und den gesamten Laufzeitschutz verbessern. Es hält Container in einem sicheren Zustand und mindert Anomalien durch die Festlegung von Basiswerten.
3. Schwachstellenscan – Der Schwachstellenscan analysiert alle Komponenten von Containern während des gesamten Lebenszyklus von Anwendungen. Er ist eine gute DevSecOps Praxis und Sicherheitsteams müssen das Scannen von Container-Images in CI/CD-Pipelines integrieren, um Bedrohungen effektiv zu erkennen und zu beheben. Das Schwachstellenscannen erkennt Schwachstellen im Code, bevor dieser in Container gelangt, und blockiert sie, um den Schutz zu maximieren.
Wie implementiert man das Scannen von Containern?
Container-Sicherheit Scans werden zunehmend zu einem standardisierten Workflow für die Überwachung und den Schutz von Cloud-nativen Umgebungen und Anwendungen. Die meisten Entwickler bevorzugen es, die Ausführungsumgebung zu trennen, wenn sie Containerscans mit internen Tools durchführen.
Das Scannen von Containern umfasst drei Hauptschritte:
- Schritt 1 – Sichern Sie den Anwendungscode
- Schritt 2 – Scannen Sie das Container-Image
- Schritt 3 – Scannen Sie die Konnektivitätsschichten
Schritt 1 – Sichern Sie den Anwendungscode
Der Anwendungscode und die Entwicklung des Containers helfen dabei, Schwachstellen und Abhängigkeiten im Container-Code zu scannen und zu verfolgen. Er hilft dabei, Fehler frühzeitig im Entwicklungszyklus vor der Containerisierung, Integration und Bereitstellung zu erkennen. Der erste Scan des Anwendungscodes kann durchgeführt werden, nachdem der Code in den Container eingefügt wurde.
Schritt 2 – Container-Image scannen
Es gibt viele Tools zum Scannen von Container-Images, die digitale Signaturen analysieren, um die Imagequalität und verschiedene Schwachstellen zu bewerten. Beim Scannen von Container-Images werden die Quellen überprüft und die Herausgeber verifiziert, um die Integrität und Authentizität dieser Images sicherzustellen.
Schritt 3 – Konnektivitätsschichten scannen
Die mittleren Schichten von Containern enthalten die meisten Sicherheitslücken. Container-Images können durch Minimierung der Anzahl der Schichten angepasst werden.
Bewährte Verfahren für das Scannen der Containersicherheit
Im Folgenden finden Sie die Best Practices für das Scannen der Containersicherheit:
- Lokales Scannen über die CLI
- Integriertes automatisiertes Scannen in die CI/CD-Pipeline
- Inline-Bild-Scanning einführen
- Bildversionen fixieren
- Nach Geheimnissen scannen
- Erkennen von Abweichungen
1. Lokales Scannen über die CLI
Das lokale Scannen über die CLI umfasst das Scannen von Docker-Containern, wodurch es einfacher wird, lokale Container-Images unmittelbar nach ihrer Erstellung zu scannen. Sie können einen CLI-Scan mit dem Befehl "docker scan" ausführen, einem der ersten Schritte zur Umsetzung der besten Sicherheitspraktiken für Container.
2. Integriertes automatisiertes Scannen in die CI/CD-Pipeline
Der nächste Schritt besteht darin, automatisiertes Scannen in die CI/CD-Pipeline zu integrieren und Container-Images kontinuierlich zu analysieren, während sie erstellt werden. Dies hilft, kritische Sicherheitsvorfälle zu vermeiden, fehlgeschlagene Builds zu melden und Schwachstellen zu identifizieren.
3. Inline-Image-Scanning einführen
Inline-Image-Scanning hilft dabei, den Datenschutz zu gewährleisten und die Anmeldedaten für Images zu schützen. Es ist nicht erforderlich, öffentliche Repositorys einzurichten; lediglich das Tool für Scan-Metadaten wird benötigt. Inline-Scanning kann in GitLab, AWS Codepipeline, Jenkins, Tekton und vielen anderen CI/CD-Tools implementiert werden.
4. Bildversionen fixieren
Manchmal kann es vorkommen, dass das falsche Bild gescannt wird, da Container verschiedene Versionen haben, die aus demselben Bild bereitgestellt werden können. Dies kann zu Problemen beim Debuggen führen. Wenn Sie veränderbare Tags verwenden, besteht die Möglichkeit, dass die Scan-Ergebnisse ungültig werden, da diese Tags häufig aktualisiert werden und es immer wieder neue Versionen gibt.
Es ist wichtig, unveränderbare Tags und Pin-Image-Versionen zu verwenden, damit regelmäßige Änderungen keinen Einfluss darauf haben. Eine Kombination aus Container-Image-Scanning, der OPA-Engine und dem Kubernetes Admission Controller kann bei diesem Prozess helfen.
5. Nach Geheimnissen scannen
Das Scannen nach Geheimnissen kann Passwörter, Benutzernamen und private Schlüssel schützen. Das Scannen von Geheimnissen vor der Bereitstellung von Images ist eine bewährte Vorgehensweise, und Benutzer können die Image-Quellen überprüfen. Das Scannen von Geheimnissen verhindert Lecks und macht Informationen für gesicherte und containerisierte Workloads zugänglich. Außerdem wird die Containerwartung zugänglicher, und viele Workflows sind so konzipiert, dass sie Kubernetes-Cluster mit internen Tools überwachen. Einige Benutzer bevorzugen separate Ausführungsumgebungen für die Analyse unterschiedlicher Konfigurationen.
6. Drifts erkennen
Gestalten Sie Ihre Containerbereitstellungen von Grund auf unveränderlich. Es ist wichtig, die neuesten Sicherheitspatches, Konfigurationsaktualisierungen und neue Container-Images so bereitzustellen, dass die Wahrscheinlichkeit von Konfigurationsabweichungen minimiert wird. Verwenden Sie die Erkennung von Binärabweichungen, um die Einführung nicht autorisierter ausführbarer Dateien oder unerwünschter Änderungen zu identifizieren. Sie können die Erkennung von Abweichungen in CI/CD-Pipelines integrieren. Es wird empfohlen, das Laufzeitverhalten mit Hilfe von Laufzeit-Sicherheitstools zu überwachen. Verwenden Sie Container-Sicherheitsplattformen, die eine integrierte Erkennung von Abweichungen, das Scannen von Container-Images, die Durchsetzung von Richtlinien und den Schutz der Container-Laufzeit bieten.
Warum SentinelOne für die Containersicherheitsscans?
SentinelOne bietet branchenführende Containersicherheit durch die Kombination von umfassender Transparenz, automatisierter Bedrohungserkennung und Posture-Management für Kubernetes, Container und Cloud-native Workloads. SentinelOne Singularity™ Cloud Native Security (CNS) bietet agentenloses Container-Scanning, mit dem Sicherheitsteams Schwachstellen, Fehlkonfigurationen und offengelegte Geheimnisse in Container-Images erkennen können, bevor diese bereitgestellt werden. Mit der Unterstützung für das Scannen von über 750 Arten von Geheimnissen hilft SentinelOne Unternehmen dabei, die Offenlegung von Anmeldedaten zu verhindern und eine robuste Code-Hygiene in GitHub, GitLab, BitBucket und anderen CI/CD-Repositorys aufrechtzuerhalten.
Die Plattform umfasst Kubernetes Security Posture Management (KSPM), mit dem Unternehmen die besten Sicherheitspraktiken innerhalb von Kubernetes-Clustern kontinuierlich überwachen und durchsetzen können. SentinelOne erkennt Konfigurationsabweichungen und bietet über 2.000 integrierte Regelsätze für wichtige Compliance-Standards wie NIST, CIS und MITRE, sodass Teams Fehlkonfigurationen und Compliance-Lücken in Echtzeit beheben können. CNS lässt sich nahtlos in DevOps-Pipelines integrieren, um die Durchsetzung von Richtlinien zu automatisieren und umsetzbare Erkenntnisse zu liefern, ohne bestehende Arbeitsabläufe zu stören.
SentinelOne's Singularity™ Cloud Workload Security (CWS) erweitert den Schutz auf containerisierte Workloads zur Laufzeit und nutzt KI-gestützte Erkennung, um Angriffe – einschließlich Ransomware, Cryptojacking und Zero-Day-Angriffe – mit Maschinen-Geschwindigkeit zu stoppen. Durch die Kombination von statischer Analyse, dynamischer Bedrohungserkennung und automatisierter Reaktion ermöglicht SentinelOne Unternehmen, alle Oberflächen – VMs, Container und Kubernetes – in Multi-Cloud-Umgebungen über ein einheitliches Dashboard zu schützen.
Mit seiner agentenlosen CNAPP-Architektur ermöglicht SentinelOne Sicherheitsteams, sich auf wichtige Warnmeldungen und verifizierte Exploit-Pfade zu konzentrieren, wodurch Fehlalarme und der Betriebsaufwand reduziert werden. Automatisiertes Onboarding, sofortige Abdeckung und einheitliche Richtlinienverwaltung machen SentinelOne zu einer idealen Lösung für die Sicherung von Containern während des gesamten Entwicklungslebenszyklus – vom Build bis zur Laufzeit.
SentinelOne in Aktion sehen
Entdecken Sie in einer persönlichen Demo mit einem SentinelOne-Produktexperten, wie KI-gestützte Cloud-Sicherheit Ihr Unternehmen schützen kann.
Demo anfordernFazit
Best Practices für das Scannen von Container-Images, wie CI/CD-Pipelines und das Scannen von Betriebssystem-Schwachstellen, können Images sicher halten und verhindern, dass sie ausgenutzt werden. Die Durchsetzung der besten Containersicherheit ist ein kontinuierlicher Prozess und folgt einem iterativen Ansatz vom Beginn der Erstellung bis zum Abschluss.
Es ist unerlässlich, in allen Phasen des Entwicklungszyklus von Containeranwendungen nach Bedrohungen zu suchen und sich auf neue Sicherheitsrisiken vorzubereiten. Durch das Scannen von Containern werden versteckte Exploits aufgedeckt, Schwachstellen beseitigt und optimale Sicherheit gewährleistet, indem containerisierte Anwendungen auf Verhaltensänderungen oder böswillige Ereignisse überwacht werden. SentinelOne bietet sofort einsatzbereite Funktionen wie Audit-Protokollierung, Berechtigungsverwaltung, Unterstützung von IaC-Vorlagen und vieles mehr und macht das Scannen von Containern zu einem nahtlosen Erlebnis.
"Häufig gestellte Fragen zum Scannen von Containern
Container-Scans sind ein Verfahren zur Analyse von Container-Images und laufenden Containern, um Sicherheitslücken, Fehlkonfigurationen und Compliance-Probleme zu identifizieren. Es handelt sich um eine Sicherheitsüberprüfung für Ihre containerisierten Anwendungen.
Dabei wird alles vom Basisbetriebssystem bis hin zu Anwendungsabhängigkeiten untersucht und mit Schwachstellendatenbanken wie der National Vulnerability Database abgeglichen. So können Sie Sicherheitsprobleme erkennen, bevor sie in die Produktion gelangen.
Das Container-Scanning erkennt Betriebssystem-Schwachstellen in Basis-Images, anfällige Anwendungsabhängigkeiten und Konfigurationsfehler wie zu freizügige Benutzerrechte oder exponierte Ports. Außerdem werden fest codierte Geheimnisse wie API-Schlüssel und Passwörter, Malware und Verstöße gegen Standards wie CIS-Benchmarks gefunden.
Die Scanner suchen nach veralteten Bibliotheken, Fehlkonfigurationen in Dockerfiles und übermäßigen Berechtigungen, die von Angreifern ausgenutzt werden könnten.
Sie sollten das Scannen in Ihre CI/CD-Pipelines integrieren, um Schwachstellen vor der Bereitstellung zu erkennen. Verwenden Sie minimale Basisimages aus vertrauenswürdigen Quellen und scannen Sie sowohl zur Erstellungs- als auch zur Laufzeit, um eine umfassende Abdeckung zu gewährleisten.
Richten Sie automatisierte Scans mit geeigneten Alarmschwellenwerten ein und vergessen Sie nicht, Ihre Schwachstellendatenbanken regelmäßig zu aktualisieren. Implementieren Sie außerdem Richtlinien, die Bereitstellungen blockieren, wenn kritische Schwachstellen gefunden werden.
Containerscanner rufen zunächst Images ab, zerlegen sie in ihre einzelnen Schichten und analysieren dann jede Komponente separat. Sie verwenden signaturbasiertes Scannen, um Komponenten mit bekannten Schwachstellendatenbanken wie CVE zu vergleichen, und verhaltensbasiertes Scannen, um anomale Aktivitäten während der Laufzeit zu erkennen.
Der Scanner untersucht Basis-Images, Anwendungscode, Abhängigkeiten und Konfigurationen und markiert dann alle Sicherheitsprobleme, die behoben werden müssen.

