Übersicht über die Erwerbsphase
Der Erwerb externer Containerimages, die als Basis- oder Hilfsimages verwendet werden sollen, ist die erste Phase der Lieferkette für Container. Unternehmen verfügen möglicherweise nicht über das Know-how oder die Ressourcen zum Erstellen jedes Softwarestücks aus der Quelle und müssen sich auf externe Quellen für Containerimages verlassen. Beispiele für solche Bilder sind Betriebssystem- oder Frameworkimages, Dienstproxys wie NGINX und Envoy oder Protokollierungs- und Metrikimages wie Fluentd und Kafka. Es ist wichtig, vor der Verwendung bestimmte Qualitätsprüfungen festzulegen und sicherzustellen, dass solche Bilder den Unternehmensrichtlinien entsprechen.
Das Container Secure Supply Chain (CSSC)-Framework von Microsoft identifiziert die Notwendigkeit, externe Bilder zu erwerben. Das CSSC-Framework empfiehlt eine Reihe von Standardpraktiken und Tools, die Ihnen helfen, die externen Containerimages für die interne Verwendung sicher zu erwerben. In diesem Artikel erfahren Sie mehr über die Ziele, Standardpraktiken und Tools, die Sie in der Phase "Erwerben" des CSSC-Frameworks verwenden können.
Hintergrund
Derzeit haben Unternehmen keinen etablierten Prozess für den Erwerb externer Containerimages. Die Ansätze variieren je nach Größe und Know-how des Unternehmens stark.
Sicherheitsorientierte Unternehmen bringen vorab genehmigte Images aus externen Quellen, z. B. Docker Hub, in eine interne Quarantäneregistrierung ein. Diese Bilder werden auf Sicherheitsrisiken und Schadsoftware überprüft, bevor sie zur internen Verwendung freigegeben werden. Dieser Prozess ist jedoch nicht einheitlich oder vollständig automatisiert. Unternehmen haben auch keine Methode, um die Authentizität und Integrität dieser Bilder in der gesamten Lieferkette zu gewährleisten. Schließlich haben sie keine konsistente Möglichkeit, die Bilder mit zusätzlichen Metadaten für nachfolgende Phasen der Lieferkette zu bereichern.
Unternehmen, die ihre Sicherheitsreise starten, verwenden Containerimages von externen Registrierungen direkt in ihren Build- und Bereitstellungsskripts. Bei diesem Ansatz können Sicherheitsrisiken, Schadsoftware und nicht kompatible Software auftreten, die die Verfügbarkeit von Imagebuilds und containerisierten Diensten beeinträchtigt.
Die Stufe "Erwerben" des CSSC-Frameworks empfiehlt eine Reihe von Schritten und Sicherheitskontrollen, die implementiert werden sollten, um sicherzustellen, dass die externen Bilder überprüft und den Unternehmensrichtlinien entsprechen, bevor sie intern verwendet werden.
Empfohlene Praktiken
Microsoft empfiehlt, Software nach Möglichkeit aus der Quelle zu erstellen. Falls Unternehmen dies nicht tun können, empfehlen wir die folgenden Methoden für den Erwerb externer Containerimages und cloudeigene Artefakte.
- Importieren Sie externe Bilder in eine interne Registrierung, die sich unter der Kontrolle des Unternehmens befindet, um die Abhängigkeit von Drittanbietern zu entfernen und die Auswirkungen auf die Verfügbarkeit zu verringern. Sie sollten Bilder nur aus seriösen Quellen importieren.
- Überprüfen Sie nach Verfügbarkeit Signaturen der externen Bilder, um die Authentizität und Die Bildintegrität des Herausgebers während des Importvorgangs sicherzustellen.
- Bevor Sie die interne Verwendung zulassen, scannen Sie Containerimages auf Sicherheitsrisiken und Schadsoftware, um das Risiko der Einführung von Sicherheitsfehlern zu verringern.
- Bereichern Sie Containerimages mit zusätzlichen Metadaten wie SBOMs, Provenienz und Lebenszyklus, um Richtlinien in nachfolgenden Phasen der Software-Lieferkette zu ermöglichen.
- Signieren Sie Containerimages und relevante Metadaten mit Unternehmensschlüsseln, um Integrität sicherzustellen und einen vertrauenswürdigen Genehmigungsstempel für die interne Verwendung bereitzustellen.
Die CSSC-Framework-Anleitung von Microsoft entspricht auch den Richtlinien für die Sicherheit von Materialien in CNCF Software Supply Chain Best Practices.
Workflow für den Erwerb externer Bilder
Trotz der Vertrauensunternehmen, die in Lieferanten oder Open-Source-Projekte eingebunden sind, sollten sie immer die Software überprüfen, die sie aus externen Quellen erwerben. Containerimages und cloudeigene Artefakte sind keine Ausnahme. Das CSSC-Framework empfiehlt den folgenden Workflow für den Erwerb externer Bilder.
- Importieren Sie Containerimages und cloudeigene Artefakte in eine interne Registrierung unter Unternehmenssteuerung.
- Isolieren Sie die Bilder in der internen Registrierung, um zu verhindern, dass sie intern verwendet werden, bis sie überprüft werden.
- Überprüfen Sie alle dem Bild zugeordneten Signaturen, um die Authentizität und Integrität des Bilds sicherzustellen, wenn Signaturen in der externen Registrierung vorhanden sind.
- Überprüfen Sie alle anderen Metadaten, die mit dem Bild verknüpft sind, einschließlich SBOMs und Provenance, um Verstöße gegen Unternehmensrichtlinien wie nicht kompatible Lizenzen zu verhindern, wenn zusätzliche Metadaten in der externen Registrierung vorhanden sind.
- Scannen Sie die Bilder auf bekannte Sicherheitsrisiken und Schadsoftware, um die Einführung von Sicherheitsfehlern zu verhindern.
- Fügen Sie die Sicherheitsrisiko- und Schadsoftwareberichte als Bildnachweise an, die in nachfolgenden Phasen der Lieferkette verwendet werden sollen.
- Falls nicht verfügbar, generieren Sie SBOM und Provenienz für das Bild, und fügen Sie sie als Bildnachweise an, die in nachfolgenden Phasen der Lieferkette verwendet werden sollen.
- Erweitern Sie die Bilder mit zusätzlichen Metadaten wie Lebenszyklusmetadaten, die in nachfolgenden Phasen der Lieferkette verwendet werden sollen.
- Signieren Sie das Image und die relevanten Metadaten mit Unternehmensschlüsseln, um Integrität sicherzustellen und einen vertrauenswürdigen Stempel der Genehmigung für die interne Verwendung bereitzustellen.
- Wenn das Bild den internen Richtlinien entspricht, veröffentlichen Sie das Bild für die interne Verwendung in der goldenen Registrierung .
Sicherheitsziele in der Phase "Erwerben"
Ein gut definierter Workflow für den Erwerb externer Bilder hilft Unternehmen dabei, ihre Sicherheit zu erhöhen und die Angriffsfläche auf ihrer Lieferkette für Container zu reduzieren. Die "Acquire"-Phase des CSSC-Frameworks soll die folgenden Sicherheitsziele erfüllen.
Reduzieren der Angriffsfläche aufgrund externer Abhängigkeiten
Öffentliche Register sind aufgrund ihrer offenen Natur und fehlender strenger Sicherheitsmaßnahmen anfällig für verschiedene Arten von Angriffen. Benutzern innerhalb des Unternehmens das direkte Abrufen von Bildern aus externen Registrierungen zu ermöglichen, macht sie angriffen wie Abhängigkeitsverwechslungen und Tippfehlern offen.
Die Stufe "Acquire" im CSSC-Framework behebt dieses Risiko, indem der Erwerb und die Verwaltung externer Artefakte zentralisiert und den internen Benutzern eine einzige Wahrheitsquelle für alle Bilder und cloudeigene Artefakte angeboten wird.
Minimieren des Risikos der Einführung von Sicherheitsfehlern
Das Fehlen strenger Überprüfungs- und Genehmigungsprozesse für Bilder in den öffentlichen Registern bedeutet, dass jeder Bilder ohne strenge Kontrolle pushen kann. Dies erhöht das Risiko, versehentlich kompromittierte Bilder zu verwenden, die Sicherheitsrisiken in Unternehmensanwendungen einführen können.
In der Stufe "Erwerben" wird dieses Risiko behoben, indem ein erforderlicher Schritt für die Überprüfung von Sicherheitsrisiken und Schadsoftware der Bilder hinzugefügt wird, bevor sie für die interne Verwendung genehmigt werden. Ein weiterer zusätzlicher Vorteil beim Importieren der Bilder in eine interne Registrierung, diese Bilder können jetzt regelmäßig gescannt und gepatcht werden.
Erhöhen der Verfügbarkeit von Containerbuilds und Bereitstellungen
Aufgrund der Notwendigkeit, Containerimages global zu verteilen, sind öffentliche Register anfällig für Drosselungen. Öffentliche Registrierungen sind auch Ziele von DDoS-Angriffen, die sich auf die Bildverteilung auswirken können. Schließlich werden öffentliche Registrierungen auf der Infrastruktur gehostet, die nicht unter unternehmensrechtlicher Kontrolle steht und von Ausfällen betroffen sein kann. All dies kann zu Verzögerungen oder Fehlern in Unternehmensbuilds und Bereitstellungen führen.
Durch das Importieren von Bildern aus externen Registrierungen in eine interne Registrierung behebt die Phase "Erwerben" dieses Risiko, indem die Abhängigkeit von externen Registrierungen entfernt und Unternehmen die Häufigkeit steuern können, mit der sie Bilder aus internen Registrierungen abrufen. Private Registrierungen können auch besser vor externen Angriffen geschützt werden und die Anforderungen an die Unternehmensverfügbarkeit erfüllen.
Steuern des Lebenszyklus externer Bilder
Software-Herausgeber können Bilder in externen Registern ohne Vorheriges aktualisieren. Dies kann zu unerwarteten Änderungen in Unternehmensbuilds und Bereitstellungen führen. Außerdem können Bilder ohne Vorheriges aus externen Registrierungen entfernt werden, was dazu führen kann, dass Unternehmensbuilds und Bereitstellungen fehlschlagen.
Durch die Einführung einer Zwischenregistrierung zum Hosten der externen Bilder behebt die Phase "Abrufen" dieses Risiko, indem zwischengespeicherte Versionen der bilder bereitgestellt werden, die für die interne Verwendung erforderlich sind. Auf diese Weise können Unternehmen den Lebenszyklus der Images steuern und sicherstellen, dass sie gemäß den Unternehmensrichtlinien eingestellt werden.
Sicherstellen einer minimalen Bildqualität
Während einige Herausgeber externer Images mit Nachweisen wie SBOMs und Provenienz sowie Signieren von Containerimages beginnen, verfügen viele Bilder in den öffentlichen Registrierungen nicht über solche Nachweise. Dies liegt auch daran, dass bestimmte öffentliche Register solche Funktionen nicht unterstützen. Dies erschwert Es Unternehmen, sicherzustellen, dass die von ihnen erworbenen Bilder ihren Richtlinien entsprechen.
In der Phase "Acquire" des CSSC-Frameworks können Unternehmen die Bilder mit zusätzlichen Metadaten erweitern, darunter SBOMs, Provenienz, Lebenszyklus und andere interne Metadaten, die ihren Richtlinien entsprechen. Sie können die Artefakte auch mit Unternehmensschlüsseln signieren, um Integrität sicherzustellen und einen vertrauenswürdigen Stempel der Genehmigung für die interne Verwendung bereitzustellen.
Empfohlene Tools
Microsoft bietet eine Reihe von Tools und Diensten, die Unternehmen dabei helfen können, die empfohlenen Schritte im Workflow der Erwerbsphase zu implementieren und die oben aufgeführten Sicherheitsziele zu erfüllen.
Tools und Dienste zum Importieren externer Bilder
Azure Container Registry (ACR) ist eine verwaltete, OCI-kompatible Registrierung, die die Verteilung von Containerimages und anderen cloudeigenen Artefakten unterstützt. ACR ist mit den neuesten OCI-Spezifikationen kompatibel und kann verwendet werden, um Lieferkettenartefakte zu speichern.
Die ACR-Importfunktion kann verwendet werden, um Bilder aus externen Registrierungsstellen in ACR zu importieren. Der Import behält den Imagedigest und die Tags bei und ermöglicht es Ihnen, Bilder aus jeder öffentlichen und privaten Registrierung zu importieren, die die Docker Registry V2-API unterstützt.
ORAS ist ein CNCF-Projekt, das von Microsoft unterstützt wird und eine Open-Source-CLI und Bibliotheken für die Interaktion mit OCI-Registrierungen bietet. ORAS kann auch verwendet werden, um Bilder und andere OCI-Artefakte aus externen Registern in ACR zu kopieren.
Tools und Dienste zum Überprüfen externer Bilder
ACR-Aufgaben sind eine Reihe von Features in der Azure-Containerregistrierung, mit der Unternehmen verschiedene Aufgaben wie Sicherheitslückenüberprüfung oder SBOM oder Signaturüberprüfung automatisieren können. ACR-Aufgaben können verwendet werden, um externe Images zu überprüfen, sobald sie in die Azure-Containerregistrierung importiert wurden. ACR-Aufgaben können auch verwendet werden, um den Import von Bildern aus externen Registrierungen in die Azure Container Registry zu automatisieren.
Microsoft Defender für Cloud ist die cloudeigene Lösung, um die Sicherheit Ihrer containerisierten Workloads zu verbessern, zu überwachen und zu Standard zu gewährleisten. Microsoft Defender für Cloud bietet Tools zur Sicherheitsrisikobewertung und -verwaltung für Bilder, die in der Azure-Containerregistrierung gespeichert sind.
Tools zum Anreichern externer Bilder mit Unternehmensmetadaten
Als vielseitiges Tool für die Interaktion mit OCI-Registrierungen kann ORAS auch verwendet werden, um Anmerkungen hinzuzufügen und Metadaten an ein Containerimage anzufügen. ORAS kann verwendet werden, um SBOMs, Provenienz, Lebenszyklus und andere Metadaten hinzuzufügen, um die Bilder für nachfolgende Phasen in der Lieferkette zu bereichern.
Das SBOM-Tool von Microsoft ist ein Open Source-, hoch skalierbares und unternehmensfähiges Tool zum Erstellen von SPDX 2.2-kompatiblen SBOMs für jede Vielzahl von Artefakten. SBOM Tool kann verwendet werden, um detaillierte SBOMs für Containerimages zu generieren.
Notar Project ist ein von Microsoft gesichertes CNCF-Projekt, das Spezifikationen und Tools zum Signieren und Überprüfen von Softwareartefakten entwickelt. Das Tool des Notarprojekts notation
kann zum Signieren von Containerimages und anderen cloudeigenen Artefakten mit Enterprise-Schlüsseln verwendet werden.
Nächste Schritte
Siehe Übersicht über die Katalogphase zum sicheren Hosten von Containerimages für die interne Verwendung.