Container im Visier von Cyberangreifern

Wie lassen sich Container unter Kubernetes vor Cyberbedrohungen schützen? Wo liegen die Herausforderungen und wie lassen sich diese bewältigen? [...]

Foto: Olaf/Pixabay

Container und speziell Kubernetes sind aus der IT-Landschaft nicht mehr wegzudenken. Doch die typischerweise stark verteilten Umgebungen, oft mit großen Clustern, bergen auch Sicherheitsrisiken.

Eine schlechte Netzwerkkonfiguration kann zu einer großflächigen Anfälligkeit für unbefugten Zugriff führen. Einzelne Knoten mit veralteten Betriebssystemen oder ein gezielter Denial-of-Service-Angriff können mehrere oder sogar alle Maschinen gefährden.

Da sie häufig hoch- und heruntergefahren werden, ist die Überwachung von Containern generell schwierig. Die in herkömmlichen Produktionsumgebungen gängigen Firewalls sind nicht geeignet für Container-Domains.

Als besonders anfällig in Kubernetes erweist sich der Code selbst. Die fehlende Möglichkeit, Container effektiv zu isolieren, bietet Angreifern die Möglichkeit, sensible Daten, Prozesse, die Compliance und Privilegien zu kompromittieren. Einige typische Kubernetes-Sicherheitsprobleme bei der Bereitstellung einer Kubernetes-Instanz lassen sich jedoch einfach vorhersehen und verhindern.

Anforderungen an ein Kubernetes-Sicherheitstool

Proaktive Schritte zur Behebung von Schwachstellen können das Risiko einer Reihe negativer Szenarien wie Sicherheitsverletzungen erheblich verringern. Bei Code – als möglichem Angriffspfad in einer Produktionsumgebung – lassen sich Probleme durch einfache Richtlinien wie die Verschlüsselung von TCP mit TLS-Handshakes, die Nichtfreigabe ungenutzter Ports, Scans und regelmäßige Tests verhindern.

Ein Kubernetes-Sicherheitstool sollte innerhalb möglichst kurzer Zeit dafür sorgen, dass der Code frei von Kompromittierungen ist. Die Bereitstellung digitaler Signaturen schafft ein gewisses Maß an Vertrauen in den Code. Das Tool sollte Sichtbarkeit und Transparenz bei Konfigurationsproblemen zusätzlich zum Code bieten sowie ein- und ausgehende Datenverbindungen zu unsicheren Diensten verhindern.

Die Erstellung von Code aus nicht vertrauenswürdigen Registrys birgt Risiken. So öffnet nicht vertrauenswürdiger Code potenziell die Türen für Angriffe durch Malware oder Backdoors, die unbeabsichtigt Zugriff gewähren. Die Minimierung der Möglichkeiten zur Kompromittierung kann das Sicherheitsniveau erheblich verbessern. Entwickler sollten sich daher von unnötigen Paketen, Bibliotheken und Shells trennen.

Die Berechtigungen sollten so begrenzt wie möglich gehalten werden, und nur die für eine Aufgabe erforderlichen Geheimnisse aktiviert werden. Wenn Anwendungen im Cluster nicht isoliert sind, kann es zu Problemen kommen. Ressourcen und Teams sollten durch Namespaces voneinander getrennt sein.

Um die seitliche Bewegung von Angreifern innerhalb eines Clusters zu unterbinden, ist es erforderlich, mittels Richtlinien das Netzwerk zu segmentieren. Rollenbasierte Zugriffskontrollen (RBAC) sollten korrekt konfiguriert sein, um den Zugriff zu beschränken. Infrastrukturelemente wie der API-Server kube-apiserver, der Key-Value Store etcd und Controller (u.a. kube-controller-manager und cloud-controller-manager) stellen während der Laufzeit allesamt Angriffsflächen dar.

Es gibt mehrere bewegliche Teile, die den Zustand eines Kubernetes-Clusters zu einem bestimmten Zeitpunkt beeinflussen. Im Falle eines Angriffs müssen gefährdete Container schnell isoliert, gestoppt und durch gesunde Container ersetzt werden, während die Quelle des Angriffs gefunden und behoben wird.

Grundlegende Sicherheitsmaßnahmen

Zugunsten der Sicherheit sollten Unternehmen ihre Kubernetes-Umgebung in minimalem Umfang aufbauen und mit dem Nötigsten ergänzen. Um mehr Kontrolle zu haben, sind ein schlankes Host-Betriebssystem und SELinux-Optionen ausreichend. Images, Betriebssysteme und alle externen Quellen gilt es vollständig auf Schwachstellen zu überprüfen. Keine externe Quelle sollte automatisch als vertrauenswürdig eingestuft werden.

Eine weitere grundlegende Sicherheitsmaßnahme ist die Verwendung von Namespaces und RBAC (Role-based Access Control) zur Segmentierung des Clusters und der Benutzer. Alles, was nicht notwendig ist, sollte nicht sichtbar sein.

Die Netzwerksegmentierung sollte vor der Produktion eingerichtet sein, da die Standardeinstellung des Kubernetes-Netzwerks eine Kommunikation von jedem zu jedem erlaubt. Richtlinien für eingehende und ausgehende Verbindungen gilt es daher sorgfältig zu definieren und korrekt zu routen.

Ebenso ist es ratsam, die Privilegien auf ein Minimum zu beschränken und Anwendungsprozesse niemals als Root auszuführen. Angriffe, die auf der Installation von Software oder der Änderung des Dateisystems beruhen, lassen sich durch ein schreibgeschütztes Root-Dateisystem verhindern.

Die Integration von Image-Scans und anderen Sicherheitsüberprüfungen in die CI/CD-Pipeline kann ebenfalls hilfreich sein. Unverzichtbar ist es auch, den Cluster selbst zu schützen. Eine RBAC-Konfiguration zugunsten der Sicherheit umfasst die Einschränkung des Zugriffs auf den API-Server und die Verschlüsselung der Kommunikation mit TLS. Die Kubelet-Berechtigungen sollten in ähnlicher Weise eingeschränkt werden.

Administratoren sollten zudem sicherstellen, dass nur autorisierte Images zum Einsatz kommen. Ohne einen Prozess, der gewährleistet, dass nur regelkonforme Images ausgeführt werden, sind Unternehmen dem Risiko ausgesetzt, anfällige oder sogar bösartige Container auszuführen.

Das Herunterladen und Ausführen von Images aus unbekannten Quellen ist gefährlich – vergleichbar mit der Ausführung von Software eines unbekannten Herstellers auf einem Produktionsserver. Die Speicherung ausschließlich genehmigter Images in privaten Registrys reduziert die Anzahl der potenziellen Images, die in die Pipeline gelangen, auf einen Bruchteil der Hunderttausenden von öffentlich verfügbaren Images.

Proaktive Überwachung unterstützt das Risikomanagement

Integrierte Kontrollmechanismen in Kubernetes sind hilfreich beim Risikomanagement, etwa durch die Konfiguration von Sicherheitskontext, um den Pod-Zugriff zu begrenzen. Ein wichtiges Element der Containersicherheit ist die ständige proaktive Überwachung.

Kubernetes-Teams sollten immer einen Überblick über die Prozessaktivitäten, die Kommunikation zwischen Diensten und außerhalb des Clusters haben. Hilfreich ist hierbei eine Plattform für die Bereitstellung und Verwaltung von Clustern, die mit umfassenden Automatisierungsfunktionen den sicheren Betrieb einer Kubernetes-Umgebung optimal unterstützt.

(Quelle: Sebastian Scheele)Sebastian Scheele, CEO und Mitgründer von Kubermatic.

*Charles Glimm ist freier Journalist.


Mehr Artikel

Frauen berichten vielfach, dass ihre Schmerzen manchmal jahrelang nicht ernst genommen oder belächelt wurden. Künftig sollen Schmerzen gendersensibel in 3D visualisiert werden (c) mit KI generiert/DALL-E
News

Schmerzforschung und Gendermedizin

Im Projekt „Embodied Perceptions“ unter Leitung des AIT Center for Technology Experience wird das Thema Schmerzen ganzheitlich und gendersensibel betrachtet: Das Projektteam forscht zu Möglichkeiten, subjektives Schmerzempfinden über 3D-Avatare zu visualisieren. […]

News

KI ist das neue Lernfach für uns alle

Die Mystifizierung künstlicher Intelligenz treibt mitunter seltsame Blüten. Dabei ist sie weder der Motor einer schönen neuen Welt, noch eine apokalyptische Gefahr. Sie ist schlicht und einfach eine neue, wenn auch höchst anspruchsvolle Technologie, mit der wir alle lernen müssen, sinnvoll umzugehen. Und dafür sind wir selbst verantwortlich. […]

Case-Study

Erfolgreiche Migration auf SAP S/4HANA

Energieschub für die IT-Infrastruktur von Burgenland Energie: Der Energieversorger hat zusammen mit Tietoevry Austria die erste Phase des Umstieges auf SAP S/4HANA abgeschlossen. Das burgenländische Green-Tech-Unternehmen profitiert nun von optimierten Finanz-, Logistik- und HR-Prozessen und schafft damit die Basis für die zukünftige Entflechtung von Energiebereitstellung und Netzbetrieb. […]

FH-Hon.Prof. Ing. Dipl.-Ing. (FH) Dipl.-Ing. Dr. techn. Michael Georg Grasser, MBA MPA CMC, Leiter FA IT-Infrastruktur der Steiermärkischen Krankenanstaltengesellschaft m.b.H. (KAGes). (c) © FH CAMPUS 02
Interview

Krankenanstalten im Jahr 2030

Um sich schon heute auf die Herausforderungen in fünf Jahren vorbereiten zu können, hat die Steiermärkische Krankenanstaltengesellschaft (KAGes) die Strategie 2030 formuliert. transform! sprach mit Michael Georg Grasser, Leiter der Fachabteilung IT-Infrastruktur. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*