/
Zero-Trust-Segmentierung

Containersicherheit — Eine neue Grenze (Teil 2)

Eine zweiteilige Blogserie über Überlegungen zur sicheren Nutzung von Containern.

Containersicherheit mit einer neuen Dimension

Wir haben die Sicherheitsherausforderungen beschrieben, die Container mit sich bringen können in unserem ersten Blogbeitrag. Dies wirft Fragen auf, wie wir über die Sicherheit von Containern nachdenken sollten.

Wir sind der Meinung, dass wir mit dem Rat von Kubernetes beginnen (und darauf aufbauen) sollten, einen mehrschichtigen, tiefgreifenden Defense-Ansatz zu verwenden, der vier Cs berücksichtigt: Cloud, Cluster, Container und Code. Wir sind auch der Meinung, dass wir darüber nachdenken sollten, wie Bedrohungen, die Container gefährden, durch Segmentierung eingedämmt werden können.

Da dies der Fall ist, schlagen wir die Eindämmung als fünftes C vor.

Wir haben bereits die Notwendigkeit erörtert, die Container nicht nur zu sichern, sondern auch sicherzustellen, dass sie nicht ausgenutzt und als Brückenkopf verwendet werden können, um sich seitlich innerhalb eines Rechenzentrums zu bewegen. An dieser Stelle kommt die Notwendigkeit der Eindämmung ins Spiel.

Schauen wir uns die ersten Kubernetes-Leitlinien zu den 4 Cs an und besprechen wir dann die Eindämmung.

Behälter

Um Software in Kubernetes ausführen zu können, muss sie sich in einem Container befinden. Aus diesem Grund gibt es bestimmte allgemeine Sicherheitsüberlegungen, die Kubernetes skizziert:

  • Scan: Scannen Sie Ihre Container nach bekannten Sicherheitslücken. Tools wie Clair von CoreOS können hilfreich sein.
  • Container-Images signieren: Sorgen Sie mithilfe von Docker Content Trust, das in die Docker Engine integriert ist, für Vertrauen in den Containerinhalt. Das Portieris-Projekt von IBM kann als Zugangscontroller verwendet werden, um das Vertrauen von Inhalten für korrekt signierte Bilder durchzusetzen.
  • Benutzerrechte kontrollieren: Versuchen Sie, innerhalb der Container Benutzer zu erstellen, die über die geringsten Betriebssystemberechtigungen verfügen, die erforderlich sind, um das Ziel des Containers zu erreichen. 

Kode

Bei der Untersuchung der Anwendungscode-Ebene weist die Kubernetes-Anleitung auf einige Punkte hin:

  • Zugriff nur über TLS zulassen: Verschlüsseln Sie standardmäßig alles, was übertragen wird, auch zwischen Netzwerkdiensten hinter der Firewall.
  • Beschränken Sie die Portbereiche der Kommunikation: Stellen Sie nur die Ports Ihres Dienstes zur Verfügung, die unbedingt erforderlich sind.
  • Analysieren Sie statischen Code: Analysieren Sie den Code auf potenziell unsichere Codierungspraktiken.
  • Test auf dynamische Sondierungsangriffe: Verwenden OWASP-Werkzeuge um gängige Angriffe wie SQL Injection, CSRF usw. zu automatisieren

Wolke

Jeder Cloud-Anbieter gibt umfangreiche Empfehlungen zur Ausführung von Container-Workloads auf seiner Cloud-Infrastruktur. Die Sicherheitsangebote können für verschiedene Cloud-Anbieter unterschiedlich sein, und die Benutzer müssen diese Empfehlungen genau befolgen. Links zu beliebten Cloud-Anbietern und Sicherheitsempfehlungen finden Sie unter https://kubernetes.io/docs/concepts/security/#the-4c-s-of-cloud-native-security.

Zu den allgemeinen Leitlinien gehören:

  • Netzwerkzugriff einschränken: Die meisten Cloud-Sicherheitsanbieter bieten Netzwerksicherheit mithilfe von Zugriffskontrolllisten — AWS stellt beispielsweise Sicherheitsgruppen bereit, mit denen Workloads in Gruppen aufgeteilt werden können, und die Konfiguration von ACLs pro Gruppe ermöglicht.
  • API-Zugriff einschränken: Idealerweise sollten nur die Server, die für die Verwaltung eines Clusters erforderlich sind, Zugriff auf API-Server haben.
  • Beschränken Sie den Zugriff auf Kubernetes-Cluster-APIs: Es empfiehlt sich, dem Cluster einen Cloud-Provider-Zugriff zu gewähren, der den Prinzip der geringsten Privilegien für die Ressourcen, die es verwalten muss. Ein Beispiel für Kops in AWS finden Sie hier: https://github.com/kubernetes/kops/blob/master/docs/iam_roles.md#iam-roles.
  • Zugriff auf 'etcd' einschränken: In diesem Verzeichnis befinden sich die Cloud-Konfigurationsdateien für Kubernetes. Verwenden Sie immer TLS, um auf diese Dateien zuzugreifen und Änderungen daran vorzunehmen.
  • Verschlüsseln Sie alle Laufwerke, insbesondere etcd-Laufwerke: Verhindern Sie, dass unbefugte Benutzer wichtige Konfigurationsdateien und Datenspeicher Ihres Kubernetes-Clusters einsehen.

Cluster

  • Beschränken Sie den Zugriff auf die Kubernetes-API auf den Cluster mit RBAC.
  • Authentifizieren Sie den gesamten Zugriff auf die API, die den Cluster steuert.
  • Verschlüsseln Sie alle vom Cluster verwendeten geheimen Schlüssel, einschließlich aller Daten in etcd.
  • Kontrollieren Sie die Sicherheitsaspekte von Pods: Pod-Sicherheitsobjekte definieren eine Reihe von Bedingungen, unter denen ein Pod ausgeführt werden muss, um in das System aufgenommen zu werden.
  • Kontrollieren Sie die Ressourcenauslastung: Die Kubernetes-Knoten, auf denen Ihre Anwendung ausgeführt wird, sind in Bezug auf Zuverlässigkeit und Ressourcenausgleich voneinander abhängig. Daher sollte es Richtlinien geben, die die Menge der von diesen Knoten verwendeten Ressourcen einschränken.
  • Steuern Sie alle Netzwerkrichtlinien für Pods mithilfe von Zugriffskontrolllisten. Dies sind die Sicherheitsrichtlinien für Nord-Süd. Informationen zu den Richtlinien innerhalb des Rechenzentrums finden Sie weiter unten unter Eindämmung.
  • Beschränken Sie den gesamten eingehenden Zugriff auf TLS.

Eindämmung

Damit sind wir bei der fünften Stufe der Eindämmung angelangt, die die Ausbreitung von Sicherheitslücken verhindert, die von einem Container aus initiiert werden. Bei der Eindämmung sollten einige Dinge berücksichtigt werden, damit sie am effektivsten sind:

  • Entdecken Sie Container, die in Echtzeit neu erstellt wurden.
  • Ermöglichen Sie eine automatische Segmentierung für neue Container-Workloads, sodass die Sicherheit automatisch „bei der Geburt“ vorhanden ist.
  • Zentralisieren Sie die Sichtbarkeit von Containern zusammen mit anderen Rechenumgebungen, um einen einzigen Überblick über containerisierte Workloads und Bare-Metal-Workloads, virtuelle Maschinen sowie private und öffentliche Clouds zu erhalten — denn was Sie nicht sehen, können Sie nicht schützen.
  • Setzen Sie einheitliche Richtlinien für Container — und alles andere — durch, sodass Sie unabhängig von der Umgebung mit einheitlichen Richtlinien segmentieren. Dadurch werden mehrere Einzeltools für die Segmentierung von VMs, Bare-Metal-Servern, Clouds und Containern vermieden.

Mit einem umfassenden Ansatz zur umfassenden Verteidigung von Containern können sich Unternehmen darauf verlassen, dass Container sicher sind, dass Container sicher sind, sodass sie sie mit noch größerer Zuversicht einsetzen können.

Verwandte Themen

Keine Artikel gefunden.

In Verbindung stehende Artikel

Das Zero-Trust-Memo der Federal OMB informiert die Behörden über Fristen
Zero-Trust-Segmentierung

Das Zero-Trust-Memo der Federal OMB informiert die Behörden über Fristen

Im Mai 2021 erließ die Biden-Regierung die Executive Order 14028 zur Verbesserung der Cybersicherheit der Nation nach den Angriffen von SolarWinds und Colonial Pipeline.

Vereinfachen Sie SDN- und Firewall-Bereitstellungen mit hostbasierter Mikrosegmentierung
Zero-Trust-Segmentierung

Vereinfachen Sie SDN- und Firewall-Bereitstellungen mit hostbasierter Mikrosegmentierung

Software-Defined Networking (SDN) und Segmentierung werden oft gleichzeitig besprochen, da beide der Automatisierung Priorität einräumen.

Fragen und Antworten von Experten: Wie kann sich das Gesundheitswesen auf zunehmende Cyberbedrohungen vorbereiten?
Zero-Trust-Segmentierung

Fragen und Antworten von Experten: Wie kann sich das Gesundheitswesen auf zunehmende Cyberbedrohungen vorbereiten?

In diesem Q & A mit Trevor Dearing von Illumio erfahren Sie, welche Schritte Ihre Gesundheitsorganisation unternehmen kann, um gegen Cyberangriffe geschützt zu sein.

Keine Artikel gefunden.

Gehen Sie von einem Verstoß aus.
Auswirkungen minimieren.
Erhöhen Sie die Widerstandsfähigkeit.

Sind Sie bereit, mehr über Zero-Trust-Segmentierung zu erfahren?