Übersicht über die Bereitstellungsphase
Die Bereitstellungsphase ist die vierte Stufe des Containers Secure Supply Chain (CSSC)-Frameworks. Unternehmen können Containerimages in ihrer Hostingumgebung bereitstellen, um containerisierte Workloads auszuführen, ohne die Sicherheit und Compliance dieser Containerimages zu überprüfen. Dies erhöht die potenziellen Sicherheitsrisiken oder kann dazu führen, dass anfälliger oder bösartiger Code in der Hostingumgebung ausgeführt wird. Die in früheren Phasen erstellten Containerimagemetadaten und Nachweise sollten zur Bereitstellungszeit überprüft werden. Dadurch wird sichergestellt, dass die Bereitstellung unternehmensweite Sicherheits- und Compliancerichtlinien erfüllt.
Das Container Secure Supply Chain (CSSC)-Framework von Microsoft identifiziert die Notwendigkeit der Bereitstellung von Images auf konforme Weise. Das CSSC-Framework empfiehlt eine Reihe von Standardpraktiken und Tools, mit denen Sie Bilder sicher bereitstellen können, indem Sie die Bildmetadaten überprüfen und Compliancerichtlinien implementieren. In diesem Artikel erfahren Sie mehr über die Ziele, Standardpraktiken und Tools, die Sie in der Bereitstellungsphase des CSSC-Frameworks verwenden können.
Hintergrund
Unternehmen können Containerimages direkt aus externen oder internen Registrierungen bereitstellen, ohne zu überprüfen, ob die Containerimages frei von Sicherheitsrisiken sind und zur Verwendung zugelassen sind. Die Bereitstellung nicht vertrauenswürdiger und nicht kompatibler Containerimages in der Hostingumgebung erhöht die potenziellen Sicherheitsrisiken oder das Ausführen von Schadsoftware oder anfälligem Code in der Hostingumgebung.
Die CSSC-Framework-Methoden tragen dazu bei, sicherzustellen, dass bereitstellungsfähige Containerimages von vertrauenswürdigen Registrierungen, frei von Sicherheitsrisiken und Schadsoftware sind und Authentizität und Integrität gewährleisten. Viele Unternehmen implementieren Richtlinien, um das SBOM und die Signaturen der Containerimages zu überprüfen, bevor sie in Kubernetes bereitgestellt werden, und containerimages kontinuierlich scannen, um Überprüfungsberichte zu überprüfen.
In der Bereitstellungsphase konzentrieren wir uns auf die Sicherung des Containerimages und der Bereitstellungsumgebung. Bereitstellungen verwenden Containerimagesignatur, Lebenszyklusmetadaten, Sicherheitsrisiken- und Schadsoftwareberichte, SBOM und Provenienzdaten, die aus der Buildphase generiert wurden, um sicherzustellen, dass Containerimages vertrauenswürdig und kompatibel sind, bevor sie in der Hostingumgebung bereitgestellt werden.
Workflow für die Bereitstellung von Containerimages
Die Bereitstellungsphase verfügt über einen Workflow zum Bereitstellen von Containerimages über Hunderte oder Tausende von Clustern auf der ganzen Welt. Bereitstellungen können dynamisch und bei Bedarf erfolgen. Sobald die Containerimages erstellt, überprüft und signiert wurden, fördert das CSSC-Framework die Containerimages, und die relevanten Artefakte sind verfügbar, um für die Bereitstellungsphase übergreifend zu verteilen.
- Implementieren Sie die Imageintegritätsrichtlinie, um Imagesignaturen vor der Bereitstellung zu überprüfen, um sicherzustellen, dass sie nicht manipuliert wurden und von vertrauenswürdigen Herausgebern stammen.
- Implementieren Sie die Richtlinie zur Überprüfung von Sicherheitsrisiken, um Containerimages auf Sicherheitsrisiken zu überprüfen, Schwellenwerte basierend auf Schweregraden (CRITICAL, HIGH, MEDIUM, LOW) festzulegen und nur kompatible Images bereitzustellen.
- Implementieren Sie die Lizenzcompliancerichtlinie, um Einschränkungen für die Bereitstellung von Containerimages mit unerwünschten Lizenzen zu erzwingen.
- Implementieren Sie die Provenienzrichtlinie, um zu überprüfen, ob Containerimages aus vertrauenswürdigen Quellen und Repositorys vor der Bereitstellung stammen.
- Implementieren Sie die Image-Lifecycle-Richtlinie, um sicherzustellen, dass bereitgestellte Images innerhalb der Unterstützung und gültig sind und die Bereitstellung von End-of-Life- und End-of-Support-Images eingeschränkt wird.
- Generieren und signieren Sie Sicherheitsrisiken und Schadsoftwareberichte für jedes Bild, um Manipulationen zu verhindern und ihre Integrität zu schützen.
- Fügen Sie die signierten Berichte containerimages zur Sichtbarkeits- und Complianceüberprüfung während der Bereitstellung an.
- Überprüfen Sie Containerimagemetadaten, einschließlich SBOMs, Bildsignaturen, Sicherheitsrisikoberichte, Lebenszyklusmetadaten und Provenienzdaten.
- Implementieren Sie Zulassungssteuerungsmechanismen, um Bereitstellungsrichtlinien zu erzwingen und die Bereitstellung nicht kompatibler Containerimages einzuschränken.
- Automatisieren Sie Bereitstellungsprozesse mit CI/CD-Pipelines, integrieren Sie Bildüberprüfungs- und Überprüfungsprüfungen.
- Überwachen Sie bereitgestellte Images kontinuierlich, und erzwingen Sie die Compliance, um neue Sicherheitsrisiken, Complianceabweichungen zu erkennen und bei Bedarf Abhilfemaßnahmen zu ergreifen.
- Protokollieren Sie Bereitstellungsaktivitäten und führen Sie regelmäßige Audits durch, um die Einhaltung von Sicherheits- und Compliancestandards sicherzustellen.
- Implementieren Sie automatisierte oder manuelle Korrekturverfahren, um Sicherheitsvorfälle oder Complianceabweichungen zu beheben.
- Dokumentieren Sie den Bereitstellungsprozess, einschließlich der ergriffenen Schritte, der verwendeten Tools und aller implementierten Sicherheitsmaßnahmen für zukünftige Referenz- und Überwachungszwecke.
Empfohlene Praktiken
Microsoft empfiehlt, Imagemetadaten zur Bereitstellungszeit zu überprüfen und nur Containerimages aus vertrauenswürdigen Registrierungen bereitzustellen. Die folgenden Methoden werden empfohlen, um Ihre cloudeigenen Workloads zu schützen.
- Erzwingen Sie Bereitstellungsrichtlinien, die Metadaten überprüfen und nicht kompatible Containerimages einschränken. Dadurch wird verhindert, dass nicht genehmigte Images bereitgestellt werden.
- Erzwingen Sie Bereitstellungsrichtlinien, die Imagesignaturen überprüfen, bevor Sie Images bereitstellen. Dadurch wird sichergestellt, dass Bilder, die für die Bereitstellung verwendet werden, von einem vertrauenswürdigen Herausgeber stammen und nicht manipuliert wurden.
- Erzwingen Sie Bereitstellungsrichtlinien basierend auf der Sicherheitsrisikobewertung. Dadurch wird verhindert, dass Images mit Sicherheitsrisiken über einem bestimmten Schwellenwert (CRITICAL, HIGH, MEDIUM, LOW) bereitgestellt werden.
- Erzwingen Sie Bereitstellungsrichtlinien, die Lebenszyklusinformationen überprüfen, um sicherzustellen, dass End-of-Support-Images nicht in der Bereitstellung verwendet werden.
- Stellen Sie sicher, dass die Bereitstellungsumgebung und Die Plattform über eine sichere Netzwerkkonnektivität verfügen.
- Fordern Sie strenge Authentifizierung, Zugriffssteuerung und Dateiberechtigungen an, um nicht autorisierten Zugriff auf die Bereitstellungsplattform zu verweigern. Dadurch werden potenzielle durchleckte Anmeldeinformationen oder nicht autorisierte Änderungen vermieden.
- Automatisieren Sie den Überprüfungsprozess in der CI/CD-Pipeline.
Sicherheitsziele in der Bereitstellungsphase
Wenn Sie einen gut definierten Workflow für die Bereitstellung von Images haben, können Unternehmen ihre Sicherheit erhöhen und die Angriffsfläche für ihre Lieferkette für Container reduzieren. Die Bereitstellungsphase des CSSC-Frameworks soll die folgenden Sicherheitsziele erfüllen.
Bereitstellen von Images aus vertrauenswürdigen und kompatiblen Quellen
Sicherheitsrichtlinien sollten während der Bereitstellungsphase implementiert werden, um sicherzustellen, dass Containerimages aus vertrauenswürdigen Quellen stammen und nicht manipuliert werden. Integrität und Authentizität können überprüft werden, indem die Signaturen der Containerimages vor der Bereitstellung überprüft werden.
Implementieren von Sicherheitsrichtlinien für die Zulassungskontrolle
Sicherheitsrichtlinien sollten während der Bereitstellungsphase implementiert werden, um sicherzustellen, dass Containerimages kompatibel sind. Dies wird erreicht, indem die Containerimages anhand der folgenden Sicherheitsmetadaten überprüft werden: Sicherheitsrisiken- und Schadsoftwareberichte, Bildsignatur, SBOMs, Metadaten für den Imagelebenszyklus und Provenienzmetadaten.
Empfohlene Tools
Tools und Dienste zum Überprüfen von Bildmetadaten und Erzwingen einer Validierungsrichtlinie
Ratify ist ein Open-Source-Projekt, mit dem Kubernetes-Cluster sicherheitsmetadaten vor der Bereitstellung überprüfen und nur Bilder zulassen können, die einer Zulassungsrichtlinie entsprechen. Wir empfehlen, Ratify und Gatekeeper so zu konfigurieren, dass nur vertrauenswürdige und kompatible Containerimages auf Ihren Kubernetes-Clustern ausgeführt werden können.
Gatekeeper ist ein Open Source- und CNCF-Projekt, das einen dynamischen Zulassungscontroller und ein Richtlinienmodul bereitstellt, um Richtlinien für Kubernetes-Cluster auf standardisierte Weise zu definieren, zu erzwingen und zu überwachen.
Azure Policy erweitert Gatekeeper, damit integrierte Richtlinien in Ihren Azure Kubernetes-Dienstclustern angewendet werden können, um Bereitstellungen zu überwachen oder zu blockieren, die containerimages von externen Registrierungen oder nicht vertrauenswürdigen Quellen referenzieren.
Tools zum Anfügen von Bildmetadaten
ORAS ist ein CNCF-Projekt, das eine Möglichkeit zum Speichern und Verwalten von Artefakten in OCI-konformen Registern bietet. ORAS ermöglicht es Ihnen, jeden Artefakt, einschließlich Containerimages, Bildmetadaten und mehr, in einer OCI-kompatiblen Registrierung zu speichern und zu verwalten. Es bietet auch eine Reihe von Befehlszeilentools, die die Interaktion mit OCI-kompatiblen Registrierungen erleichtern. Wir empfehlen die Verwendung von ORAS, um die generierten Sicherheitsrisiko- und Schadsoftwareberichte, SBOM, Bildlebenszyklusmetadaten und Provenienzmetadaten zusammen mit dem zugeordneten Bild an die Registrierung zu übertragen.
Tools zum Signieren und Überprüfen von Containerimages und Metadaten
Das Notarprojekt ist ein Open-Source-Projekt, das eine Reihe von Spezifikationen und Tools enthält, die branchenübergreifende Standards für die Sicherung von Software-Lieferketten durch Signieren und Überprüfen, Signaturübertragbarkeit und Schlüssel-/Zertifikatverwaltung bieten sollen. Notation ist ein Von der Notäre Project-Community entwickeltes Lieferkettentool, das das Signieren und Überprüfen von Artefakten in OCI-konformen Registrierungen (Open Container Initiative) unterstützt, die Signaturübertragbarkeit und Interoperabilität ermöglichen. Darüber hinaus bietet sie die Integration mit Schlüsselverwaltungslösungen von Drittanbietern über ein Plug-In-Modell, wodurch die Erweiterbarkeit ermöglicht wird. Es wird empfohlen, containerimages und Metadaten mithilfe von Notarprojekttools zu signieren, um Authentizität und Nicht-Manipulation sicherzustellen.
Nächste Schritte
Siehe Übersicht über die Ausführungsphase zum sicheren Bereitstellen von Containerimages.