Suchen

Schutz für Container-Umgebungen Warum Kubernetes mehr Sicherheit braucht

| Autor / Redakteur: Roman Borovits* / Ulrike Ostler

Für Forrester stand schon 2018 der Sieger bei der Container-Orchestrierung fest: „Kubernetes“. Doch Gartner weist 2019 auf das unreife System und die wenigen Best Practices hin. Zudem steigert Kubernetes den internen Traffic von Anwendungen deutlich. Um trotzdem fehlerhaften Datenverkehr zu erkennen und mit der hohen Dynamik von Container-Umgebungen mitzuhalten, sind neue Sicherheitsansätze nötig.

Firmen zum Thema

Container-basierte Umgebungen haben eine erhebliche Dynamic. Um kompromittierte Container sowie unautorisierte Verbindungen zwischen Pods aufzudecken, braucht es neue Ansaätze.
Container-basierte Umgebungen haben eine erhebliche Dynamic. Um kompromittierte Container sowie unautorisierte Verbindungen zwischen Pods aufzudecken, braucht es neue Ansaätze.
(Bild: S. Hermann & F. Richter auf Pixabay)

Als System zur automatisierten Bereitstellung, Skalierung und Verwaltung von Container-Anwendungen nutzt Kubernetes kleine, abgetrennte Teile einer Applikation, welche über das eigene Netzwerk sowie interne Cloud-Netzwerke eines Unternehmens kommunizieren. Dies erhöht sowohl den Traffic innerhalb der Anwendung als auch den damit verbundenen verwaltungsbezogenen Datenverkehr erheblich. Dadurch wird die Protokollierung und Erkennung von fehlerhaften Daten zwischen den Containern sehr komplex.

Herkömmliche Sicherheitsanwendungen zur Entdeckung oder Bewältigung von Gefahren und Malware können mit der neuartigen Microservices-Architektur sowie der Dynamik der Container-basierten Umgebungen nicht Schritt halten. So sind sie häufig nicht in der Lage, alle kompromittierten Container sowie sämtliche nicht autorisierten Verbindungen zwischen Pods aufzudecken.

Ergänzendes zum Thema
Das Fazit des Autoren

Eine echte, umfassende Sicherheit ist bei Kubernetes-Umgebungen ohne moderne, ganzheitliche Security-Ansätze nicht möglich. Hierzu sollten Unternehmen jede Schnittstelle definieren und forensisch ermitteln, wo Sicherheitslösungen einzusetzen sind. Dann können sie aktuelle Container-Umgebungen sicher nutzen.

Außerdem besitzt jede Anwendung, die innerhalb eines Containers läuft, eine andere und einzigartig ausnutzbare Angriffsfläche, welche das eingesetzte Security-Tool berücksichtigen muss. Daher sollten moderne Anwendungen zur Absicherung von Kubernetes-Umgebungen folgende Funktionen aufweisen:

1. Autorisierung und Authentifizierung nutzen

Von entscheidender Bedeutung ist, dass das genutzte Security-Produkt mehrere Sicherheitsebenen innerhalb eines Systems aufweist. Als ebenso wichtig gilt eine rollenbasierte Zugangskontrolle, die den Zugriff auf Kubernetes Cluster ausschließlich für Nutzer freigibt, die ihn auch tatsächlich benötigen.

Es hat sich bewährt, die Linux-Funktionen mit nicht-privilegiertem Zugriff einzuschränken und Dateisysteme nach Möglichkeit auf schreibgeschützt zu setzen. Zudem sollte jede Applikation innerhalb eines Clusters möglichst getrennt oder isoliert laufen.

Passwörter, Multi-Faktor-Authentifizierung, Zertifikate und andere etablierte Maßnahmen gewährleisten, dass Einzelpersonen – sowohl intern als auch extern – keinen einfachen Zugang zu Systemen erhalten, für die sie nicht autorisiert sind. Wenn es sich als sinnvoll erweist, können Unternehmen private Register zur Sicherung von App-Images nutzen. Dabei sollten ausschließlich speziell dafür autorisierte Mitarbeiter darauf zugreifen dürfen.

2. Cloud-native Security-Lösungen einsetzen

Cloud-native Security-Tools müssen die Anwendungsentwicklung umfassend sichern. Dies gilt für den vollständigen Lebenszyklus von der CI/CD-Pipeline (CI/CD = Continuous Integration/ Continuous Delivery beziehungsweise Continuous Deployment) bis zur Laufzeit. Dabei sollten Unternehmen berücksichtigen, dass Scans auf Sicherheitslücken schon während eines Build-Vorgangs beginnen und sich bis zum produktiven Einsatz der App fortsetzen müssen.

Der in der Vergangenheit übliche Ansatz, Sicherheitstests erst vor der Freigabe für den produktiven Einsatz durchzuführen, ist heute keine Option mehr. Denn damit erhöht sich die Gefahr, Schwachstellen zu übersehen. Zudem steigt der Aufwand für die Behebung der Sicherheitslücken durch nachgelagerte Ausbesserungen erheblich.

Außerdem ist es entscheidend, bei der Skalierung von Prozessen am Ball zu bleiben. Das Management und die Absicherung von mehreren Hundert verschiedenen Clustern, die häufig über viele Clouds verteilt sind, kann sich schnell zu einer echten Herausforderung entwickeln. Entsprechend ist hier ein umfassendes Multi-Cluster-Management-System einzusetzen. Dieses muss jedoch im Einklang mit den zentralen Sicherheitsrichtlinien stehen, um die Compliance zu gewährleisten.

3. Den Code überwachen

Ein großes Problem stellt bei Container-Umgebungen die Sicherheit des Codes dar, wenn Anwendungen von Dritten – oder auch interne Applikationen – ausgeführt werden. Entsprechend sorgfältig müssen Entwickler bei der Versionskontrolle von Anwendungen vorgehen und alle damit verbundenen Sicherheitsrisiken vollständig verstehen. Dabei ist zu berücksichtigen, dass sich die Gefahren durch die hohe Dynamik von Container-Umgebungen zwangsläufig schnell verändern.

Außerdem ist es wichtig, System-Patches zeitnah zu aktualisieren. Dies kann sich verzögern, wenn aufwändige Entwicklungsprozesse und Tests nötig sind, um Probleme durch fehlerhafte Patches zu vermeiden.

Der Autor, Roman Borovits, ist als Sr. Systems Engineer für F5 Networks in der Region Deutschland, Österreich und Schweiz tätig und blickt im Bereich Netzwerk & Security auf fast 20 Jahre Berufserfahrung zurück. Sein universitärer Background liegt im Bereich Business Process Engineering und Management. Die Themenschwerpunkte bei F5 sind Cloud sowie Automatisierung.
Der Autor, Roman Borovits, ist als Sr. Systems Engineer für F5 Networks in der Region Deutschland, Österreich und Schweiz tätig und blickt im Bereich Netzwerk & Security auf fast 20 Jahre Berufserfahrung zurück. Sein universitärer Background liegt im Bereich Business Process Engineering und Management. Die Themenschwerpunkte bei F5 sind Cloud sowie Automatisierung.
(Bild: F5 Networks)

Für diese Fälle gibt es mit Virtual Patching eine schnelle Lösung. Hier lässt sich über eine entsprechende Regel in der Web Application Firewall die Ausnutzung einer Schwachstelle verhindern, ohne sie zu beheben. Durch diese Übergangslösung erhalten Entwickler mehr Zeit, den vom Hersteller bereitgestellten Patch zu prüfen und bei Bedarf an die eigenen Systeme anzupassen.

Neben regelmäßigen Schwachstellen-Scans sollten Unternehmen auch konsequent auf das „Prinzip der geringsten Privilegien“ für Komponenten setzen, die außerhalb von Kubernetes laufen. So erhalten Anwendungen und Nutzer nur die Zugriffsrechte, die sie unbedingt benötigen, um ihre Aufgaben auszuführen.

Ergänzendes zum Thema
Veranstaltungshinweis

Vom 17. bis 20. August findet die erste virtuelle „KubeCon + CloudNativeCon Europe 2020“ statt. Teilnehmer sollen die Möglichkeit erhalten, sich mit anderen Teilnehmern zu vernetzen, Präsentationen mit Live-Fragen und Antworten beizuwohnen und mit Sponsoren in Echtzeit zu interagieren. DataCenter-Insider beispielsweise ist Medienpartner und mit einem virtuellen Stand vertreten.

Veranstalter ist die Cloud Native Computing Foundation, die die Aktivitäten von Open-Source- und Cloud-Native-Communities bündelt. Auf der KubeCon + CloudNativeCon kommt die Gemeinde zusammen, um ihr Fachwissen auszutauschen. Explizit spricht die Foundation neben Anwendungsentwicklern auch Menschen aus den Bereichen IT-Betrieb, technische Leitung, Produktmanager und Produktmarketing, Anbieter von Dienstleistungen und alle an, die mehr über Cloud Native erfahren möchten

Hier geht es zum Programm

(ID:46755998)