In diesem Video erklären wir, warum die Verwendung von Container-Image-Tags uns einem gefährlichen Angriff auf die Software-Lieferkette aussetzen kann. Wir präsentieren zwei Alternativen:
- Image-Digests
- Digitale Signaturen (mit Sigstore)
Docker-Image-Tags sind veränderlich, d.h. sie können aktualisiert werden. Wenn wir unsere Bereitstellungsmanifeste mit Image-Tags definieren, kann ein Angreifer, der Zugriff auf unser Container-Image-Registry erhält, ein echtes Image gegen ein korrumpiertes austauschen.
Ein Image-Digest ist ein unveränderlicher Identifikator, der von der Container-Engine berechnet wird und nicht aktualisiert werden kann. Mit dem Digest können wir eine spezifische Version eines Images festlegen.
Das reicht jedoch nicht aus, um die Herkunft des Images zu bestätigen. Um solche Garantien zu erhalten, müssen wir digitale Signaturen nutzen.
Eine digitale Signatur soll die Authentizität, Nichtabstreitbarkeit und Integrität der signierten Daten garantieren. Obwohl digitale Signaturen seit vielen Jahren existieren, werden sie aufgrund ihrer Komplexität selten eingesetzt. Man muss eine Infrastruktur einrichten, um Schlüssel, Signierung und Verifizierung zu verwalten.
Sigstore, ein Projekt, das von der Open Source Security Foundation (OpenSSF) und Unternehmen wie Google und Red Hat unterstützt wird, verspricht jedoch, digitale Signaturen für Artefakte zu demokratisieren. Wir können deren CLI cosign verwenden und Images mit nur einer Zeile signieren und verifizieren. Außerdem können wir cosign einfach in unsere Automatisierungspipelines wie GitHub Actions und GitLab CI integrieren.
Schließlich können wir den Policy-Controller von Sigstore in unserem Kubernetes-Cluster verwenden, um die Cluster-Image-Richtlinie zu definieren und strenge Kontrollen darüber durchzuführen, was in unseren Umgebungen ausgeführt wird.
00:00 Intro
00:19 Warum sind Image-Tags schlecht?
02:47 Was ist ein Image-Digest?
04:47 Was ist eine digitale Signatur?
06:14 Sigstore
-----
Nützliche Links:
-----
Verbinde dich mit mir:
#docker #devops #devsecops #kubernetes