Was ist Containersicherheit?

Containersicherheit konzentriert sich auf den Schutz von Container-Registries, den zentralen Speicher- und Verteilungssystemen für Container-Images. Container-Registrierungsstellen spielen eine zentrale Rolle im Container-Ökosystem, da sie die Integrität und Sicherheit von containerisierten Anwendungen gewährleisten. Zu einer angemessenen Containersicherheit gehören die Verwendung vertrauenswürdiger Registrierungen, die Implementierung einer strengen Zugriffskontrolle, die Überwachung auf Schwachstellen und die Sicherung des Hosting-Servers. Außerdem müssen unsichere Verbindungen abgelehnt und veraltete Bilder entfernt werden. Indem sie der Containersicherheit Priorität einräumen, können Organisationen ihre containerisierten Umgebungen schützen und das Vertrauen von Benutzern und Kunden erhalten.

 

Containersicherheit im Register erklärt

Die Containersicherheit konzentriert sich auf eine wichtige Komponente des Container-Ökosystems - die Container-Registrierung. Im Rahmen der Containersicherheitfungiert die Registry als Verwahrer von Container-Images, den Bausteinen von containerisierten Anwendungen. Das Container-Register ist also mehr als nur eine Lagereinheit. Es handelt sich vielmehr um einen Knotenpunkt, an dem die Integrität von Anwendungsimages sowohl gewahrt als auch verteilt wird.

Verstehen von Container-Registern

In einer containerisierten Umgebung werden, wie Sie wissen, Anwendungen mit ihren Abhängigkeiten in Pakete verpackt, wodurch sie portabel werden und sich leicht plattformübergreifend bereitstellen lassen. Container-Registraturen dienen diesem Prozess, indem sie einen Ort bereitstellen, an dem Container-Images auf konsistente Weise versioniert, abgerufen und bereitgestellt werden können.

Die Container-Registry ist also ein zentrales Speicher- und Verteilungssystem für Container-Images. Die Registry ermöglicht es Entwicklern und Betriebsteams, Container-Images zu speichern, zu verwalten und auszutauschen, die sie zur Erstellung und Bereitstellung von containerisierten Anwendungen und Microservicesverwenden.

Öffentliche und private Register

Organisationen können eine Kombination aus öffentlichen und privaten Container-Registraturen verwenden, um ihre Container-Images sowie andere Artefakte zu verwalten.

Öffentliche Registrierungsstellen wie Docker Hub und GitHub Container Registry, eine Unterfunktion von GitHub Packages, bieten eine umfangreiche Sammlung von Open-Source-Images, die Organisationen als Grundlage für ihre Anwendungen nutzen können. Diese Register sind in der Regel für jedermann zugänglich, so dass es für Entwickler einfach ist, vorgefertigte Bilder zu finden und zu verwenden.

Organisationen haben jedoch oft spezielle Anforderungen und proprietäre Software, die den Einsatz privater Register erforderlich machen.

Container-Register / Repository öffentlich vs. privat

Abbildung 1: Container-Register / Repository öffentlich vs. privat

Private Container-Registrierungsstellen wie Azure Container Registry, Amazon Elastic Container Registry und Google Container Registry bieten sichere, kontrollierte Umgebungen für die Speicherung und Verwaltung proprietärer Images und zugehöriger Artefakte. Auf diese Register können nur autorisierte Benutzer innerhalb der Organisation zugreifen, um sicherzustellen, dass sensible Informationen und individuell erstellte Bilder sicher bleiben.

Durch die Verwendung einer Kombination aus öffentlichen und privaten Registern können Organisationen die Vorteile von Open-Source-Images nutzen und gleichzeitig die Kontrolle über ihre proprietäre Software behalten. Dieser duale Ansatz ermöglicht es Organisationen, ihre Arbeitsabläufe bei der Containerverwaltung zu optimieren und die Bereitstellung zu rationalisieren.

 

Komponenten der Containersicherheitsregistrierung

Da die Registry für die Funktionsweise einer Container-Umgebung von zentraler Bedeutung ist - und Organisationen leicht Zehntausende von Images darin speichern können - ist die Sicherung der Registry ein wesentlicher Bestandteil der Integrität des Softwareentwicklungszyklus.

Schwachstellen können mehr als nur die Anwendung gefährden. Ein Angreifer, der eine Fehlkonfigurationen ausnutzt, könnte sich unbefugten Zugriff auf das CI/CD-System verschaffen und sich seitlich bewegen, um auf das zugrunde liegende Betriebssystem zuzugreifen. Sie könnten möglicherweise legitime CI/CD-Abläufe manipulieren, sensible Token erlangen und in die Produktionsumgebung gelangen, wo sie durch die Identifizierung eines freiliegenden Berechtigungsnachweises in das Netzwerk der Organisation gelangen könnten.

Verwandter Artikel: Anatomie eines Angriffs auf die Cloud Supply Pipeline

Die Sicherheit der Registrierung beginnt damit, dass Sie nur vertrauenswürdige Registraturen und Bibliotheken verwenden. Die kontinuierliche Überwachung von Schwachstellen ist von grundlegender Bedeutung, ebenso wie die Sicherung des Hosting-Servers und die Implementierung umfangreicher Zugriffsrichtlinien. Eine ordnungsgemäße Registrierungssicherheit sollte unsichere Verbindungen verweigern, veraltete Bilder kennzeichnen oder entfernen und strenge Authentifizierungs- und Autorisierungsbeschränkungen durchsetzen.

Schauen wir uns diese Maßnahmen genauer an.

 

Förderung der Integrität von Images und Artefakten in CI/CD

Das Verständnis der Risiken, die mit Bildern und Artefakten verbunden sind, macht deutlich, wie wichtig die Implementierung strenger Kontrollen ist, um ihre Integrität sicherzustellen. Erwägen Sie die Implementierung der folgenden Strategien.

Unsichere Verbindungen verweigern

Öffentliche Registrierungsstellen können zwar einen anonymen Zugriff auf Container-Images ermöglichen, aber um Man-in-the-Middle-Angriffe, unbefugte Manipulationen und den unbefugten Zugriff auf sensible Daten zu verhindern, müssen Sie sichere Verbindungen unterhalten.

Um unsichere Verbindungen abzulehnen, konfigurieren Sie Ihre Systeme so, dass sie nur sichere Protokolle wie HTTPS oder TLS-verschlüsselte Verbindungen akzeptieren. Beginnen Sie damit, ein gültiges SSL/TLS-Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle (CA) für Ihre Domain zu erwerben und zu installieren. Aktualisieren Sie dann Ihre Server- oder Servicekonfiguration, um die Verwendung von HTTPS oder TLS zu erzwingen und unsichere Protokolle wie HTTP zu deaktivieren. Abhängig von Ihrer Einrichtung kann dies eine Anpassung der Einstellungen Ihres Webservers (z.B. Nginx, Apache), des Load Balancers oder der Anwendung erfordern. Ziehen Sie auch die Verwendung von Sicherheitsfunktionen wie HSTS (HTTP Strict Transport Security) in Betracht, um Browser anzuweisen, beim Zugriff auf Ihre Website oder Ihren Dienst immer sichere Verbindungen zu verwenden.

Veraltete Bilder entfernen

Legen Sie eine Richtlinie fest, um veraltete Bilder zu definieren - Bilder, die älter als ein bestimmter Zeitrahmen sind oder eine bestimmte Zeit lang nicht benutzt wurden - und verwenden Sie Registry-Tools oder APIs, um Bilder auf der Grundlage der Richtlinie aufzulisten und zu filtern. Verwenden Sie z.B. in Docker Registry die Docker Registry API, um Bild-Metadaten abzurufen und nach dem Datum der letzten Veröffentlichung oder dem Tag zu filtern. In anderen Registern können ähnliche APIs oder CLI-Tools verfügbar sein. Sobald Sie die veralteten Images identifiziert haben, verwenden Sie die entsprechenden Befehle oder APIs, um sie zu löschen, und stellen Sie sicher, dass Sie die Best Practices der Registrierung für die Garbage Collection befolgen.

Vermeiden Sie IAM-Probleme in Drittanbieter-Registern

Die Identitäts- und Zugriffsverwaltung (IAM) ist für Organisationen von entscheidender Bedeutung, insbesondere in Quellcodeverwaltungssystemen (SCM) wie GitHub, wo Repositories wertvollen Code und Assets speichern. Unzureichende IAM kann zu Sicherheitsrisiken in der CI/CD-Pipeline führen. Zur Optimierung von Sicherheit und Governance für Repositories können Organisationen Single Sign-On (SSO) und Systeme für domänenübergreifendes Identitätsmanagement (SCIM) zur Verwaltung von Zugriffskontrollen einsetzen. SSO ist jedoch nur für GitHub Enterprise verfügbar, so dass andere Lizenzen einem Risiko ausgesetzt sind.

Um Probleme mit privaten E-Mail-Adressen in GitHub-Konten, Geister-GitHub-Konten und unvollständigem Offboarding zu vermeiden, sollten Sie eine Zwei-Faktor-Authentifizierung (2FA) durchsetzen, ein Onboarding-Protokoll mit speziellen Unternehmenskonten einrichten und ein Inventar der Benutzerkonten führen. Für SSO-fähige Organisationen gewährleistet die Implementierung von SCIM die automatische Deprovisionierung von Benutzern und verhindert den Zugriff über veraltete Anmeldedaten. Der Umgang mit IAM-Risiken hilft, Repositories und das CI/CD-Ökosystem zu schützen und ein hohes Sicherheitsniveau für alle Systeme aufrechtzuerhalten.

Verwandter Artikel: Die 3 größten IAM-Risiken in Ihrer GitHub Organisation

Ausreichende Authentifizierungs- und Autorisierungsbeschränkungen verwenden

Identitäten, denen mehr Rechte gewährt werden, als für das Repository erforderlich sind, eröffnen Möglichkeiten zur Ausweitung der Privilegien und können zu nicht autorisierten Codeänderungen, Manipulationen des Build-Prozesses und Zugriff auf sensible Daten führen. Automatisierung kann dabei helfen, Zugriffskontrollen zu validieren, Benutzerberechtigungen zu überprüfen und potenzielle Schwachstellen zu identifizieren, so dass Organisationen routinemäßige proaktive Maßnahmen ergreifen können, wie z.B.:

  • Analysieren und Zuordnen aller Identitäten im gesamten technischen Ökosystem. Ordnen Sie für jede Identität kontinuierlich den Identitätsanbieter, die gewährten und die verwendeten Berechtigungen zu. Stellen Sie sicher, dass die Analyse alle programmatischen Zugangsmethoden abdeckt.
  • Entfernen von unnötigen Berechtigungen für jede Identität auf verschiedenen Systemen in der Umgebung.
  • Festlegung eines akzeptablen Zeitraums für die Deaktivierung oder Entfernung veralteter Konten. Deaktivieren und entfernen Sie Identitäten, die diesen Inaktivitätszeitraum überschreiten.
  • Kartierung aller externen Mitarbeiter und Anpassung ihrer Identitäten an das Prinzip der geringsten Privilegien. Erteilen Sie, wenn möglich, Berechtigungen mit einem Ablaufdatum für menschliche und programmatische Konten.
  • Verbot des Zugriffs von Mitarbeitern auf SCMs, CIs oder andere CI/CD-Plattformen über ihre persönlichen E-Mail-Adressen oder Adressen von Domänen, die nicht der Organisation gehören. Überwachen Sie Nicht-Domain-Adressen in verschiedenen Systemen und entfernen Sie nicht konforme Benutzer.
  • Verhindern Sie, dass sich Benutzer selbst bei Systemen registrieren und erteilen Sie Berechtigungen nach Bedarf.
  • Vermeidung der Vergabe von Basisberechtigungen in einem System an alle Benutzer und an große Gruppen mit automatisch zugewiesenen Benutzerkonten.
  • Erstellen Sie dedizierte Konten für jeden spezifischen Kontext, anstatt gemeinsame Konten zu verwenden, und gewähren Sie genau die Berechtigungen, die für den jeweiligen Kontext erforderlich sind.

Implementierung von sicherem Speicher

Richten Sie ein sicheres, manipulationssicheres Repository zum Speichern von Artefakten ein. Ermöglichen Sie die Versionierung, um eine historische Aufzeichnung der Artefaktänderungen zu erhalten und implementieren Sie eine Echtzeitüberwachung, um verdächtige Aktivitäten zu verfolgen und zu melden. Im Falle kompromittierter Artefakte sollten Sie das System so konfigurieren, dass ein Rollback auf eine frühere, als gut bekannte Version möglich ist.

Führen Sie Integritätsprüfungen von der Entwicklung bis zur Produktion durch

Implementieren Sie Prozesse und Technologien, die die Integrität der Ressourcen in der gesamten Softwarebereitstellungskette überprüfen. Wenn Entwickler eine Ressource generieren, sollten sie diese mit einer externen Ressourcensignatur-Infrastruktur signieren. Bevor Sie eine Ressource in den nachfolgenden Phasen der Pipeline verwenden, überprüfen Sie ihre Integrität anhand der Signierstelle.

Code Signing

SCM-Lösungen bieten die Möglichkeit, Commits mit einem eindeutigen Schlüssel für jeden Mitwirkenden zu signieren und so zu verhindern, dass unsignierte Commits die Pipeline durchlaufen.

Software zur Überprüfung von Artefakten

Tools zum Signieren und Verifizieren von Code und Artefakten, wie z.B. Sigstore der Linux Foundation, können verhindern, dass ungeprüfte Software in der Pipeline weitergegeben wird.

Erkennung von Konfigurationsabweichungen

Implementieren Sie Maßnahmen zur Erkennung von Konfigurationsabweichungen, wie z.B. Ressourcen in Cloud-Umgebungen, die nicht mit einer signierten infrastructure-as-code Vorlage verwaltet werden. Solche Abweichungen könnten auf Bereitstellungen aus nicht vertrauenswürdigen Quellen oder Prozessen hindeuten.

Kryptographisches Signieren verwenden

Verwenden Sie die Public Key Infrastructure (PKI), um Artefakte in jeder Phase der CI/CD-Pipeline kryptografisch zu signieren. Bei diesem Verfahren werden Signaturen vor der Verwendung mit einer vertrauenswürdigen Zertifizierungsstelle abgeglichen. Konfigurieren Sie Ihre CI/CD-Pipeline so, dass Artefakte mit ungültigen oder fehlenden Signaturen zurückgewiesen werden, um das Risiko der Bereitstellung manipulierter Ressourcen oder nicht autorisierter Änderungen zu verringern.

Verwenden Sie nur gesicherte Container-Images

Container-Images können Schwachstellen enthalten, die Angreifer ausnutzen können, um unbefugten Zugriff auf den Container und seinen Host zu erhalten. Um dies zu verhindern, verwenden Sie sichere, vertrauenswürdige Container-Images aus seriösen Quellen und überprüfen diese regelmäßig. Wenn Sie einen Container aus einer öffentlichen Registrierung bereitstellen, ist es besonders wichtig, den Container zunächst auf Malware und Schwachstellen zu scannen.

Multi-Source-Validierung erzwingen

Verwenden Sie eine Strategie zur Validierung mehrerer Quellen, die die Integrität von Artefakten anhand verschiedener Quellen wie Prüfsummen, digitalen Signaturen und sicheren Hash-Algorithmen sowie vertrauenswürdigen Repositories überprüft. Halten Sie die kryptographischen Algorithmen und Schlüssel auf dem neuesten Stand, um ihre Wirksamkeit zu erhalten.

Validierung von Drittanbieter-Ressourcen

Ressourcen von Drittanbietern, die in Build- und Bereitstellungspipelines eingebunden sind, wie z.B. Skripte, die während des Build-Prozesses ausgeführt werden, sollten einer strengen Validierung unterzogen werden. Bevor Sie diese Ressourcen nutzen, berechnen Sie ihren Hash und vergleichen ihn mit dem offiziellen Hash des Ressourcenanbieters.

Sicherheits-Scans integrieren

Die CI/CD-Pipeline sollte bei der Erstellung von Abbildern nur überprüften (produktionsgeprüften) Code verwenden. Integrieren Sie Tools zum Scannen von Schwachstellen - sowie Software Composition Analysis (SCA) und Static Application Security Testing (SAST) - in die CI/CD-Pipelines, um die Integrität der Images zu gewährleisten, bevor diese in die Registry gestellt werden, aus der sie für die Bereitstellung in der Produktion stammen. Achten Sie auch auf die Einhaltung bewährter Verfahren. Erstellen Sie z.B. keine Images, bevor Sie nicht alle unnötigen Softwarekomponenten, Bibliotheken, Konfigurationsdateien, Geheimnisse usw. entfernt haben.

Ein konservativer, vorsichtiger Ansatz ermöglicht es den Teams, Schwachstellen frühzeitig im Entwicklungsprozess zu beheben und ein hohes Maß an Codequalität aufrechtzuerhalten, während gleichzeitig das Risiko von Sicherheitsvorfällen reduziert wird. Wählen Sie eine Lösung zum Scannen von Container-Images, die sich in alle Registrierungsarten integrieren lässt. Plattformen wie Prisma Cloud bieten Administratoren eine flexible Lösung zum Scannen von Bildern aus einer Hand.

Image Analysis Sandbox

Die Verwendung einer Image Analysis Sandbox verbessert Ihre Containersicherheitsstrategie während der Entwicklung und Bereitstellung von containerisierten Anwendungen. Sie ermöglicht es Ihnen, Container-Images, die möglicherweise veraltete, angreifbare Pakete und eingebettete Malware enthalten, sicher aus externen Repositories zu ziehen und auszuführen.

Mit den Funktionen der Sandbox können Sie in einer kontrollierten Umgebung nach verdächtigem anomalem Container-Verhalten wie Cryptomining, Port-Scanning, modifizierten Binärdateien und Kernel-Modul-Modifikationen suchen. Sie können Risiken aufdecken und verdächtige Abhängigkeiten in Ihrer Software-Lieferkette identifizieren, die die statische Analyse sonst übersehen hätte.

  • Erfassen Sie ein detailliertes Laufzeitprofil des Containers.
  • Bewerten Sie das Risiko eines Bildes
  • Integrieren Sie dynamische Analysen in Ihren Arbeitsablauf

Festlegung von Validierungsrichtlinien und Audit-Zeitplan

Um eine ordnungsgemäße Validierung der Integrität von Bildern und Artefakten zu gewährleisten, sollten Organisationen klare Richtlinien festlegen, die die Validierungsprozesse definieren. Prüfen Sie regelmäßig die Compliance mit den internen Richtlinien, um Schwachstellen und Bereiche, in denen die Richtlinien nicht eingehalten werden, zu identifizieren und zu beheben. Kontinuierliche Überwachung und Analyse helfen Ihnen, Anomalien und unbefugte Aktivitäten aufzudecken.

 

Sicherheitscheckliste des Containerregisters im Überblick

  • Verwenden Sie vertrauenswürdige Registrierungsstellen und Bibliotheken
  • Sichern Sie den Hosting-Server und implementieren Sie robuste Zugriffsrichtlinien
  • Implementieren Sie ausreichende Authentifizierungs- und Autorisierungsbeschränkungen
  • Sichere Aufbewahrung für Artefakte einrichten
  • Führen Sie während des gesamten CI/CD-Prozesses Integritätsprüfungen durch.
  • Kryptografische Signierung verwenden
  • Erzwingen Sie die Validierung mehrerer Quellen
  • Validieren Sie Ressourcen Dritter
  • Integrieren Sie Sicherheitsscans in die CI/CD-Pipeline
  • Erstellen Sie Validierungsrichtlinien und regelmäßige Auditpläne

 

FAQs zur Containerregistrierung

Kontinuierliche Integration (Continuous Integration, CI) ist eine Entwicklungspraxis, bei der Entwickler ihre Codeänderungen häufig in ein zentrales Repository einbringen, gefolgt von automatisierten Builds und Tests. Das Hauptziel von CI ist es, Integrationsfehler so schnell wie möglich zu erkennen und zu beheben, die Softwarequalität zu verbessern und die Zeit bis zur Auslieferung zu verkürzen. Automatisierte Tools führen bei jeder Integration Tests durch, um sicherzustellen, dass der neue Code die Anwendung nicht beschädigt oder verschlechtert. KI ist eine grundlegende Komponente der modernen Softwareentwicklung, die es Teams ermöglicht, eine hohe Geschwindigkeit und Agilität in ihren Entwicklungsprozessen aufrechtzuerhalten.
Continuous Deployment (CD) ist ein Software-Release-Prozess, bei dem jede Änderung, die die automatische Testphase durchläuft, automatisch in der Produktionsumgebung bereitgestellt wird. Es erweitert die kontinuierliche Integration, indem es alle Codeänderungen nach der Build-Phase in einer Test- oder Produktionsumgebung bereitstellt. CI sorgt für einen schnellen und konsistenten Fluss von Änderungen in die Produktion, so dass die Teams schnell und zuverlässig Funktionen, Updates und Korrekturen an die Kunden liefern können. CD minimiert manuelle Eingriffe und macht die Bereitstellung effizient.

Eine CI/CD-Pipeline automatisiert die Schritte, die erforderlich sind, um Software von der Versionskontrolle in die Hände der Endbenutzer zu bringen. Es umfasst die kontinuierliche Integration (CI) und die kontinuierliche Bereitstellung (CD) und automatisiert den Prozess der Softwarebereitstellung und der Infrastrukturänderungen. Die Pipeline umfasst in der Regel Phasen wie Codekompilierung, Unit-Tests, Integrationstests und Bereitstellung. Diese Automatisierung stellt sicher, dass die Software stets bereitgestellt werden kann, was schnelle und zuverlässige Software-Release-Zyklen ermöglicht. CI/CD-Pipelines sind für DevOps-Praktiken unerlässlich, da sie es den Teams ermöglichen, Codeänderungen häufiger und zuverlässiger bereitzustellen.

Source Control Management (SCM) ist ein System, das Änderungen am Quellcode und anderen entwicklungsrelevanten Assets verfolgt und es Entwicklern ermöglicht, zusammenzuarbeiten, ihren Code zu versionieren und eine Historie der Codeänderungen zu führen. Beliebte SCM-Tools sind Ansible, GitHub, Mercurial und Puppet.
  • SCM hilft dabei, die Konsistenz und Rückverfolgbarkeit des für die Erstellung von Container-Images verwendeten Codes aufrechtzuerhalten, so dass Entwickler die spezifische Code-Version, die zur Erstellung eines Container-Images verwendet wurde, leicht identifizieren können.
  • SCM ermöglicht es Entwicklern, gemeinsam am Code zu arbeiten und sicherzustellen, dass die erstellten und in der Registry gespeicherten Container-Images den Qualitätsanforderungen der Organisation entsprechen.
  • SCM-Tools verbessern die Arbeitsabläufe durch die Integration in CI/CD-Pipelines und die Automatisierung des Prozesses der Erstellung, des Testens und der Übertragung von Container-Images in die Registry.
Bei der Bildsignierung werden Container-Images digital signiert, um ihre Authentizität und Integrität zu überprüfen. Indem ein Bild mit einer digitalen Signatur versehen wird, stellt die Bildsignierung sicher, dass das Bild nicht manipuliert wurde und aus einer vertrauenswürdigen Quelle stammt. Tools wie Docker Content Trust und Notary werden häufig zum Signieren von Container-Images verwendet und bieten eine zusätzliche Sicherheitsebene bei der Bereitstellung von containerisierten Anwendungen.
Vertrauen in Inhalte bezieht sich auf die Sicherheitspraxis, die sicherstellt, dass nur vertrauenswürdige Inhalte empfangen, übertragen und bereitgestellt werden. Im Zusammenhang mit containerisierten Anwendungen geht es darum, die Integrität und Herkunft von Container-Images mit Hilfe digitaler Signaturen zu überprüfen. Vertrauensmechanismen für Inhalte stellen sicher, dass Bilder nicht manipuliert wurden und aus verifizierten Quellen stammen, wodurch Risiken wie Man-in-the-Middle-Angriffe und bösartige Code-Injektionen verringert werden. Die Implementierung von Content Trust ist für die Aufrechterhaltung der Sicherheit von Software-Lieferketten in Cloud-nativen Umgebungen unerlässlich.
Bei der Image-Verschlüsselung werden Container-Images verschlüsselt, um darin enthaltene sensible Daten und Konfigurationen zu schützen. Dieses Verfahren stellt sicher, dass nur Personen mit dem Entschlüsselungsschlüssel auf die Bilder zugreifen oder sie verwenden können, und schützt so vor unbefugtem Zugriff und Datenmissbrauch. Die Bildverschlüsselung ist besonders wichtig, wenn Bilder in potenziell unsicheren Umgebungen gespeichert oder übertragen werden, wie z.B. in öffentlichen Cloud-Speichern oder gemeinsamen Registern. Es fügt eine wichtige Sicherheitsebene hinzu, die proprietäre Informationen und Compliance-sensible Daten in containerisierten Anwendungen schützt.
Image-Aufbewahrungsrichtlinien sind Regeln, die von Organisationen festgelegt werden, um den Lebenszyklus von Container-Images in einer Registry zu verwalten. Diese Richtlinien legen fest, wie lange Bilder aufbewahrt werden, wann sie archiviert oder gelöscht werden sollen und welche Versionen aufbewahrt werden sollen. Die Implementierung solcher Richtlinien hilft bei der Verwaltung von Speicherkosten, der Einhaltung von Data Governance-Standards und der Sicherstellung, dass nur relevante, aktuelle Images zur Bereitstellung zur Verfügung stehen.

Ein Webhook ist eine Methode, mit der Sie das Verhalten einer Webseite oder Webanwendung durch benutzerdefinierte Rückrufe ergänzen oder ändern können. Diese Rückrufe können von Drittnutzern und Entwicklern gepflegt, geändert und verwaltet werden, die nicht unbedingt Zugriff auf den Quellcode der Webseite oder Anwendung haben. Im Cloud-Computing und bei DevOps werden Webhooks verwendet, um automatisierte Workflows wie CI/CD-Pipelinesauszulösen, wenn bestimmte Ereignisse in einem Repository oder einer Bereitstellungsumgebung auftreten. Webhooks ermöglichen Echtzeit-Benachrichtigungen und automatische Reaktionen auf Ereignisse und verbessern die Automatisierung und Integration zwischen Cloud-Diensten und -Tools.

Ein Image-Tag in der Container-Technologie ist ein Etikett, das auf ein Container-Image in einer Registrierung angewendet wird. Es dient als Mechanismus, um verschiedene Versionen desselben Images zu identifizieren, z.B. latest, stable, 1.2.3 oder beta. Tags ermöglichen es Entwicklern und Betreibern, bei der Bereitstellung auf bestimmte Versionen eines Images zu verweisen und so die korrekte und konsistente Bereitstellung von Anwendungen sicherzustellen. Die Verwendung von Image-Tags ist für die Versionskontrolle und die Verwaltung der Bereitstellung in containerisierten Umgebungen unerlässlich.
Quay ist eine private Container-Image-Registry von Red Hat, mit der Benutzer Container-Images erstellen, speichern und verteilen können. Es bietet fortschrittliche Funktionen wie Scannen von Bildern auf Sicherheitslücken, geografische Replikation und umfassende Zugriffskontrollen. Quay ist für die Integration mit CI/CD-Systemen konzipiert und bietet eine sichere und effiziente Möglichkeit, Container-Images für Kubernetes und andere Container-Umgebungen zu verwalten.
Docker Content Trust (DCT) ist eine Sicherheitsfunktion in Docker zum Signieren und Verifizieren von Container-Images. Es stellt sicher, dass die verwendeten Bilder genau so sind, wie vom Herausgeber beabsichtigt, unverändert und verifiziert. DCT verwendet The Update Framework (TUF) und Notary zum sicheren Signieren und Verifizieren von Bildern. Wenn diese Funktion aktiviert ist, überprüfen die Docker-Clients die Integrität und den Herausgeber aller Images, die sie abrufen, und schützen so vor der Verwendung manipulierter Images.

Notary ist ein Open-Source-Tool, das einen Rahmen für die Veröffentlichung und Überprüfung der Signaturen von Inhalten, wie z.B. Container-Images, bietet. Es implementiert die Spezifikationen von The Update Framework (TUF) für die sichere Bereitstellung und Aktualisierung von Inhalten. Notary stellt sicher, dass der Inhalt, den ein Benutzer erhält, genau dem entspricht, was der Herausgeber beabsichtigt hat, und schützt so vor unbefugten Änderungen.

Notary wird in der Regel in Verbindung mit Docker Content Trust verwendet, um Docker-Images zu signieren und zu verifizieren.

Das Update Framework (TUF) ist eine Spezifikation zur Sicherung von Software-Update-Systemen, die gegen gängige Angriffe wie die Kompromittierung von Schlüsseln und Man-in-the-Middle-Angriffe schützen soll. TUF bietet einen flexiblen Rahmen, den Entwickler in Software-Update-Systeme integrieren können, um die Integrität und Authentizität von Software-Updates zu gewährleisten. Dies ist besonders wichtig in verteilten Umgebungen, in denen Software oft über unsichere Kanäle geliefert wird. Das Design von TUF verhindert die Manipulation von Aktualisierungsdateien und stellt sicher, dass nur sichere, autorisierte Aktualisierungen angewendet werden.
Die Container-Registry-API ist eine Reihe von Programmierschnittstellen, die es Benutzern ermöglichen, programmatisch mit einer Container-Registry zu interagieren. Es ermöglicht Aufgaben wie das Verschieben, Herausziehen, Auflisten und Löschen von Container-Images. Diese API ist unverzichtbar für die Automatisierung von Workflows in containerisierten Umgebungen und ermöglicht eine nahtlose Integration in kontinuierliche Integrations- und Bereitstellungspipelines. Mit der Container-Registry-API können Entwickler und Betriebsteams Container-Images effizient verwalten, die Produktivität steigern und die Konsistenz bei der Bereitstellung sicherstellen.
Ein unveränderliches Repository im Kontext von Container-Registries ist ein Speichermodell, bei dem ein Image, sobald es veröffentlicht wurde, nicht mehr verändert oder gelöscht werden kann. Unveränderliche Repositories sind entscheidend für die Aufrechterhaltung einer konsistenten und sicheren Software-Lieferkette, insbesondere in Umgebungen, in denen Compliance und Rückverfolgbarkeit wichtig sind. Sie bieten einen Schutz gegen versehentliche oder böswillige Änderungen und stellen sicher, dass eine bestimmte Version eines Bildes immer abrufbar ist.
Image-Promotion ist der Prozess, bei dem Container-Images kontrolliert und nachvollziehbar von einer Umgebung in eine andere verschoben werden, in der Regel als Teil einer CI/CD-Pipeline. Dabei durchläuft ein Image verschiedene Stadien, z.B. von der Entwicklung über das Testen bis hin zur Produktion, wobei sichergestellt wird, dass nur verifizierte und getestete Images bereitgestellt werden. Image-Promotion-Praktiken verbessern die Zuverlässigkeit und Stabilität von Bereitstellungen, da sie in jeder Phase Qualitätsprüfungen und Validierungen durchsetzen.
Die Image-Spiegelung bezieht sich auf den Prozess der Replikation von Container-Images von einer Registry zu einer anderen. Das Verfahren dient der Redundanz, der Optimierung der Leistung und der Compliance mit Anforderungen an die Datensouveränität. Durch die Spiegelung von Images stellen Organisationen die Verfügbarkeit für den Fall sicher, dass die primäre Registry ausfällt oder nicht erreichbar ist. Außerdem werden die Bereitstellungszeiten verkürzt, da die Bilder näher am Verwendungsort platziert werden, was die Latenzzeit verringert.
Bei der Georeplikation werden Daten über mehrere geografische Standorte hinweg repliziert, um die Datenverfügbarkeit und Disaster Recovery zu verbessern. Beim Cloud-Computing sorgt sie dafür, dass Anwendungen auch bei regionalen Ausfällen oder Netzwerkproblemen verfügbar und performant bleiben. Die Georeplikation bietet Redundanz und gewährleistet die Integrität und Verfügbarkeit der Daten in verschiedenen Regionen.
Ein Proxy für die Container-Registrierung fungiert als Vermittler zwischen einem privaten Netzwerk und einer öffentlichen Container-Registrierung. Die Container-Images werden lokal zwischengespeichert, so dass Sie die Images nicht immer wieder aus der öffentlichen Registrierung herunterladen müssen. Dadurch wird nicht nur die Bereitstellung beschleunigt, sondern auch die Bandbreitennutzung reduziert und die Zuverlässigkeit verbessert. Ein Proxy für die Container-Registrierung ist vor allem in Umgebungen mit strengen Kontrollen der Netzwerksicherheit oder eingeschränktem Internetzugang nützlich, da er eine effiziente Verwaltung von Container-Images unter Einhaltung der Sicherheitsrichtlinien ermöglicht.
Skaffold ist ein Open-Source-Befehlszeilen-Tool, das die kontinuierliche Entwicklung von Kubernetes-Anwendungen erleichtert. Es automatisiert den Workflow für die Erstellung, den Push und die Bereitstellung von Anwendungen und ermöglicht es den Entwicklern, ihre Anwendungen in Echtzeit zu iterieren. Skaffold verwaltet den Arbeitsablauf für die Erstellung von Container-Images, die Übergabe an eine Registry und die Bereitstellung in einem Kubernetes-Cluster. Es ist so konzipiert, dass es in verschiedenen Stadien eines Entwicklungslebenszyklus funktioniert, von der lokalen Entwicklung bis zur kontinuierlichen Integration. Skaffold rationalisiert den Entwicklungs- und Bereitstellungsprozess und macht ihn effizienter und konsistenter.
Flux ist ein Open-Source-Tool, das GitOps für Kubernetes implementiert und sicherstellt, dass der Zustand eines Clusters mit der in einem Git-Repository gespeicherten Konfiguration übereinstimmt. Es wendet neue Änderungen im Repository automatisch auf den Cluster an und ermöglicht so eine kontinuierliche und automatisierte Bereitstellung. Flux unterstützt komplexe Workflows und Multi-Environment-Setups und bietet Funktionen wie automatische Updates, Rollback und Warnmeldungen. Es verbessert die Zuverlässigkeit und Konsistenz von Bereitstellungen in Kubernetes, indem es sich an den Prinzipien der deklarativen Infrastruktur und der versionsgesteuerten Konfiguration orientiert.
Zurück Was ist Containersicherheit?
Weiter Was ist Container Orchestration?