4 Fragen zum Thema Kubernetes Security
Bei Kubernetes Security sollte es vor allem um Prävention gehen. Diese Checkliste unseres Partners NeuVector hilft dabei.
Mit diesen Tipps zur Container Security erreichen Sie mehr Sicherheit und Stabilität bei Docker-Containern.
Container-Technologien haben sich in den letzten Jahren in der Anwendungsentwicklung durchgesetzt. Denn IT-Container beschleunigen und vereinfachen die Entwicklung und den Rollout von Anwendungen erheblich. Zudem werden Rechen- und Speicherressourcen deutlich sparsamer genutzt. Auch macht der Einsatz von Containern die Anwendung plattformunabhängig. Dies sowie eine einfache Portabilität macht Container vor allem für den Einsatz in Multi-Cloud-Umgebungen sehr interessant.
Bei aller Beliebtheit von Containern und den nachweislichen Vorteilen: Auch bei dieser Technologie gilt es, nicht die Sicherheitsaspekte zu vernachlässigen. Denn die wachsende Beliebtheit von Containern macht sie auch vermehrt als Angriffsziel interessant. Der nächste logische Schritt im Rahmen der DevOps-Bemühungen von Unternehmen sollte deshalb in Richtung DevSecOps gehen. Hierbei wird die verbesserte Integration von Entwicklung (Dev) und Betrieb (Ops) mit dem Sicherheitsteam (Sec) angestrebt.
Wenn Unternehmen Container im Business-Kontext nutzen, müssen diese auch den gesetzlichen und internen Sicherheitsvorgaben entsprechen. In vielen Unternehmen haben sich die Produktionsumgebungen in den letzten Jahren durch den Einsatz der Container-Technologie gewandelt. In der Folge gilt es daher, auch die Sicherheitsstrategie zu aktualisieren. Und das bedeutet sowohl die Container-Entwicklungsumgebungen als auch die dahinterliegende Infrastruktur zu schützen. Die folgenden Tipps können dabei helfen.
Sicherheit fängt beim Betriebssystem an. Veraltete Kernelversionen und daraus resultierende Sicherheitslücken öffnen möglichen Angreifern die Tür zur Container-Architektur von Unternehmen. Deshalb ist es unerlässlich, das Betriebssystem durch regelmäßige Patches immer auf dem neuesten Stand zu halten. Im Idealfall etabliert ein Unternehmen integrierte Prozesse, um Systeme regelmäßig auf veraltete Betriebssystem- und Kernelversionen zu überprüfen.
Unternehmen sollten Container Images nur aus verlässlichen Quellen installieren. Im Idealfall verwenden sie nur Container Images aus internen Repositories oder sicheren durch Docker zertifizierten Image-Repositories. Ansonsten ist es ratsam, sich auf Image Repositories von zertifizierten Drittanbietern zu beschränken. Das verringert die Gefahr, fehlerhafte oder gar absichtlich manipulierte Versionen aus anderen Libraries zu nutzen.
Neue Schwachstellen werden ständig entdeckt. Deshalb ist es wichtig, Images regelmäßig mittels Vulnerability Scans auf Schwachstellen zu überprüfen. Insbesondere Images aus frei zugänglichen Bibliotheken gilt es, am besten proaktiv auf Sicherheitsrisiken zu überprüfen. Tools für integriertes Image Scanning helfen, direkt nach dem Build-Prozess potenzielle Gefahren zu erkennen, bevor das Image in die Stage Registry gelangt.
Mit der Einführung von Containern steigt auch die Menge an Open Source Code, den Entwickler in die Software einbringen. So basieren inzwischen viele Container-Ökosysteme auf Open Source Code. Das bedeutet, dass Entwickler entsprechend stark auf Module oder Code Snippets aus Open-Source-Projekten angewiesen sind. Auch hier werden fast täglich neue Sicherheitslücken entdeckt.
Daher ist es wichtig, betroffene Container möglichst schnell nicht nur in Images, sondern auch in laufenden Umgebungen finden zu können. Besonders wichtig ist es in der Produktion, Container schnell identifizieren zu können, die von Sicherheitslücken betroffen sind. Nur so können die Teams unmittelbar reagieren und eingreifen. Es genügt dabei nicht nur rasch herauszufinden, welche Container Sicherheitslücken aufweisen. Die Teams müssen auch in der Lage sein schnell festzustellen, ob die entsprechende Sicherheitslücke bereits ausgenutzt wurde.
Container funktionieren über Root-Rechte. So benötigt der Docker-Daemon Root-Rechte, wenn Anwendungen und Container mit Docker verwendet werden. Anwender haben darüber einen privilegierten Zugriff auf das System. Eindeutige Richtlinien (Namespaces) in der Interaktion zwischen Containern und Host minimieren das Sicherheitsrisiko. Denn sie vergeben nur die Rechte, die für die Rolle notwendig sind. Kernel-Sicherheitsfunktionen unter Linux – wie Seccomp, CGroups oder SELinux – schränken den Container-Zugriff über das Host-Betriebssystem ein.
Doch selbst wenn die Verwendung von Docker auf vertrauenswürdige Benutzer beschränkt ist, können potenzielle Schwachstellen durch den Docker-Daemon ausgenutzt werden. Auch Anwendungen, die auf dem REST-Modell (Representational State Transfer) basieren, können Hackern mögliche Schwachstellen offenlegen. Das Sicherheitsrisiko bestimmt sich also letztlich daraus, wie sauber die Software im Container ist und ob sie bösartigen Code enthält.
Es ist wichtig, Ressourcen einzuschränken, auf die Container zugreifen. Am besten ist es daher, Ressourcen wie CPU oder Memory vorab zu konfigurieren. Das vermeidet nicht nur den „Noisy Neighbour“-Effekt. Es verhindert auch Denial of Service (DoS) oder Forkbombs. Darüber hinaus ist es ratsam, die Kommunikation über das Internet zu limitieren, um DDoS-Angriffe (Distributed Denial of Service) zu vermeiden. Mit dem Management-Tool Kubernetes ist es zudem möglich, eine maximale Ressourcenmenge pro Container zu definieren und zuzuweisen.
Nicht zu vergessen sind Container-Anwendungsdienste, die ein externer Kubernetes-Cluster bereitstellt. Sie erhöhen das Sicherheitsrisiko und bieten möglichen Angreifern ein „Window to exploit“. Um potenzielle Angriffsvektoren zu minimieren, ist es deshalb wichtig, unnötige Kommunikationspfade zu deaktivieren.
Zustandsbehaftete Daten sollten immer außerhalb von Containern gespeichert werden. Die Verwendung von Volumes bietet sich bei zentralem Logging in verteilten Systemen beispielsweise mit ELK-Services (Elasticsearch, Logstash und Kibana) an. Auch Logfiles sollten an einer zentralen Stelle gesammelt und verarbeitet werden. Das erleichtert das Monitoring vor allem bei verteilten Microservices.
Wie bei Cyber Security im Allgemeinen gilt auch bei Container Security das grundsätzliche Prinzip: Für eine effektive Sicherheit ist es nötig, die Angriffsfläche für Hacker zu minimieren. Dazu ist es besonders in Cloud-Umgebungen wichtig zu wissen, welche Netzwerk-Kommunikationspfade genutzt werden. Alle Pfade, die nicht aktiv genutzt werden, sollten identifiziert und geschlossen werden. Das minimiert die Angriffsfläche nachhaltig.
Jetzt Artikel teilen:
Im kostenfreien Whitepaper erfahren Sie mehr darüber, wie Sie das Projekt Container-Sicherheit erfolgreich angehen.
DAS KÖNNTE SIE AUCH INTERESSIEREN:
Bei Kubernetes Security sollte es vor allem um Prävention gehen. Diese Checkliste unseres Partners NeuVector hilft dabei.
Moderne IT setzt zunehmend auf Container. Wir haben Tipps, wie sich diese absichern lassen.
Container-Orchestrierung erleichtert Entwicklern die Arbeit mit modernen, Container-basierten Anwendungen.
Bitte wählen Sie einen der unten stehenden Links, um zum gewünschten Portal zu gelangen.
Bei Fragen oder technischen Problemen wenden Sie sich bitte an Ihre gewohnten Ansprechpartner.
Für die Darstellung dieser Inhalte von YouTube benötigen wir Ihre Einwilligung. Wenn Sie die Inhalte aktivieren, werden Ihre Daten verarbeitet und es werden Cookies auf Ihrem Endgerät gespeichert sowie von diesem gelesen.
Weitere Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung für 30 Tage ( in einem Cookie) speichern