Alle Wege führen nach Kubernetes, scheint ein aktuelles Credo in der IT zu sein, wenn es um die moderne Verwaltung von Anwendungen geht. Doch nicht jeder IT-Verantwortliche ist sich bewusst, dass mit Containern und Kubernetes auch ein Umdenken in Sachen IT-Security einhergehen muss. Wo die Fallstricke liegen, erläutert Sebastian Scheele, CEO und Mitbegründer von Kubermatic, im Gespräch mit IT-Administrator.
IT-Administrator:Was sind die Vorteile von Containern in Sachen Security?
Sebastian Scheele: Die Vorteile liegen in der Isolation, Portabilität, Überwachung und Automatisierung. Container sind voneinander isoliert, eine Sicherheitslücke in einem Container hat somit keine Auswirkungen auf andere. Zudem lassen sie sich zudem leicht von einem Host auf einen anderen übertragen, was die Bereitstellung und Skalierung auch im Falle eines Angriffs erleichtert. Es gibt sehr viele standardisierte Tools, um Container zu überwachen und nach Sicherheitslücken zu scannen. Dadurch ist es einfach, für verschiedene Systeme einen einheitlichen Sicherheitsstandard zu erreichen. Die Bereitstellung und Erstellung von Containern lässt sich einfach automatisieren, was den Wartungsaufwand verringert.
Und wo tun sich in derlei Umgebungen möglicherweise Sicherheitslecks auf?
IT-Administrator:Was sind die Vorteile von Containern in Sachen Security?
Sebastian Scheele: Die Vorteile liegen in der Isolation, Portabilität, Überwachung und Automatisierung. Container sind voneinander isoliert, eine Sicherheitslücke in einem Container hat somit keine Auswirkungen auf andere. Zudem lassen sie sich zudem leicht von einem Host auf einen anderen übertragen, was die Bereitstellung und Skalierung auch im Falle eines Angriffs erleichtert. Es gibt sehr viele standardisierte Tools, um Container zu überwachen und nach Sicherheitslücken zu scannen. Dadurch ist es einfach, für verschiedene Systeme einen einheitlichen Sicherheitsstandard zu erreichen. Die Bereitstellung und Erstellung von Containern lässt sich einfach automatisieren, was den Wartungsaufwand verringert.
Und wo tun sich in derlei Umgebungen möglicherweise Sicherheitslecks auf?
Die Nachteile sind die Komplexität und mögliche Wissenslücken. Die Containerisierung kann komplex sein und erfordert eine weitere Wissenskomponente, was die Fehleranfälligkeit erhöht. Auch Container sind nicht immun gegen Sicherheitslücken. Es ist wichtig, regelmäßige Updates durchzuführen, um sie auf einem hohen Sicherheitsstandard zu halten. Insgesamt bietet die Containerisierung eine Reihe von Vorteilen für die Sicherheit. Dabei sind allerdings die Komplexität und die Sicherheitslücken von Containern zu berücksichtigen und geeignete Maßnahmen zu ergreifen, um die Security zu gewährleisten.
Dazu kommt meist der De-facto-Standard Kubernetes. Was müssen Administratoren hier in Sachen Sicherheit beachten?
Es gibt mehrere Aspekte in puncto Sicherheit bei Kubernetes: Am einfachsten, jedoch am häufigsten übersehen, ist sicherlich das Thema Updates, denn Kubernetes hat einen sehr schnellen Release-Zyklus. Wir finden meistens jedoch Cluster vor, die auf einer End-of-Life-Version von Kubernetes laufen, was unter keinen Umständen passieren sollte. Des Weiteren ist eine starke Authentifizierung und Autorisierung nötig. Kubernetes bietet hierzu eine Reihe von Mechanismen wie etwa OAuth2, OpenID Connect und RBAC. Es ist wichtig, diese zu konfigurieren und zu nutzen, um unberechtigten Zugriff auf Kubernetes-Cluster zu verhindern. Es gibt auch verschiedene Kubernetes-native Sicherheitsfunktionen wie Network Policies, Admission Controlls und Policies über Projekte wie Kyverno oder Open Policy Agent. Damit ist es möglich, die Sicherheit noch um ein Vielfaches zu erhöhen. Ebenso sollte eine Überwachung des Clusters eigentlich Standard sein, um beispielsweise Sicherheitsfälle frühzeitig zu erkennen.
»Container-Umgebungen sind sehr dynamisch, das überfordert traditionelle Sicherheitsmechanismen.«
Oft sprechen Experten davon, dass klassische Security-Policies sich nicht so einfach mit neuen Container-Umgebungen vereinbaren lassen. Würden Sie dem zustimmen und wie gelingt die Formulierung passender Richtlinien?
Bei dieser Fragestellung trifft die alte IT auf die neue IT. Beide Bereiche sind nicht eins zu eins miteinander vergleichbar. Dies liegt daran, dass Container-Umgebungen sehr dynamisch und skalierbar sind, was die traditionellen Sicherheitsmechanismen überfordert. In der Containerplattformwelt sind einzelne Maschinen nichts weiter als austauschbare Massenware. Entsprechend müssen Security-Policies angepasst und erweitert werden. Klassische Netzwerkarchitektur stößt teilweise auch an ihre Grenzen und sollte für eine Containerplattform angepasst werden. Das Kubernetes-Ökosystem bringt viele Tools mit, um automatisiert die Plattform sicher zu betreiben, diese sollten sich Unternehmen zunutze machen. Ein reines Überstülpen von klassischen Sicherheitsrichtlinien wird zwangsläufig zu einem weniger sicheren System führen, daher sollte jedes Sicherheitsteam den Schritt wagen und sich an neue Konzepte trauen.
Bedarf es hierbei anderer organisatorischer Abläufe in den IT-Teams? Lassen sich an dieser Stelle Best Practices formulieren?
Ja, Containerisierung erfordert andere organisatorische Abläufe in den IT-Teams. Dies liegt daran, dass Containerisierung eine neue Art der Bereitstellung und Verwaltung von Anwendungen ist, die neue Aufgaben und Anforderungen mit sich bringt. Das Wichtigste ist die Schulung der eigenen Mitarbeiter. Es sind neue Themenbereiche, die es zu erlernen gilt. Dies hilft, Sicherheitsrisiken zu identifizieren und zu vermeiden. Unternehmen sollten zudem den Rat von Experten hinzuziehen, idealerweise durch Erweiterung der eigenen personellen Ressourcen oder als externe Beratung. Ein Team für Containersicherheit sollte sich aus Experten für Containerisierung, Sicherheit und Netzwerktechnik zusammensetzen. Zu guter Letzt gilt es, regelmäßige Sicherheitsaudits durchzuführen, um potenzielle Sicherheitslücken zu identifizieren und zu beheben.
Ist für die Sicherung einer Container-Infrastruktur anderes Know-how notwendig?
Definitiv, genauso wie andere Sicherheitskonzepte nötig sind, gilt dies auch für einen anderen Wissensstandard. Generell sollte der Umgang mit Containern und Plattformen wie Kubernetes in das Know-how übergehen. Unternehmen sollten auch erweiterte Konzepte wie CI/CD-Pipelines, Infrastruktur als Code sowie Secret-Management betrachten. Sobald Unternehmen in die Cloud gehen und Hyperscaler nutzen, sollten sie durchaus auch ein Auge auf die Kostenoptimierung werfen.
Laut diversen Umfragen spielen Fehlkonfigurationen eine große Rolle, wenn es um Sicherheitslücken in Container-Infrastrukturen geht. Wie lässt sich dies vermeiden?
Das erste passende Stichwort hierzu lautet Automatisierung. Die gesamte Infrastruktur sollte als Code abgebildet sein und auch das Deployment der Applikationen. Dies lässt es zu, schnell und einfach ein Vier-Augen-Prinzip einzuführen, bevor etwas an der Umgebung verändert wird. Ebenso lassen sich auf diese Weise Änderungen leicht nachvollziehen und rückgängig machen. Es gibt oft auch Optionen der automatisierten Konfiguration und Unternehmen können auf automatisiert konfigurierte Container und Pakete zurückgreifen. Ein weiterer Punkt ist auch hier wieder eine gute Qualifikation der Mitarbeiter. Oft wird die Plattform stiefmütterlich behandelt, da Nutzer sich eher auf das Produkt fokussieren und keinen wirklichen Nutzen aus der darunterliegenden Plattform ziehen. Hier muss ein Umdenken geschehen, Infrastruktur ist ein essenzieller Teil jeder Applikation.
Was genau verbirgt sich hinter DevSecOps?
DevSecOps steht für eine Erweiterung der internen Unternehmenskultur um das Thema Sicherheit. Während DevOps einen engen Austausch auf Augenhöhe zwischen Softwareentwicklung und IT-Betrieb propagiert, erweitert DevSecOps diese Dualität um den Bereich IT-Sicherheit. Während ein wichtiger Faktor die richtigen Tools zur Früherkennung von Sicherheitsproblemen sind, muss sich immer auch die Unternehmenskultur ändern, um das Thema IT-Sicherheit nicht als Sekundärfaktor, sondern als unverzichtbar für den Geschäftserfolg zu sehen.
Sicherheit erreichen IT-Verantwortliche durch Sichtbarkeit. Was ist beim Monitoring von Container-Umgebungen wichtig?
Zu den klassischen Metriken wie CPU und Memory kommen weitere Metriken hinzu, die wichtig sind. Zum einen ist durch Container zusätzlich CPU und RAM in jedem Container enthalten, die es zu überwachen gilt. Auch Netzwerkauslastung wird zum Thema, da ja mehrere Applikationen auf einem Host laufen. Die korrekte Verteilung auf die verschiedenen Nodes muss ebenfalls überwacht werden. Jeder Container hat auch einen eigenen Status. Dieser gibt an, ob ein Container betriebsbereit ist oder nicht. Nicht betriebsbereite Container können zu Performanceproblemen führen. Zu guter Letzt gibt es die Applikation selbst im Container, deren Logs auch verfolgbar sein sollten. Bedeutend ist aber nicht nur die Sichtbarkeit, sondern auch die Alarmfunktionalität. Eine Alarmierungsfunktion benachrichtigt IT-Verantwortliche, wenn bestimmte Metriken bestimmte Schwellenwerte überschreiten. Dies kann helfen, Sicherheitsvorfälle und Performanceprobleme frühzeitig zu erkennen und zu beheben.
Oft nicht beachtet werden die "Ephemeral Container" – was müssen IT-Verantwortliche dazu wissen?
Ephemeral Container sind ein relativ neues Feature in Kubernetes, mit dem Nutzer ad hoc Container innerhalb des Kontexts eines bereits laufenden Pods starten können. Das Feature kann sehr nützlich sein, um Probleme im laufenden Betrieb zu untersuchen. IT-Verantwortliche müssen dabei zwei Aspekte beachten: Dies ist zum einen die starke Rollenvergabe und -kontrolle via RBAC. Um Ephemeral Container starten zu können, sind die entsprechenden Rechte erforderlich. Es ist deshalb wichtig, keine weitreichenden Berechtigungen leichtfertig zu vergeben. Zum anderen gibt es Policies, die dazu da sind, um Sicherheitsrichtlinien und Compliance durchzusetzen. Diese müssen bei den Checks, was in einem Container konfiguriert werden darf, auf die Ephemeral-Container-API erweitert werden.
Container und Edge sind aktuell eine zunehmend gefragte Kombination – was kommt damit auf IT-Verantwortliche zu?
Edge-Computing ist noch neu, und viele Unternehmen wenden sich Kubernetes zu, um entsprechende Anforderungen zu erfüllen. Kubernetes wurde zwar in der Cloud geboren, aber die Vorteile, die es bietet, erstrecken sich auch auf den schnell entstehenden Edge-Computing-Markt. Angesichts von Hardware und Software, die über Hunderte oder Tausende von Standorten verteilt sind, ist die einzige praktikable Möglichkeit, diese verteilten Systeme zu verwalten, die Standardisierung und Automatisierung durch Cloud-Native-Technologien. Dabei gilt es jedoch, die speziellen Herausforderungen, die der Edge-Bereich mit sich bringt, zu berücksichtigen. Viele Unternehmen stecken noch in der Proof-of-Concept-Phase fest oder haben die Hürde der IT-Automatisierung im Edge-Bereich noch nicht überwunden.
Was sind die Ursachen dafür?
Dies liegt häufig daran, dass sie die Komplexität von Edge-Computing unterschätzen oder nicht die erforderlichen neuen Betriebsmodelle umsetzen. Einige haben es auch versäumt, die Expertise in Bezug auf cloudnative Automatisierung aufzubauen. Beispielsweise hilft unser Werkzeug Kubermatic als "Kubernetes on the Edge Management"-Plattform Unternehmen dabei, die bisherigen Hürden zu überwinden und einen automatisierten IT-Betrieb bereitzustellen. Unsere Plattform automatisiert Tausende von Kubernetes-Clustern unabhängig von der Infrastruktur, einschließlich des Edge, mit hoher Dichte und Ausfallsicherheit.
Vielen Dank für das Gespräch.
Sebastian Scheele, CEO und Mitbegründer von Kubermatic