Sind Ihre Container und Docker-Images sicher?

Finden wir es heraus!

Hacker sind in den letzten Jahren sehr aktiv geworden. Selbst große Unternehmen wie Facebook, Google und Yahoo wurden Opfer von Angriffen, bei denen Millionen von Dollar verloren gingen. Aus diesem Grund ist die Sicherheit einer Anwendung heute in jedem Unternehmen von größter Bedeutung.

Viele dieser Anwendungen werden heute in Containern ausgeführt, da sie leicht skalierbar, kostengünstig und schneller einsetzbar sind, weniger Speicherplatz benötigen und die Ressourcen viel besser nutzen als virtuelle Maschinen. Daher ist der Sicherheitsfaktor dieser Container sehr wichtig. Ein Container-Image besteht aus mehreren Schichten, und um die Schwachstellen eines Images wirklich verstehen zu können, müssen Sie auf jede Schicht zugreifen. Bei kleineren Container-Images ist die Wahrscheinlichkeit, dass sie potenziellen Schwachstellen ausgesetzt sind, geringer.

DieContainerisierung ist eine der wichtigsten Phasen im DevOps-Prozess, bei der die Sicherheit ernst genommen werden muss. Ein Container-Image kann viele Bugs und Sicherheitslücken aufweisen, was Hackern eine gute Gelegenheit bietet, sich Zugriff auf die Anwendung oder die Daten im Container zu verschaffen, was das Unternehmen Millionen kostet.

Daher ist es wichtig, die Images und Container regelmäßig zu scannen und zu überprüfen. DevSecOps spielt eine wichtige Rolle, wenn es darum geht, die DevOps-Prozesse sicherer zu machen. Dazu gehört auch das Scannen von Images und Containern auf Bugs und Schwachstellen.

Ein Container-Sicherheitsscanner hilft Ihnen dabei, alle Schwachstellen in Ihren Containern zu finden und sie regelmäßig auf Angriffe, Probleme oder neue Bugs zu überwachen.

Lassen Sie uns die verfügbaren Optionen erkunden.

Clair

Clair ist ein Open-Source-Projekt, das statische Sicherheits- und Schwachstellenscans für Docker- und Anwendungscontainer (appc) anbietet.

Es handelt sich um eine API-gesteuerte Analyse-Engine, die die Container Schicht für Schicht auf Sicherheitslücken überprüft. Sie können mit Clair Dienste erstellen, die Ihre Container kontinuierlich auf Sicherheitslücken überwachen. Es benachrichtigt Sie über eine potenzielle Bedrohung in einem Container. Es benachrichtigt Sie über eine potenzielle Bedrohung im Container auf der Grundlage der Common Vulnerabilities and Exposures-Datenbank (CVE) und ähnlicher Datenbanken.

Wenn eine Bedrohung oder ein Problem identifiziert wird, das bereits in der National Vulnerability Database (NVD) vorhanden ist, ruft es die Details ab und stellt sie in dem Bericht zur Verfügung.

clair dashboard

Clair Funktionen:

  • Scannt nach bestehenden Schwachstellen und verhindert, dass sie in Zukunft eingeführt werden.
  • Bietet eine REST-API für die Integration mit anderen Tools
  • Sendet eine Benachrichtigung, wenn es eine Sicherheitslücke identifiziert
  • Liefert einen Bericht im HTML-Format mit allen Details des Scans
  • Aktualisiert die Metadaten in regelmäßigen Abständen

Anchore

Anchore ist ein Open-Source-Projekt für die Tiefenanalyse von Docker-Images.

Es zertifiziert auch ein Docker-Image und gibt an, ob es sicher ist oder nicht. Die Anchore-Engine kann als eigenständige Lösung oder auf Orchestrierungsplattformen wie Kubernetes, Rancher, Amazon ECS und Docker Swarm laufen. Anchore ist auch in Jenkins-Plugins verfügbar, um die CI/CD-Pipeline zu scannen.

Wenn Sie nur einen Kubernetes-Scanner benötigen, sehen Sie sich diese Tools an, um Sicherheitslücken in Kubernetes zu finden.

Sie müssen ein Docker-Image an Anchor übermitteln, der es analysiert und Ihnen mitteilt, ob es Sicherheitslücken aufweist. Sie können auch Ihre eigene Sicherheitsrichtlinie verwenden, um ein Image in anchore zu bewerten.

anchore dashboard

Sie können auf die Anchore-Engine über CLI oder REST APIs zugreifen.

Anchore-Funktionen:

  • Bietet eine tiefgreifende Prüfung von Container-Images, Betriebssystempaketen und Software-Artefakten wie jar-Dateien
  • Integriert sich nahtlos in Ihre CI/CD-Pipeline, um Sicherheitslücken zu finden
  • Definiert und wendet Richtlinien an, um das Erstellen und Bereitstellen gefährlicher Images zu verhindern
  • Prüfen Sie nur zertifizierte und sichere Images, bevor Sie sie auf einer Orchestrierungsplattform bereitstellen.
  • Passen Sie die Prüfungen auf Schwachstellen, Konfigurationsdateien, Image-Geheimnisse, offene Ports usw. an.

Dagda

Dagda ist ein Open-Source-Tool für die statische Analyse von bekannten Schwachstellen wie Trojanern, Malware, Viren usw. in Docker-Images und Containern. Es verwendet die ClamAV Antivirus-Engine, um solche Schwachstellen zu erkennen.

Es importiert zunächst alle bekannten Schwachstellen aus CVE, Red Hat Security Advisories (RHSA), Red Hat Bug Advisories (RHBA), Bugtraq IDs (BID) und der Offensive Security Datenbank in eine MongoDB. Anschließend werden die Images und Container entsprechend der importierten Schwachstellen analysiert.

Dagda-Funktionen:

  • Unterstützt mehrere Linux-Images (CentOS, Ubuntu, OpenSUSE, Alpine, usw.)
  • Analysiert Abhängigkeiten von Java, Python, Node Js, Javascript, Ruby, PHP
  • Integriert mit Falco zur Überwachung der laufenden Container
  • Speichert jeden Analysebericht in MongoDB, um die Historie jedes Docker-Images oder Containers zu erhalten

Falco

Falco ist ein Open-Source-Projekt und eine Threat Detection Engine für Kubernetes. Es ist ein Laufzeit-Sicherheitstool zur Erkennung anomaler Aktivitäten in Hosts und Containern, die auf Kubernetes laufen. Es erkennt alle unerwarteten Verhaltensweisen in Ihrer Anwendung und warnt Sie zur Laufzeit vor den Bedrohungen.

falco dashboard

Es verwendet eine tcpdump-ähnliche Syntax zur Erstellung der Regeln und nutzt Bibliotheken wie libscap und libinsp, die in der Lage sind, Daten von Ihrem Kubernetes-API-Server oder Ihrer Container-Laufzeitumgebung abzurufen.

Anschließend können Sie diese Metadaten nutzen, um sich über Pods, Labels und Namespaces zu informieren und Regeln für einen bestimmten Namespace oder ein bestimmtes Container-Image zu erstellen. Die Regeln konzentrieren sich auf Systemaufrufe und darauf, welche Systemaufrufe auf dem System erlaubt und welche nicht erlaubt sind.

Aqua Sicherheit

Aqua Security schützt Anwendungen, die mit Cloud-nativen Technologien wie Containern erstellt wurden. Es bietet Schwachstellen-Scans und Management für Orchestratoren wie Kubernetes.

Es handelt sich um eine umfassende Sicherheitsplattform, die gewährleistet, dass die auf den Containern laufenden Anwendungen sicher sind und in einer sicheren Umgebung ausgeführt werden.

Wenn Entwickler Images erstellen, verfügen sie über eine Reihe von Technologien und Bibliotheken, um ihre Images zu erstellen. Aqua Security ermöglicht es ihnen, diese Images zu scannen, um sicherzustellen, dass diese Images sauber sind, keine bekannten Schwachstellen aufweisen, keine bekannten Passwörter oder Geheimnisse enthalten und keine Sicherheitsbedrohung besteht, die das Image angreifbar machen könnte.

aqua security dashboard

Wenn eine Schwachstelle gefunden wird, meldet Aqua Security diese an den Entwickler zurück und empfiehlt ihm, was er tun muss, um die Schwachstellen zu beheben.

Aqua Security verfügt auch über Technologien, die sicherstellen, dass es nicht angegriffen wird oder eine Sicherheitsbedrohung eindringt, sobald der Container in der Produktion läuft.

Docker Bench

Docker Bench Security ist ein Skript mit mehreren automatisierten Tests, um die besten Praktiken für den Einsatz von Containern in der Produktion zu überprüfen.

Um Docker Bench Security auszuführen, benötigen Sie Docker 1.13.0 oder höher.

Sie müssen den folgenden Befehl ausführen, um docker bench security zu starten.

docker run -it --net host --pid host --userns host --cap-add audit_control \
-e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \
-v /var/lib:/var/lib \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/lib/systemd:/usr/lib/systemd \
-v /etc:/etc --label docker_bench_security \
docker/docker-bench-security

Danach wird das Skript ausgeführt und gibt Details zu INFO, WARN, PASS aus. Nachdem Sie das Skript ausgeführt haben, können Sie alle Warnmeldungen überprüfen und die Korrekturen vornehmen.

docker bench security

Harbor

Harbor ist eine quelloffene und vertrauenswürdige native Cloud-Registry, die Sicherheitsrichtlinien und rollenbasierte Zugriffskontrolle (RBAC) bietet. Es speichert, signiert und scannt Docker-Images auf Schwachstellen. Es kann auf einem Kubernetes-Cluster oder jedem anderen System, das Docker unterstützt, installiert werden.

harbor dashboard

Harbor-Funktionen:

  • Einfacher Einsatz mit Docker Compose
  • Bietet Sicherheits- und Schwachstellenanalysen
  • Mandantenübergreifende Signierung und Validierung von Inhalten
  • Identitätsintegration und rollenbasierte Zugriffskontrolle
  • Erweiterbare API und Benutzeroberfläche
  • Image-Replikation zwischen Instanzen
  • Unterstützt LDAP/AD und OIDC für die Benutzerverwaltung und Benutzerauthentifizierung

JFrog Xray

JFrog Xray ist ein kontinuierliches Open-Source-Sicherheits- und universelles Artefakt-Analyse-Tool.

Mit JFrog Xray können Sie Ihre Artefakte und Abhängigkeiten kontinuierlich auf Sicherheitslücken und Probleme mit der Lizenzkonformität überprüfen.

Als universelle Artefakt-Analyse-Lösung identifiziert Xray proaktiv Sicherheitsschwachstellen und Lizenzrisiken. Vor der Manifestation in der Produktion lässt sich Xray nativ in JFrog Artifactory integrieren und bietet auf einem einzigen Bildschirm Einblick in alle Metadaten der Artefakte, einschließlich des Sicherheitsstatus.

jfrog xray

Die JFrog Xray-Datenbank mit neuen Schwachstellen und Technologien wird ständig erweitert, so dass Sie bessere technische Entscheidungen treffen können, ohne Kompromisse eingehen zu müssen. JFrog Xray prüft alle Ihre Komponenten anhand seiner wachsenden Datenbank mit neuen Sicherheitslücken und warnt Sie auch nach der Veröffentlichung vor neuen Problemen.

JFrog Xray unterstützt alle Pakettypen und nutzt rekursive Tiefenscans, um alle unterstrichenen Schichten und Abhängigkeiten zu überprüfen, sogar solche, die in Docker-Images und Zip-Dateien verpackt sind. JFrog Xray erstellt außerdem ein Diagramm der Struktur Ihrer Artefakte und Abhängigkeiten sowie eine Auswirkungsanalyse der entdeckten Schwachstellen und Lizenzprobleme

Qualys

Qualys Container Security ist ein Tool, mit dem Sie Container-Umgebungen entdecken, verfolgen und kontinuierlich schützen können. Es scannt nach Schwachstellen in Images oder Containern in der DevOps-Pipeline und in Implementierungen in Cloud- oder On-Premise-Umgebungen.

qualys

Qualys stellt eine kostenlose Version der Container-Sicherheitsanwendung zur Verfügung, damit die Benutzer einen Eindruck davon bekommen, was sie bieten kann. Sie gibt Ihnen einen Einblick in die Images und Container, die in der Umgebung laufen. Wenn Sie diese scannen möchten, müssen Sie ein kostenpflichtiges Abonnement abschließen.

Es bietet auch Laufzeitsicherheit für Container, indem es eine Firewall auf Funktionsebene für Container bereitstellt. Es bietet einen detaillierten Einblick in das Verhalten von Containern und schützt das Image und die laufenden Container mithilfe der Qualys CRS-Schicht (Container Runtime Security).

Docker Scan

Docker Scan befindet sich noch in der Betaphase und nutzt die Synk-Engine, um lokale Dockerdateien, Images und deren Abhängigkeiten auf bekannte Schwachstellen zu überprüfen. Sie können Docker Scan von Docker Desktop aus starten.

docker scan mydockerimage

Grype

Heutzutage ist die Sicherheit von Containern ein beliebtes Thema. Der Scanner zur Überprüfung der Containersicherheit ist eines von vielen Tools, die Sie zur Sicherung Ihrer Container verwenden können. Grype ist ein Sicherheitsscanner für Container, der dazu dient, Schwachstellen in Containern zu identifizieren, die auf jeder Plattform laufen.

Er ist auf GitHub zu finden und ist Open Source. Für Grype sind sowohl eine Webanwendung als auch ein Kommandozeilen-Tool verfügbar.

grypevulnerabilitiesscanner

Dieses Open-Source-Tool zum Scannen von Sicherheitslücken in Containern unterstützt DevOps-Teams bei der Suche und Behebung von Sicherheitslücken in ihren Laufzeitumgebungen und Container-Images.

Es überprüft laufende Container auf potenzielle Sicherheitslücken und scannt öffentliche und private Docker-Images auf Schwachstellen. Grype kann allein oder als Plug-in für bekannte DevOps-Instrumente wie Jenkins, CircleCI und Travis CI verwendet werden.

Wichtigste Merkmale

  • Unterstützung aller gängigen Betriebssysteme, einschließlich Redhat, Oracle, Ubuntu, CentOS usw.
  • Einfache Installation und Kompatibilität mit mehreren anderen Sprachen, darunter Java, Ruby, PHP und DotNet
  • Akzeptiert die Eingabeformate Syft, SPDX und CycloneDX SBOM
  • Sein Ausgabeformat kann mit Go-Vorlagen definiert werden
  • Unterstützt mehrere Quellen für den Aufbau von Schwachstellendatenbanken, um die Zuverlässigkeit des Schwachstellenabgleichs zu erhöhen.

Grype erfreut sich zunehmender Beliebtheit, da es einfach zu installieren ist und auf jeder Plattform eingesetzt werden kann, die Container unterstützt.

Da es zahlreiche Möglichkeiten gibt, einen Container anzugreifen, ist ein solider Sicherheitsscanner unerlässlich. Daher kann ein neuer Container-Sicherheitsscanner, Grype, verwendet werden, um Schwachstellen in Containern zu finden und Angriffe zu verhindern.

Fazit

Jetzt wissen Sie, dass es Container-Sicherheitsscanner gibt, also keine Ausrede mehr. Probieren Sie aus, wie sie Ihnen helfen können, Ihre containerisierte Anwendung sicher zu machen.