Grundlagen der Container-Sicherheit: Pipeline-Sicherheit

F5-Ökosystem | 17. Juli 2019

Wenn Sie gerade erst in diese Reihe einsteigen, sollten Sie vielleicht am Anfang beginnen:
Grundlagen der Containersicherheit: Einführung

Im Zeitalter des Anwendungskapitals ist die CI/CD-Pipeline eine entscheidende Komponente, von der die Geschwindigkeit und Sicherheit der Anwendungen abhängen, die sie erstellt und bereitstellt.

Dabei handelt es sich um ein komplexes System aus Tools, die über APIs integriert und durch Skripte oder Plugins aufgerufen werden und den von Ihnen verwendeten Prozess zum Erstellen und letztendlichen Bereitstellen containerisierter Anwendungen digital abbilden. Das bedeutet, dass es mehrere Stellen gibt, an denen ein böswilliger Akteur das System kompromittieren könnte. Auch wenn das weit hergeholt klingen mag, sollten Sie bedenken, dass heutzutage eine beträchtliche Anzahl von Unternehmen die Cloud nutzt, was zwangsläufig einen Remotezugriff erfordert.

Das bedeutet, dass die Pipeline-Sicherheit zwei Aspekte umfasst: erstens die Sicherheit der Pipeline selbst. Zweitens die Sicherheit innerhalb der Pipeline.

Sicherheit der Pipeline

1. Authentifizierung ist nicht optional
Wenn Sie Tools und Dienste als Teil Ihrer Pipeline in der Cloud oder als gehosteten Dienst nutzen, sind diese potenziellen Angriffen ausgesetzt. Wenn Sie externen Entwicklern oder dem Betrieb Zugriff auf intern gehostete Tools und Dienste gewähren, sind auch diese potenziellen Angriffen ausgesetzt. Bevor Sie diese Bedenken abtun, sollten Sie sich vor Augen führen, wie viele Sicherheitsverletzungen es in den vergangenen Jahren infolge der Öffnung von Systemen für externe Zugriffe gegeben hat. Bei der Sicherheit Ihrer Pipeline sollten Sie grundsätzlich davon ausgehen, dass böswillige Akteure darauf zugreifen können.

Daher besteht die erste Aufgabe darin, den Zugriff abzusichern. Eine starke Authentifizierung ist nicht optional. Der Einsatz von Zugriffskontrollen wird dringend empfohlen, um den Zugriff auf kritische Systeme präzise zu steuern. Das gilt selbst dann, wenn Sie davon ausgehen, dass die Systeme nur intern zugänglich sind. In Ihrem Netzwerk befinden sich weitere Systeme, über die sich böswillige Akteure Zugriff verschaffen können.

Nachdem Sie die Authentifizierung umgesetzt haben, folgt die Autorisierung. Sie legt fest, welche Aktionen ein authentifizierter Benutzer innerhalb des Systems ausführen darf. Es ist wichtig, Berechtigungen nach Rollen zu differenzieren, denn je weniger Zugangsdaten Zugriff auf kritische Komponenten ermöglichen, desto besser sind Sie geschützt.

Jede Komponente der Pipeline sollte eine Authentifizierung und Autorisierung erfordern. Das gilt für alles – von Repositorys bis hin zu den Tools, mit denen Anwendungen und Container erstellt werden.

2. Absicherung von Pipeline-Komponenten
Leider hört man nicht selten Berichte darüber, dass Angreifer durch das Durchsuchen öffentlicher Repositorys auf riesige Fundgruben (Anmeldedaten und andere Geheimnisse) gestoßen sind. Punkt eins erinnert daran, dass für Repositorys eine Authentifizierung erforderlich sein sollte.

In der Realität bestehen heutige Pipelines aus einer integrierten Kette von Tools, die jeweils eine Authentifizierung erfordern sollten. Daher werden Anmeldedaten und Geheimnisse (Schlüssel) häufig in Skripten gespeichert, die die zur Pipeline gehörenden Tools und Dienste aufrufen. Das ist eine sehr schlechte Sache™, insbesondere in Verbindung mit unzureichenden Authentifizierungsverfahren für Repositorys, in denen diese Skripte möglicherweise gespeichert sind.

Anmeldedaten sind kritische Ressourcen, die geschützt werden müssen. Achten Sie darauf, wo sie sich befinden, wo sie gespeichert sind und wie sie abgesichert werden. Ein hilfreiches Tool zur Verwaltung der unkontrollierten Verteilung von Geheimnissen ist HashiCorp Vault. Vault speichert Geheimnisse sicher an einem zentralen Ort.

Sicherheit in der Pipeline

3. Führen Sie eine Stückliste
Bevor Sie ein System – oder eine Komponente des Systems – absichern können, müssen Sie wissen, dass es bzw. sie existiert. Es ist wichtig, eine umfassende Stückliste zu führen, damit Sie wissen, was sich in Ihrer Umgebung befindet. Vor allem müssen Sie wissen, was sich in Ihrer Umgebung befinden sollte – und umgekehrt, was dort nicht hingehört.

Ein sorgfältig gepflegtes Inventar kann dazu beitragen, Versuche abzuwehren, manipulierte oder kompromittierte Komponenten in die Pipeline einzuschleusen. Die Standardisierung auf einen einzigen Basis-Container oder zumindest auf eine überschaubare Anzahl von Containern kann Ihre Fähigkeit, potenzielle Probleme zu erkennen, erheblich verbessern. Abweichungen sollten daher eine Warnmeldung auslösen, die untersucht werden kann. Ein wichtiger Schritt besteht beispielsweise darin, Hashwerte zu vergleichen und, sofern verfügbar, die digitalen Signaturen von Container-Images zu überprüfen. Wenn Sie Inhalte aus einem Remote-Repository abrufen, besteht die Möglichkeit, dass dieses kompromittiert wurde.

Dies war der Fall, als DockerHub von einer Sicherheitsverletzung betroffen war, bei der Anmeldedaten und Token offengelegt wurden – und zwar von 190.000 Nutzern. Mithilfe dieser Informationen hätten Angreifer Images manipulieren können, die ihnen später Zugriff auf andere Systeme ermöglichten.

Beschränken Sie sich nicht auf Container-Images. Denken Sie daran, dass extern bezogene Anwendungskomponenten manipuliert werden können. Ein konkretes Beispiel ist die Einschleusung von Krypto-Mining-Software in ein Node.js-NPM-Paket event-stream.

Die Standardisierung auf einen gepflegten Bestand an Images und Komponenten vereinfacht zudem die Behebung von Schwachstellen, sobald – und nicht falls – diese auftreten. Die Aktualisierung einer einzigen Basisbetriebssystemschicht lässt sich wesentlich einfacher verwalten als die Aktualisierung einer uneinheitlichen Gruppe von Containern.

4. Scannen und Schwachstellen beheben
Es gibt unzählige Möglichkeiten, wie Container-Umgebungen kompromittiert oder anfällig für Angriffe werden können. Meist denken wir dabei an Schwachstellen in der Software eines Container-Images. Diese sollten Sie zwar im Blick behalten – durch Scannen und Aktualisieren bzw. Patchen –, doch es gibt auch konfigurationsbedingte Probleme, die seltener erkannt und behoben werden. Viele davon lassen sich durch die richtige Konfiguration vermeiden. Ihre Pipeline sollte Tools enthalten, die Kompromittierungen erkennen oder vor unsicheren Konfigurationen warnen können.

Aqua Security bietet Tools, die sowohl beim Scannen als auch bei der Bewertung von Containern und Konfigurationen helfen können. Kube-bench und kube-hunter sind hervorragende Ressourcen, um häufige (aber kritische) Konfigurationsfehler in Kubernetes-Umgebungen zu identifizieren.

o FOSS
https://github.com/aquasecurity/kube-bench
https://github.com/aquasecurity/kube-hunter

o Kommerziell
https://www.aquasec.com/

Alle Scans der Welt können eine Kompromittierung oder Sicherheitsverletzung nicht verhindern, wenn Sie nicht auf die Ergebnisse reagieren. Tripwires Bericht „2019 State of Container Security“ ergab, dass fast jede fünfte Organisation (17 %) von Schwachstellen in Container-Images wusste, diese aber dennoch bereitstellte. Angesichts dessen überrascht es kaum, dass laut der Umfrage mehr als die Hälfte (60 %) der Organisationen in den vorangegangenen zwölf Monaten einen containerbezogenen Sicherheitsvorfall erlebt hatte.

Dieser Punkt kann nicht oft und deutlich genug betont werden: Wenn Sie Sicherheitsscans in Ihre Pipeline integrieren (und das sollten Sie), ist es wichtig, den Ergebnissen nachzugehen. Die Durchführung eines Scans trägt nicht zur Verbesserung der Sicherheit bei, wenn Sie die gefundenen Schwachstellen nicht beheben.

Wir wiederholen: Das Ausführen eines Scans trägt nicht zur Verbesserung der Sicherheit bei, wenn Sie die gefundenen Schwachstellen nicht beheben.

Die Sicherheit der Pipeline ist ein vielschichtiges und mitunter schwieriges Thema. Die Pipeline sollte wie jede andere Gruppe von Anwendungen behandelt werden, denn letztlich ist sie genau das – wenn auch eine für den operativen Betrieb. Vernachlässigen Sie nicht die Sicherheit der Pipeline, während Sie Sicherheitsmaßnahmen in die Pipeline integrieren.

Lesen Sie den nächsten Blogbeitrag der Reihe:
Grundlagen der Containersicherheit: Orchestrierung

Teilen
Schlagwörter: 2019, Learn, CI/CD Pipeline, DevOps

Über die Autoren

Ähnliche Blogbeiträge

F5 und Equinix bündeln ihre Kräfte, um die sichere Anwendungsbereitstellung in Multicloud-Umgebungen zu vereinfachen
F5-Ökosystem | 05.08.2025

F5 und Equinix bündeln ihre Kräfte, um die sichere Anwendungsbereitstellung in Multicloud-Umgebungen zu vereinfachen

F5 und Equinix ermöglichen es Unternehmen, sich weltweit sicher und zuverlässig mit ihren Partnern zu vernetzen.

API-Sicherheitsrisiken und -herausforderungen
F5-Ökosystem | 21.07.2025

API-Sicherheitsrisiken und -herausforderungen

Erfahren Sie, warum APIs für die moderne App-Entwicklung unverzichtbar sind und wie Sie sie vor den häufigsten Sicherheitslücken schützen. Profitieren Sie von Expertentipps und direkt umsetzbaren Strategien.

Ein Meilenstein für die Community Impact Grants von F5
F5-Ökosystem | 21.01.2025

Ein Meilenstein für die Community Impact Grants von F5

F5 feiert das fünfjährige Bestehen seines innovativen Community Impact Grant-Programms, das gemeinnützige Organisationen, bei denen sich F5-Mitarbeitende ehrenamtlich engagieren, mit Fördermitteln in Höhe von 5.000 US-Dollar unterstützt.

Mit moderner, anpassungsfähiger und sicherer Gesundheits-IT Leben retten
F5-Ökosystem | 22.05.2023

Mit moderner, anpassungsfähiger und sicherer Gesundheits-IT Leben retten

Die IT-Investitionen im Gesundheitswesen tragen dazu bei, die schnellsten Wege zu einer besseren Versorgung zu finden, indem sie die medizinische Betreuung näher an die Patientinnen und Patienten bringen. Viele Gesundheitsunternehmen nutzen riesige Mengen an klinischen und anderen Gesundheitsdaten, um Entwicklungen zu verfolgen und übergreifende Trends in der gesamten Gesundheitslandschaft zu erkennen. Gleichzeitig nähern sie sich einer möglichst präzisen, individuell zugeschnittenen Versorgung an.

Verbesserung der Benutzer- und Administrationserfahrung durch sicheren hybriden Zugriff
F5-Ökosystem | 16.09.2020

Verbesserung der Benutzer- und Administrationserfahrung durch sicheren hybriden Zugriff

Diese Kombination aus BIG-IP Access Policy Manager und Azure Active Directory ermöglicht Identitätsföderation, zentralisierten Benutzerzugriff (über Single Sign-on) und erhöhte Anwendungssicherheit (durch Multi-Faktor-Authentifizierung) für geschäftskritische Anwendungen sowie cloudbasierte und SaaS-Anwendungen. Dieser Ansatz vereinfacht die Einrichtung und Bereitstellung, reduziert den Verwaltungsaufwand und verbessert die gesamte Administration.

Das Internet der Sicherheitsdinge
F5-Ökosystem | 11.05.2015

Das Internet der Sicherheitsdinge

Nein, das ist keine Tirade über die Sicherheit des IoT. Es ist eine Geschichte über Veränderung – genauer gesagt über Veränderung und ihre Auswirkungen auf die Sicherheit. Veränderung ist allgegenwärtig. Es gibt unzählige Axiome und Sprichwörter über Veränderung, also ist es ...