Überblick
Clair ist ein Open Source-Projekt, das ein Tool zur Überwachung der Sicherheit Ihrer Container bietet, welches Schwachstellen bei appc- und Docker-Containern statisch analysiert. Clair ist eine API-gesteuerte Analyse-Engine, die Container schichtweise auf bekannte Sicherheitslücken untersucht. Mit Clair können Sie ohne großen Aufwand Services entwickeln, die über eine andauernde Kontrolle auf Container-Schwachstellen verfügen.
Clair für die Container-Sicherheit
Es werden kontinuierlich Daten zu Schwachstellen aus bekannten Quellen importiert und mit den indizierten Inhalten der Container-Images abgeglichen, um eine Liste von Sicherheitslücken zusammenzustellen, die eine Bedrohung für einen Container darstellen. Wenn sich Daten zu Schwachstellen in vorgelagerten Phasen ändern, können Informationen zum vorherigen und aktuellen Stand der Schwachstelle zusammen mit den betreffenden Bildern via Webhook zu einem konfigurierten Endpunkt gesendet werden. Die Hauptkomponenten können kundenspezifisch programmatisch in Kompilierzeit abgeändert werden, ohne das Projekt aufzuspalten. Clair unterstützt die Container-Sicherheit durch:
- Aktualisierung von Daten zu Schwachstellen auf Basis von Ihnen zusammengestellter Quellen und Speicherung dieser Daten in der Datenbank
- Erlaubnis für die Kunden, dieser Datenbank Anfragen zu Schwachstellen innerhalb spezifischer Images mithilfe einer API zu schicken
- Indizierung von Container-Images anhand einer Liste von Features, die im Image verfügbar sind, mithilfe einer API
Red Hat Ressourcen
So funktioniert Clair
Bei Clair werden mithilfe der CVE-Datenbank (Common Vulnerabilities and Exposures) und ähnlichen Datenbanken von Red Hat®, Ubuntu und Debian die Container-Schichten gescannt und Benachrichtigungen über potenziell bedrohliche Schwachstellen bereitgestellt. Da die Schichten von vielen Containern geteilt werden können, spielt die Introspektion eine wichtige Rolle bei der Erstellung eines Paketinventars, das mit den bekannten CVEs abgeglichen wird.
Im Rahmen von Clair gibt es nun neu einen Support für Package-Manager für Programmiersprachen – Python macht den Anfang – und eine neue Image-orientierte API.
Aufgrund der automatisierten Schwachstellenerkennung werden das Bewusstsein und die Best Security Practices in den Entwicklungs- und Operationsteams zunehmen. Das steigert die Bereitschaft, diese Schwachstellen zu beheben bzw. dagegen vorzugehen. Sobald neue Schwachstellen erkannt werden, gibt es bei Clair ohne erneutes Scannen Aufzeichnungen über die vulnerablen Schichten, und es werden Benachrichtigungen gesendet.
Beispielsweise gibt es CVE-2014-0160, auch bekannt als „Heartbleed“, schon länger. Die Red Hat Quay Sicherheitsprüfung hat festgestellt, dass es sich dabei noch immer um eine potenzielle Bedrohung für einen hohen Prozentsatz von Container-Image-Nutzenden handelt.
Beachten Sie, dass bei Schwachstellen oft besondere Bedingungen herrschen müssen, damit sie ausgenutzt werden können. Bei Heartbleed wird es zum Beispiel nur dann kritisch, wenn das vulnerable OpenSSL-Paket installiert und verwendet wird. Clair ist für dieses Niveau von Analyse nicht geeignet, und die Teams sollten gegebenenfalls weiterhin genauere Analysen anstellen.
Clair und Kubernetes
Clair ist Bestandteil des Open Source-Projekts Quay. Die Kubernetes-Plattform Red Hat OpenShift® ist in der Lage, Clair für die Container-Sicherheit zu nutzen. Dabei wird ein Kubernetes Operator namens „Container Security Operator“ verwendet, der seinerseits eine Komponente von Red Hat Quay ist. Red Hat Quay ist eine Registry-Plattform für Container Images, die auf Open Source basiert. Auf dieser Plattform können Sie Container mit cloudnativen und DevSecOps-Entwicklungsmodellen und -Umgebungen erstellen, verteilen und weltweit in Rechenzentren bereitstellen.
Der Quay Container Security Operator – er kann mit Red Hat OpenShift gemeinsam verwendet werden – erhöht anhand von Automatisierungs-, Authentifizierung- und Autorisierungssystemen die Sicherheit Ihrer Image-Repositorys. Red Hat Quay ist zusammen mit Red Hat OpenShift oder als Standalone-Komponente erhältlich.
Red Hat OpenShift Service on AWS (ROSA) kann Images Ihres Quellcodes erstellen, diese bereitstellen und deren Lifecycle überwachen. ROSA bietet ein internes, integriertes Container-Image-Register, das zum lokalen Management von Images in Ihrer ROSA-Umgebung bereitgestellt werden kann. Quay.io, eine öffentliche Red Hat Quay Container Registry (zur Verfügung gestellt und gewartet von Red Hat), stellt die meisten der Container-Images und Operators für ROSA-Cluster. Red Hat Quay ist sowohl als gehosteter Service als auch als Software erhältlich, die im eigenen Rechenzentrum oder in der eigenen Cloud-Umgebung installiert werden kann. Moderne Features von Red Hat Quay sind etwa Georeplikation, Image-Scanning und die Fähigkeit, Images auf frühere Versionen zurückzusetzen. Bei diesen Features muss Clair als Teil Ihrer OpenShift-Konfiguration eingesetzt werden.
Wie kann Red Hat helfen?
Red Hat möchte Open Source Communitys unterstützen und nimmt deshalb weiterhin an der Entwicklung des Projekt Quay als Mitglied der Cloud Native Computing Foundation teil.
Red Hat ist an der Entwicklung neuer Features für Clair und Projekt Quay maßgeblich beteiligt. Red Hat verwaltet auch eine der wichtigsten Datenbanken mit Schwachstellen, die von Clair verwendet werden. Nicht zuletzt führt Red Hat die größte Installation von Clair via quay.io aus, die als realitätsgetreue Umgebung für Belastungstests dient.
Der offizielle Red Hat Blog
Lernen Sie mehr über unser Ökosystem von Kunden, Partnern und Communities und erfahren Sie das Neueste zu Themen wie Automatisierung, Hybrid Cloud, KI und mehr.