Was ist Containersicherheit?

Containersicherheit umfasst den Schutz von containerisierten Anwendungen und ihrer Infrastruktur während ihres gesamten Lebenszyklus, von der Entwicklung über die Bereitstellung bis zur Laufzeit. Es umfasst Schwachstellen-Scans, Konfigurationsmanagement, Zugriffskontrolle, Netzwerksegmentierung und Überwachung. Containersicherheit zielt darauf ab, die Vorteile der Anwendungsisolierung zu maximieren und gleichzeitig die mit der gemeinsamen Nutzung von Ressourcen verbundenen Risiken und die potenzielle Angriffsfläche zu minimieren. Durch die Einhaltung von Best Practices und den Einsatz spezieller Sicherheitstools können Organisationen ihre Container-Umgebung vor unbefugtem Zugriff und Datenverletzungen schützen und gleichzeitig die Compliance mit den Branchenvorschriften wahren.

 

Containersicherheit erklärt

Container geben uns die Möglichkeit, Microservice-Architekturen zu nutzen und mit größerer Geschwindigkeit und höherer Portabilität zu arbeiten. Container bieten auch inhärente Sicherheitsvorteile. Isolierung der Arbeitslast , Abstraktion von Anwendungen und die unveränderliche Natur von Containern sind in der Tat wichtige Faktoren für ihre Akzeptanz.

Kubernetesbietet ebenfalls integrierte Sicherheitsfunktionen. Administratoren können rollenbasierte Zugriffskontrollrichtlinien (RBAC) definieren, um den unbefugten Zugriff auf Cluster-Ressourcen zu verhindern. Sie können Pod-Sicherheitsrichtlinien und Netzwerksicherheitsrichtlinien konfigurieren, um bestimmte Arten von Missbrauch auf Pods und dem Netzwerk, das sie verbindet, zu verhindern. Administratoren können Ressourcenkontingente festlegen, um die Unterbrechung durch einen Angreifer, der einen Teil eines Clusters kompromittiert, abzumildern. Wenn Ressourcenquoten vorhanden sind, kann ein Angreifer beispielsweise keine Denial-of-Service-Angriffe durchführen, indem er dem Rest des Clusters die für die Ausführung erforderlichen Ressourcen entzieht.

Aber wie Sie vielleicht schon vermutet haben, ist keine Technologie gegen bösartige Aktivitäten gefeit. Containersicherheit, die Technologien und Praktiken, die implementiert werden, um nicht nur Ihre Anwendungen, sondern auch Ihre containerisierte Umgebung zu schützen - von Hosts, Laufzeiten und Registrierungen bis hin zu Orchestrierungsplattformen und zugrundeliegenden Systemen - ist von entscheidender Bedeutung.

Video: Erkennen Sie Schwachstellen in Container-Images und sorgen Sie mit Container-Scans für Sicherheit und Compliance während des gesamten Entwicklungszyklus.

Hintergrund

Containersicherheit spiegelt die sich verändernde Natur der IT-Architektur wider. Der Aufstieg des cloud-nativen Computing hat die Art und Weise, wie wir Anwendungen erstellen, grundlegend verändert. Um mit der Technologie Schritt halten zu können, müssen wir unseren Ansatz zur Sicherung der Daten anpassen.

In der Vergangenheit bedeutete Cybersicherheit den Schutz eines einzigen Perimeters. Container machen dieses Konzept obsolet, da sie mehrere Abstraktionsebenen hinzugefügt haben, die spezielle Tools zur Interpretation, Überwachung und zum Schutz unserer containerisierten Umgebungen erfordern.

Das Container-Ökosystem kann angesichts der Vielzahl von Tools und der einzigartigen Probleme, die sie im Vergleich zu traditionellen Plattformen lösen, schwer zu verstehen sein. Gleichzeitig gibt uns die weit verbreitete Einführung von Container-Technologien die Möglichkeit, den Fokus nach links zu verlagern und Container von den frühesten Phasen der CI/CD-Pipeline bis zur Bereitstellung und Laufzeit zu sichern.

Bevor Sie jedoch in die Details der Containersicherheit eintauchen, müssen Sie die für die Verwaltung von Containern verwendeten Plattformen verstehen. Wir werden uns auf eine der größten und bekanntesten Plattformen konzentrieren: Kubernetes.

Was ist Kubernetes?

Kubernetes ist eine der führenden Orchestrierungsplattformen, die bei der Optimierung und Implementierung einer Container-basierten Infrastruktur hilft. Genauer gesagt handelt es sich um eine Open-Source-Plattform für die Verwaltung von containerisierten Workloads durch die Automatisierung von Prozessen wie Anwendungsentwicklung, Bereitstellung und Verwaltung.

Als eine weit verbreitete Open-Source-Plattform ist die Absicherung von Kubernetes für Organisationen, die containerisierte Anwendungen bereitstellen, von entscheidender Bedeutung. Organisationen müssen eine sichere Umgebung schaffen, insbesondere wenn sie Open-Source-Code in Anwendungen von Drittanbietern einbinden. Kubernetes mit seinem umfangreichen Ökosystem und zahlreichen Integrationen für die Verwaltung von Containern ermöglicht die Schaffung automatisierter, systematischer Prozesse, die die Sicherheit in den Kern der Build- und Bereitstellungspipeline integrieren. Durch die Nutzung der nativen Funktionen von Kubernetes, wie RBAC, Pod-Sicherheitsrichtlinien und Netzwerkrichtlinien, können Organisationen eine solide Sicherheitsstruktur mit einer stabilen Container-Orchestrierungsinfrastruktur aufbauen und pflegen.

Vorteile von Containern

Einfach ausgedrückt: Container machen die Entwicklung, Bereitstellung und Skalierung von Cloud-nativen Anwendungen einfacher denn je. Für Entwickler von Cloud-nativen Anwendungen sind die Vorteile von Containern besonders wichtig:

  1. Beseitigung von Reibung: Entwickler vermeiden einen Großteil der Reibungsverluste, die mit dem Verschieben von Anwendungscode vom Testen in die Produktion verbunden sind, da der als Container verpackte Anwendungscode überall ausgeführt werden kann.
  2. Eine einzige Quelle der Wahrheit für die Anwendungsentwicklung: Alle mit der Anwendung verbundenen Abhängigkeiten sind im Container enthalten. Dadurch kann die Anwendung problemlos und identisch auf virtuellen Maschinen, Bare Metal Servern und in der öffentlichen Cloud ausgeführt werden.
  3. Schnellere Bauzeiten: Die Flexibilität und Portabilität von Containern ermöglicht es Entwicklern, bisher unerreichte Produktivitätssteigerungen zu erzielen.
  4. Vertrauen für Entwickler: Entwickler können ihre Anwendungen mit Zuversicht bereitstellen, da sie wissen, dass ihre Anwendung oder Plattform auf allen Betriebssystemen gleich läuft.
  5. Verbesserte Zusammenarbeit: Mehrere Teams, die Container verwenden, können an einzelnen Teilen einer Anwendung oder eines Dienstes arbeiten, ohne den in anderen Containern verpackten Code zu beeinträchtigen.

Wie jede IT-Architektur erfordern auch Cloud-native Anwendungen Sicherheit. Container-Umgebungen bringen eine Reihe von Cybersecurity-Herausforderungen mit sich, die auf ihre Images, Container, Hosts, Laufzeiten, Registrierungen und Orchestrierungsplattformen abzielen - und die alle angegangen werden müssen.

 

Die Angriffsfläche verstehen

Denken Sie an das ausufernde, vielschichtige Framework von Kubernetes. Jede Schicht - vom Code und den Containern bis hin zu Clustern und Cloud-Diensten von Drittanbietern - stellt eine eigene Reihe von Sicherheitsherausforderungen dar.

Die Bereitstellung von Kubernetes erfordert die Sicherung der zugrundeliegenden Infrastruktur (Knoten, Load Balancer usw.), der konfigurierbaren Komponenten und der Anwendungen, die im Cluster laufen - einschließlich der Aufrechterhaltung des Zustands der zugrundeliegenden Knoten und der Kontrolle des Zugriffs auf die API und Kubelet. Außerdem müssen Sie verhindern, dass bösartige Workloads im Cluster ausgeführt werden, und die Workload-Kommunikation durch strenge Netzwerkkontrollenisolieren.

Container-Laufzeiten können Programmierfehler aufweisen, die eine Privilegienerweiterung innerhalb eines Containers ermöglichen. Der Kubernetes-API-Server könnte falsch konfiguriert sein und Angreifern die Möglichkeit geben, auf Ressourcen zuzugreifen, die eigentlich gesperrt sind. Schwachstellen, die Privilegienerweiterungsangriffe ermöglichen, könnten in einer containerisierten Anwendung oder in den Betriebssystemen, die auf Kubernetes-Knoten laufen, vorhanden sein.

Anatomie der Angriffsfläche für Container

Abbildung 1: Anatomie der Angriffsfläche für Container

In diesem System wird ein Problem auf einer Ebene verstärkt, wenn eine andere Ebene ein Sicherheitsproblem hat.

Und Container können natürlich auch Schwachstellen enthalten. Gleichzeitig können die Container die Sicht verdecken. Stellen Sie sich ein einziges unsicheres Image vor, das mehrfach als separate laufende Container instanziiert wird. Was früher ein einzelner Riss war, ist heute ein riesiges Netzwerk von Spalten in der Festung.

Die Notwendigkeit, bei der Bereitstellung von Containern den Überblick über den Systembetrieb und die Sicherheit zu behalten, wird immer schwieriger. Und das ist nur die Aufrechterhaltung der Sichtbarkeit, eines von unzähligen Zielen.

Abbildung 1, mit erweiterten Details in Tabelle 1, bietet einen Ausgangspunkt für das Verständnis der Angriffsfläche von containerisierten Anwendungen.

Es ist wichtig zu beachten, dass die Darstellung vereinfacht ist. In Wirklichkeit haben Angreifer zahlreiche Möglichkeiten, um Schwachstellen in containerisierten Anwendungen auszunutzen. Die Verteidigung dieses Technologie-Stacks ist nicht unbedingt schwieriger als die Sicherung anderer Umgebungen und Technologien. Containerisierung stellt lediglich einzigartige Sicherheitsüberlegungen an, die Organisationen für eine sichere und widerstandsfähige Infrastruktur berücksichtigen müssen.

Angriffsfläche Angriffsvektor Beschreibung Beispiel
Über das Netzwerk Bösartiger Netzwerkverkehr Ausnutzung von Schwachstellen oder Fehlkonfigurationen im Netzwerk, um Zugang zur Container-Umgebung zu erhalten. Scannen nach offenen Ports und Ausnutzung von Fehlkonfigurationen, um Zugang zu Worker Nodes zu erhalten.
Host-Konfiguration Fehlkonfiguriertes Host-System Ausnutzung von Fehlkonfigurationen im Host-Betriebssystem, um Zugriff auf die Container-Umgebung zu erhalten. Entdeckung von unsicheren Dateiberechtigungen für den Zugriff auf sensible Dateien, wie z.B. Container-Konfigurationsdateien.
Host-Schwachstellen Ungepatchte Host-Schwachstellen Ausnutzung von Schwachstellen im Host-Betriebssystem, um Zugang zur Container-Umgebung zu erhalten. Identifizierung und Ausnutzung ungepatchter Kernel-Schwachstellen, um Root-Rechte auf Worker-Nodes zu erlangen.
Schwachstellen in Host-Anwendungen Ungepatchte Sicherheitslücken in Host-Anwendungen Ausnutzung von Schwachstellen in Host-Anwendungen, um Zugang zur Container-Umgebung zu erhalten. Angriffe auf ältere Docker-Versionen mit Schwachstellen, um Root-Rechte auf Worker-Nodes zu erlangen.
Schwachstellen und Fehler bei der Container-Orchestrierung Fehlkonfigurationen bei der Container-Orchestrierung Ausnutzung von Fehlkonfigurationen im Container-Orchestrierungssystem, um Zugang zur Container-Umgebung zu erhalten. Ausnutzung von unsicheren Zugriffskontrollrichtlinien in Kubernetes-Clustern für den Zugriff auf Pods und Dienste.
Kompromittierte Container-Images Angreifer verschafft sich Zugang zum Container-Image-Erstellungsprozess Kompromittierung des Container-Image-Erstellungsprozesses, um bösartigen Code in Container-Images einzuschleusen. Ausnutzung von Schwachstellen in CI/CD-Pipelines zur Einschleusung von bösartigem Code während des Erstellungsprozesses von Container-Images.
Container-Schwachstellen und Fehlkonfigurationen Ungepatchte Container-Schwachstellen Ausnutzung von Schwachstellen im Container selbst, um Zugang zur Container-Umgebung zu erhalten. Sie zielen auf ungepatchte Sicherheitslücken in beliebten Anwendungen, die in Containern laufen, um sich Zugang zu verschaffen.
Container-Flucht Angreifer erlangt privilegierten Zugriff auf Container Ausbrechen aus der Isolierung des Containers und Zugriff auf das Hostsystem. Ausnutzung von Schwachstellen in der Container-Laufzeit oder Missbrauch von Fehlkonfigurationen des Host-Systems, um Root-Rechte auf dem Host-System zu erlangen.

Tabelle 1: Aufschlüsselung der Angriffsfläche für Container

Glücklicherweise kann jede Schicht der Angriffsfläche durch Design- und Prozessüberlegungen sowie durch eigene und fremde Sicherheitsoptionen gestärkt werden, um das Risiko kompromittierter Workloads zu verringern. Sie brauchen eine vielschichtige Strategie, aber unser Ziel in diesem Teil des Leitfadens ist es, Ihnen genau das zu bieten.

Abbildung 2: Containersicherheit erstreckt sich über den gesamten Lebenszyklus der Softwareentwicklung

Abbildung 2: Containersicherheit erstreckt sich über den gesamten Lebenszyklus der Softwareentwicklung

 

Wie man Containersicherheit gewährleistet

Container-Benutzer müssen sicherstellen, dass sie über eine zweckmäßige Full-Stack-Sicherheit verfügen, um die Anforderungen an Schwachstellenmanagement, Compliance, Laufzeitschutz und Netzwerksicherheit ihrer containerisierten Anwendungen zu erfüllen.

Containersicherheit im Netzwerk

Containerisierte Anwendungen sind den gleichen Risiken ausgesetzt wie Bare-Metal- und VM-basierte Anwendungen, z. B. Cryptojacking, Ransomware und BotNet C2. Containersicherheit im Netzwerk schränkt proaktiv unerwünschte Kommunikation ein und verhindert mit einer Vielzahl von Strategien, dass Bedrohungen Ihre Anwendungen angreifen. Zu den Schlüsselkomponenten der Netzwerksicherheit gehören Mikrosegmentierung, Zugriffskontrolle, Verschlüsselung und Richtlinien zur Aufrechterhaltung einer sicheren und widerstandsfähigen Umgebung. Kontinuierliche Überwachung, Protokollierung und regelmäßige Audits helfen dabei, potenzielle Sicherheitslücken zu erkennen und zu beheben, ebenso wie rechtzeitige Patches, um Ihre Plattformen und Infrastruktur auf dem neuesten Stand zu halten.

Während Sicherheits-Tools von Shift Left einen zeitnahen Schutz vor bekannten Schwachstellen bereitstellen, schützen Containerized Next-Gen Firewalls vor unbekannten und ungepatchten Schwachstellen. Sie führen eine Layer 7 Deep-Packet-Inspection durch und scannen den gesamten erlaubten Datenverkehr. So identifizieren und verhindern sie, dass Malware in den Cluster eindringt und sich dort ausbreitet, und blockieren bösartige ausgehende Verbindungen, die für Datenexfiltration und Command-and-Control-Angriffe (C2) genutzt werden. Die identitätsbasierte Mikrosegmentierung hilft, die Kommunikation zwischen Anwendungen auf Layer 3 und 4 einzuschränken.

Containersicherheit zur Laufzeit

Cloud-native Laufzeitsicherheit ist der Prozess der Identifizierung neuer Schwachstellen in laufenden Containern und die Absicherung der Anwendung gegen diese. Organisationen, die Container verwenden, sollten den erweiterten Laufzeitschutz nutzen, um die Verhaltensgrundlagen zu schaffen, auf denen die Erkennung von Anomalien beruht. Die Laufzeitsicherheit kann bösartige Prozesse, Dateien und Netzwerkverhalten, das von einer Basislinie abweicht, identifizieren und blockieren.

Mit einer Defense in Depth Strategie zur Verhinderung von Layer 7 Angriffen, wie z.B. den OWASP Top 10, sollten Organisationen Laufzeitschutz mit Webanwendungs- und API-Sicherheit zusätzlich zur Containersicherheit des Netzwerks über containerisierte Next-Gen Firewalls implementieren.

Containersystem Sicherheit

Die Containersicherheit in die Build-Phase einzubeziehen bedeutet, dass man nicht mehr erst zur Laufzeit reagiert, sondern nach links schaltet. Die Sicherheit in der Build-Phase sollte sich auf die Beseitigung von Schwachstellen, Malware und unsicherem Code konzentrieren. Da Container aus Bibliotheken, Binärdateien und Anwendungscode bestehen, ist es von entscheidender Bedeutung, Ihre Container-Registrierungen zu sichern.

Der erste Schritt zur Containersicherheit ist die Einrichtung einer offiziellen Container-Registrierung für Ihre Organisation. Zweifellos gibt es bereits ein oder mehrere Register. Es ist die Aufgabe des Sicherheitsteams, diese zu finden und dafür zu sorgen, dass sie ordnungsgemäß gesichert sind, wozu auch die Festlegung von Sicherheitsstandards und -protokollen gehört. Das übergeordnete Ziel der Sicherheitsstandards für die Container-Registry sollte die Erstellung vertrauenswürdiger Images sein. Zu diesem Zweck müssen sich DevOps und Sicherheitsteams auf Richtlinien einigen, die in erster Linie verhindern, dass Container von nicht vertrauenswürdigen Registern bereitgestellt werden.

Intrusionen oder Schwachstellen in der Registrierung bieten eine einfache Möglichkeit, laufende Anwendungen zu kompromittieren. Die kontinuierliche Überwachung von Registern auf Änderungen des Schwachstellenstatus bleibt eine zentrale Sicherheitsanforderung. Zu den weiteren Anforderungen gehören die Sperrung des Servers, der die Registrierung hostet, und die Verwendung sicherer Zugriffsrichtlinien.

Containersicherheit bei der Orchestrierung

Container-Orchestration-Sicherheit ist der Prozess der Umsetzung geeigneter Maßnahmen zur Zugriffskontrolle, um Risiken durch überprivilegierte Konten, Angriffe über das Netzwerk und unerwünschte Seitwärtsbewegungen zu verhindern. Durch den Einsatz von Identity Access Management (IAM) und Least-Privileged-Zugriff, bei dem Docker- und Kubernetes-Aktivitäten explizit auf eine Whitelist gesetzt werden, können Sicherheits- und Infrastrukturteams sicherstellen, dass Benutzer nur Befehle ausführen, die ihren Rollen entsprechen.

Darüber hinaus müssen Organisationen die Pod-zu-Pod-Kommunikation schützen, den Schaden begrenzen, indem sie Angreifer daran hindern, sich seitlich durch ihre Umgebung zu bewegen, und alle Frontend-Dienste vor Angriffen schützen.

Sicherheit des Host-Betriebssystems (OS)

Host OS Sicherheit ist die Praxis, Ihr Betriebssystem (OS) vor einem Cyberangriff zu schützen. Mit dem Wachstum der Cloud-nativen App-Entwicklungstechnologie wächst auch der Bedarf an Host-Sicherheit.

Das Betriebssystem, das Ihre Container-Umgebung hostet, ist vielleicht die wichtigste Schicht, wenn es um die Sicherheit geht. Ein Angriff, der die Host-Umgebung kompromittiert, könnte Eindringlingen Zugang zu allen anderen Bereichen in Ihrem Stack verschaffen. Deshalb müssen Hosts auf Schwachstellen gescannt, gemäß den CIS-Benchmarks gehärtet und vor schwachen Zugriffskontrollen (Docker-Befehle, SSH-Befehle, sudo-Befehle usw.) geschützt werden.

 

Containersicherheit Lösungen

Die Absicherung Ihrer Container-Umgebung erfordert einen vielschichtigen Ansatz, um potenzielle Schwachstellen und Bedrohungen zu beseitigen. In den letzten Jahren sind die Lösungen für Containersicherheit, auf die sich Organisationen verlassen können, um ihre containerisierten Anwendungen und Infrastrukturen während der Entwicklung, Bereitstellung und Laufzeit zu schützen, immer ausgefeilter und leistungsfähiger geworden. Moderne Sicherheitstools minimieren effektiv die Risiken von Sicherheitsverletzungen und Datenlecks, fördern die Compliance und die Aufrechterhaltung sicherer Umgebungen und beschleunigen gleichzeitig die Einführung von DevSecOps .

Container Überwachung

Die Fähigkeit zur Überwachung Ihrer Registrierung auf Schwachstellen ist für die Aufrechterhaltung der Containersicherheit unerlässlich. Da Entwickler kontinuierlich Container austauschen, sind Überwachungswerkzeuge, mit denen Sicherheitsteams Zeitreihenstempel auf Container anwenden können, von entscheidender Bedeutung, wenn es darum geht, festzustellen, was in einer containerisierten Umgebung passiert ist.

Beliebte Tools für die Containerüberwachung sind Prometheus, Grafana, Sumo Logic und Prisma Cloud. Prisma Cloud bietet Bedrohungserkennung zur Laufzeit und Anomalienanalyse sowohl für Cloud-native als auch für traditionelle Anwendungen. Es nutzt maschinelles Lernen und Verhaltensanalysen, um verdächtige Aktivitäten während des gesamten Lebenszyklus von Containern zu identifizieren, von der Erstellung bis zur Laufzeit.

Tools zum Scannen von Containern

Container müssen kontinuierlich auf Schwachstellen gescannt werden, sowohl bevor sie in einer Produktionsumgebung bereitgestellt werden als auch nachdem sie ersetzt worden sind. Es ist zu einfach für Entwickler, versehentlich eine Bibliothek in einen Container einzubinden, die bekannte Schwachstellen aufweist. Sie sollten auch nicht vergessen, dass fast täglich neue Sicherheitslücken entdeckt werden. Das heißt, was heute noch wie ein absolut sicheres Container-Image aussieht, könnte sich morgen als Vehikel für die Verbreitung aller Arten von Malware erweisen. Deshalb ist die Aufrechterhaltung des Vertrauens in Container-Images ein zentraler Bestandteil von Container-Scan-Tools.

Zu den Tools zum Scannen von Containern gehören Aqua Security, Anchore, Clair und Prisma Cloud. Prisma Cloud bietet Deep-Layer-Schwachstellen-Scans für Container-Images in Registern und während CI/CD-Pipelines. Es erkennt bekannte Schwachstellen, Fehlkonfigurationen und Malware und hilft Ihnen, von Anfang an sichere Container zu erstellen.

Tools für die Containersicherheit im Netzwerk

Sobald sie bereitgestellt sind, müssen Container vor den ständigen Versuchen geschützt werden, proprietäre Daten oder Rechenressourcen zu stehlen. Containerisierte Next-Generation Firewalls, Webanwendungs- und API-Sicherheit (WAAS)und Mikrosegmentierungstools prüfen und schützen den gesamten Datenverkehr, der in Container ein- und ausgeht (Nord-Süd und Ost-West), und gewähren vollständige Layer 7 Sichtbarkeit und Kontrolle über die Kubernetes-Umgebung. Darüber hinaus skalieren die containerisierten Firewalls dynamisch mit der sich schnell ändernden Größe und den Anforderungen an die Container-Infrastruktur und garantieren Sicherheit und Bandbreite für den Geschäftsbetrieb.

Zu den Tools für die Netzwerksicherheit gehören Calico, Flannel, CNI-Plugins (z.B. Istio, Cilium), Kubernetes NetworkPolicy und Prisma Cloud. Prisma Cloud lässt sich mit Container-Orchestrierungsplattformen wie Kubernetes integrieren, um eine Bedrohungserkennung im Netzwerk zu ermöglichen. Es sichert den Ost-West-Verkehr zwischen Containern und verhindert unbefugte seitliche Bewegungen innerhalb Ihrer Umgebung.

Politik-Engines

Moderne Tools ermöglichen es den Cloud-Sicherheitsteams , Richtlinien zu definieren, die im Wesentlichen bestimmen, wer und was auf einen bestimmten Microservice zugreifen darf. Organisationen brauchen einen Rahmen, um diese Richtlinien zu definieren und sicherzustellen, dass sie in einer hochgradig verteilten Container-Anwendungsumgebung konsistent gepflegt werden.

Beliebte Richtlinien-Engines sind Cilium, OPA Gatekeeper, Neutrino, Kubernetes Network Policy API und Prisma Cloud. Prisma Cloud setzt Sicherheitsrichtlinien für die gesamte Bereitstellung von Containern durch, einschließlich der Kontrolle des Netzwerkzugriffs, der Ressourcenbegrenzung und der Signierung von Images. Dies gewährleistet eine konsistente Sicherheitslage und Compliance mit den Standards Ihrer Organisation.

Die Auswahl der richtigen Lösungen

Bei der Auswahl einer Lösung zur Sicherung Ihrer Container-Umgebung sollten Sie die Bedürfnisse und Risikobereiche Ihrer Organisation berücksichtigen. Benötigen Sie eine fortschrittliche Bedrohungserkennung, Schwachstellenmanagement oder eine strikte Durchsetzung von Richtlinien? Bewerten Sie die Integration mit Ihren bestehenden Tools und Ihrer Infrastruktur. Die nahtlose Integration mit Entwicklungspipelines, Orchestrierungsplattformen und SIEM-Systemen ist ein entscheidender Fortschritt.

Denken Sie daran, dass eine effektive Containersicherheit über einzelne Tools hinausgeht. Die Implementierung eines mehrschichtigen Ansatzes mit kontinuierlicher Überwachung, proaktivem Scannen, strengen Richtlinien und zuverlässiger Netzwerksicherheit wird die Widerstandsfähigkeit Ihrer containerisierten Umgebung gegenüber Bedrohungen erheblich verbessern.

 

Containersicherheit FAQs

Eine Policy Engine ist eine Softwarekomponente, die es DevSecOps -Teams ermöglicht, Richtlinien für den Zugriff auf und die Nutzung von Ressourcen wie Anwendungen, Netzwerke und Daten zu definieren, zu verwalten und durchzusetzen. 

Policy Engines bewerten eingehende Anfragen anhand vordefinierter Regeln und Bedingungen und treffen Entscheidungen auf der Grundlage dieser Richtlinien. Sie tragen dazu bei, Compliance zu gewährleisten, die Sicherheit zu verbessern und die Kontrolle über Ressourcen zu behalten. Im Kontext von containerisierten Umgebungen spielen Policy Engines eine entscheidende Rolle bei der konsistenten Einhaltung von Zugriffs- und Sicherheitsrichtlinien über verteilte Anwendungen und Microserviceshinweg und helfen bei der Verwaltung und Automatisierung der Durchsetzung von Richtlinien in komplexen, dynamischen Infrastrukturen.

Common Vulnerabilities and Exposures (CVE) bezieht sich auf ein standardisiertes System zur Identifizierung, Katalogisierung und Weitergabe von Informationen über öffentlich bekannte Sicherheitslücken und -risiken im Internet. CVE-Einträge bestehen aus einer eindeutigen Kennung, einer Beschreibung und einem Schweregrad. Das von der MITRE Corporation betriebene System soll die Verfolgung, Verwaltung und Kommunikation von Schwachstellen über verschiedene Datenbanken, Tools und Organisationen hinweg erleichtern. Durch die Bereitstellung einer gemeinsamen Referenz für Schwachstellen hilft CVE Sicherheitsexperten, Forschern und Entwicklern, potenzielle Risiken besser zu verstehen, Abhilfemaßnahmen zu priorisieren und die allgemeine Sicherheitslage von Software und Systemen zu verbessern.

Die MITRE ATT&CK Matrix ist eine umfassende, weltweit zugängliche Wissensbasis über die Taktiken und Techniken von Cyber-Angreifern. Es wird von MITRE, einer gemeinnützigen Organisation, die von der US-Regierung geförderte Forschungs- und Entwicklungszentren betreibt, entwickelt und gepflegt. ATT&CK steht für Adversarial Tactics, Techniques, and Common Knowledge.

Die Matrix dient als Rahmen, um die verschiedenen Methoden zu verstehen, zu kategorisieren und zu dokumentieren, die Cyber-Angreifer zur Kompromittierung von Systemen, Netzwerken und Anwendungen einsetzen. Es wurde entwickelt, um Sicherheitsteams, Forschern und Organisationen in den verschiedenen Phasen des Lebenszyklus der Cybersicherheit zu helfen, einschließlich Bedrohungserkennung, -prävention, -reaktion und -minderung.

Die MITRE ATT&CK-Matrix ist in eine Reihe von Kategorien unterteilt, die als Taktiken bezeichnet werden und verschiedene Phasen des Lebenszyklus eines Angreifers darstellen. Jede Taktik enthält mehrere Techniken, die die Gegner einsetzen, um ihre Ziele in dieser Phase zu erreichen. Die Techniken sind weiter in Untertechniken unterteilt, die detailliertere Informationen über bestimmte Methoden und Werkzeuge liefern, die bei Cyberangriffen eingesetzt werden.

Ein Sicherheitskontext ist ein Satz von Attributen oder Eigenschaften, die sich auf die Sicherheitseinstellungen eines Prozesses, eines Benutzers oder eines Objekts in einem Computersystem beziehen. Im Kontext von containerisierten Umgebungen definiert ein Sicherheitskontext die Sicherheits- und Zugriffskontrolleinstellungen für Container und Pods, wie z.B. Benutzer- und Gruppenberechtigungen, Dateisystemzugriff, Berechtigungsstufen und andere sicherheitsbezogene Konfigurationen.

Mit Kubernetes können Sie Sicherheitskontexte auf Pod- oder Containerebene festlegen. Durch die Konfiguration von Sicherheitskontexten können Sie die Sicherheitseinstellungen und -beschränkungen für Ihre containerisierten Anwendungen kontrollieren und sicherstellen, dass diese mit den entsprechenden Berechtigungen und auf sichere Weise ausgeführt werden.

Einige der wichtigsten Attribute, die in einem Sicherheitskontext definiert werden können, sind:

  • Benutzer-ID (UID) und Gruppen-ID (GID): Diese Einstellungen bestimmen den Benutzer und die Gruppe, unter denen ein Container oder Pod ausgeführt wird, und steuern so den Zugriff auf Ressourcen und Systemfunktionen.
  • Privilegien-Eskalationskontrolle: Diese Einstellung legt fest, ob ein Prozess innerhalb eines Containers zusätzliche Privilegien erhalten kann, z.B. als Root-Benutzer zu laufen. Durch die Deaktivierung der Privilegienerweiterung können Sie die möglichen Auswirkungen eines kompromittierten Containers begrenzen.
  • Zugang zum Dateisystem: Mit Sicherheitskontexten können Sie festlegen, wie Container auf das Dateisystem zugreifen können, z. B. nur lesend oder mit bestimmten Berechtigungen.
  • Linux-Fähigkeiten: Diese Einstellungen steuern die spezifischen Fähigkeiten, die ein Container nutzen kann, z. B. Netzwerkverbindungen, Systemzeiteinstellungen oder Verwaltungsaufgaben.
  • SELinux-Kontext: Sicherheitskontexte können verwendet werden, um den SELinux-Kontext für einen Container oder Pod zu definieren, um verbindliche Zugriffskontrollrichtlinien durchzusetzen und den Container weiter vom Hostsystem zu isolieren.

Durch die richtige Konfiguration von Sicherheitskontexten in Kubernetes können Sie die Sicherheit Ihrer containerisierten Anwendungen verbessern, das Prinzip der geringsten Rechte durchsetzen und Ihr Gesamtsystem vor potenziellen Sicherheitsrisiken schützen.

Codesicherheit bezieht sich auf die Praktiken und Prozesse, die implementiert werden, um sicherzustellen, dass der Softwarecode sicher geschrieben und gepflegt wird. Dazu gehören die Identifizierung und Abschwächung potenzieller Schwachstellen und die Befolgung von Best Practices für sichere Codierung, um Sicherheitsrisiken zu vermeiden. Die Codesicherheit umfasst verschiedene Aspekte, wie z.B.:

  • Statische Anwendungssicherheitstests (SAST): Analyse von Quellcode, Bytecode oder Binärcode zur Identifizierung potenzieller Sicherheitsschwachstellen, ohne den Code auszuführen.
  • Dynamische Anwendungssicherheitstests (DAST): Testen laufender Anwendungen zur Identifizierung von Sicherheitslücken durch Simulation von Angriffen und Analyse des Verhaltens der Anwendung.
  • Analyse der Software-Zusammensetzung: Scannen und Überwachen der in Ihrem Code verwendeten Abhängigkeiten (Bibliotheken, Frameworks usw.), um bekannte Schwachstellen zu identifizieren und sicherzustellen, dass sie auf dem neuesten Stand sind.
  • Sichere Kodierungspraktiken: Befolgung von Richtlinien und Best Practices (z.B. OWASP Top Ten Project), um sicheren Code zu schreiben und die Einführung von Schwachstellen zu vermeiden.

Policies sind spezifische Sicherheitsregeln und -richtlinien, die zur Durchsetzung von Sicherheitsanforderungen in einer Kubernetes-Umgebung verwendet werden, während IaC eine umfassendere Praxis für die Verwaltung und Provisionierung von Infrastrukturressourcen mithilfe von Code ist. Beide können zusammen verwendet werden, um die Sicherheit, Konsistenz und Automatisierung innerhalb Ihrer Kubernetes-Umgebung zu verbessern. 

Mit IaC können Sie Sicherheitskonfigurationen wie Netzwerkrichtlinien, Firewall-Regeln und Zugriffskontrollen als Teil Ihrer Infrastrukturdefinitionen definieren und verwalten. Sie können zum Beispiel Kubernetes-Netzwerkrichtlinien, Ingress- und Egress-Konfigurationen und rollenbasierte Zugriffskontrollrichtlinien (RBAC) in Ihre Kubernetes-Manifeste aufnehmen, die dann als Infrastruktur als Code verwaltet werden.

Tools wie Terraform, CloudFormation und Kubernetes-Manifeste ermöglichen es Ihnen, Infrastrukturressourcen und Sicherheitskonfigurationen auf konsistente und automatisierte Weise zu verwalten. Indem Sie Sicherheitsmaßnahmen in Ihre IaC-Definitionen aufnehmen, können Sie die Gesamtsicherheit Ihrer Container- und Kubernetes-Umgebung verbessern und die Einhaltung von Best Practices und Compliance-Anforderungen gewährleisten.

Policy as Code (PaC) beinhaltet die Codierung und Verwaltung von Infrastrukturrichtlinien, Compliance- und Sicherheitsregeln als Code innerhalb eines versionskontrollierten Systems. PaC ermöglicht es Organisationen, die Durchsetzung und Prüfung ihrer Richtlinien zu automatisieren und so sicherzustellen, dass ihre Infrastruktur gemäß den erforderlichen Standards aufgebaut und gewartet wird. Durch die Integration dieser Richtlinien in den "Policy as Code"-Prozess oder als Teil des Aufbaus der Infrastruktur können Organisationen sicherstellen, dass ihre Tools mit den erforderlichen Standards und Best Practices übereinstimmen.

Mit der Alarmdisposition können Sie festlegen, wann Sie von einem Alarm oder einer Anomalie benachrichtigt werden möchten. Die Einstellungen sind konservativ, moderat und aggressiv. Die Präferenzen richten sich nach dem Schweregrad der Probleme - niedrig, mittel, hoch. 

  • Conservative erzeugt Alarme mit hohem Schweregrad.
  • Moderat erzeugt Alarme hohen und mittleren Schweregrads.
  • Aggressiv erzeugt Warnmeldungen mit hohem, mittlerem und niedrigem Schweregrad.
Über die Anpassung der Anomalie-Einstellungen können Sie das Kriterium steuern, nach dem Warnungen für Anomalie-Richtlinien generiert werden. Sie können die Einstellungen für Anomalien ändern, um den Schwellenwert für das Training des Modells zu ändern, die Anordnung der Alarme anzupassen und Listen vertrauenswürdiger Anomalien hinzuzufügen, um Alarme von vertrauenswürdigen Ressourcen zu unterdrücken.
Schwellenwerte für das Training von Anomalienmodellen bezieht sich auf eine Methode zur Definition verschiedener Schwellenwerte für das Training der Modelle zur Erkennung von Anomalien für UEBA und Netzwerk-Anomalien. Sie können den Schwellenwert für das Trainingsmodell auf niedrig, mittel oder hoch einstellen. Diese Schwellenwerte werden verwendet, um das Volumen (z.B. mindestens 100 Benutzerereignisse) und die Dauer der für das Training der Modelle verwendeten Daten (z.B. 30 Tage) zu bestimmen.
Eine Liste mit vertrauenswürdigen Anomalien ist eine Methode zur Unterdrückung bestimmter Ressourcen, für die Sie keine Alarme erzeugen möchten. Wenn es beispielsweise IP-Adressen gibt, die Sie für Penetrationstests verwenden, können Sie diese IPs zu einer vertrauenswürdigen Liste hinzufügen, um deren Alarme zu unterdrücken.
Audit-Ereignis bezieht sich auf eine Reihe von RQL-basierten Richtlinien, die Audit-Ereignisse in Ihrer Umgebung auf mögliche Richtlinienverstöße überwachen. Sie erstellen Audit-Richtlinien, um sensible Ereignisse wie Root-Aktivitäten oder Konfigurationsänderungen zu kennzeichnen, die Ihre Cloud-Umgebung potenziell gefährden könnten.
Netzwerk-Anomalien-Richtlinien sind Anomalien-Richtlinien, die kontinuierlich Netzwerkprotokolle auf bösartigen Netzwerkverkehr mithilfe von maschinellem Lernen überwachen und IPs mit AutoFocus abgleichen. Richtlinien für Netzwerk-Anomalien können verschiedene Bedrohungen wie Botnet-, Ransomware- und Wurm-Angriffe erkennen.
Bei der Autorisierung wird authentifizierten Benutzern der Zugriff auf Ressourcen oder Systemfunktionen auf der Grundlage von vordefinierten Richtlinien gewährt. In Kubernetes wird dieses Konzept als rollenbasierte Zugriffskontrolle (RBAC) bezeichnet. RBAC erteilt Benutzergruppen, wie z.B. Entwicklern, die Erlaubnis, entsprechend ihren Anforderungen mit bestimmten Ressourcen oder Funktionen zu interagieren. Die Implementierung robuster und konsistenter Richtlinien für die Benutzerautorisierung stellt sicher, dass die Benutzer nur über die erforderlichen Mindestprivilegien verfügen, wodurch das Risiko eines unbefugten Zugriffs und einer Eskalation der Privilegien verringert wird.

Sichere Identitätsspeicherung bezieht sich auf Lösungen und Mechanismen zur sicheren Speicherung sensibler Informationen wie Kennwörter, kryptografische Schlüssel, API-Tokens und andere Geheimnisse in einer hochgradig geschützten und verschlüsselten Weise. Geheime Tresore und Hardware-Sicherheitsmodule (HSMs) sind zwei gängige Beispiele für die sichere Speicherung von Identitäten.

Secret Vaults sind sichere, softwarebasierte Speichersysteme zur Verwaltung, Speicherung und zum Schutz vertraulicher Daten. Sie verwenden Verschlüsselungs- und Zugriffskontrollmechanismen, um sicherzustellen, dass nur autorisierte Benutzer oder Anwendungen auf die gespeicherten Geheimnisse zugreifen können. Beispiele für geheime Tresore sind HashiCorp Vault, Azure Key Vault und AWS Secrets Manager. 

Merkmale des Geheimen Tresors

  • Verschlüsselung im Ruhezustand und bei der Übertragung
  • Feinkörnige Zugriffskontrolle
  • Audit-Protokollierung und Überwachung
  • Schlüsselrotation und Versionierung
  • Integration in bestehende Identitäts- und Zugriffsmanagementsysteme (IAM)

Hardware-Sicherheitsmodule (HSMs) sind dedizierte, manipulationssichere und hochsichere physische Geräte, die kryptografische Schlüssel schützen und verwalten, Ver- und Entschlüsselungsoperationen durchführen und eine sichere Umgebung für die Ausführung sensibler kryptografischer Funktionen bieten. HSMs sind so konzipiert, dass sie sowohl gegen physische als auch logische Angriffe geschützt sind und die Integrität und Vertraulichkeit der gespeicherten Schlüssel gewährleisten. Beispiele für HSMs sind SafeNet Luna HSM, nCipher nShield und AWS CloudHSM.

Hauptmerkmale von HSMs

  • Zertifizierung nach FIPS 140-2 Level 3 oder höher (ein Standard der US-Regierung für kryptografische Module)
  • Sichere Schlüsselerzeugung, -speicherung und -verwaltung
  • Hardware-basierte Zufallszahlengenerierung
  • Manipulationserkennung und -schutz
  • Unterstützung für eine Vielzahl von kryptographischen Algorithmen

Sowohl geheime Tresore als auch HSMs zielen darauf ab, eine sichere Lösung für die Speicherung von Identitäten zu bieten, die das Risiko von unbefugtem Zugriff, Datenverletzungen und anderen Sicherheitsvorfällen verringert. Die Auswahl hängt von Faktoren wie den Anforderungen an die Sicherheit, dem Budget und dem Integrationsbedarf ab.

UEBA bezieht sich auf eine Reihe von Anomalienrichtlinien zur Erkennung abweichender Benutzeraktivitäten, wie z.B. die Anmeldung eines Benutzers von einem unbekannten Standort aus, aufeinanderfolgende Anmeldeversuche von weit entfernten geografischen Standorten aus und die Erstellung einer gewöhnlich großen Anzahl von Rechenressourcen.
Next What Is Container Orchestration?