Was ist Container-Sicherheit?

tball

Container-Sicherheit ist der Prozess der Implementierung von Sicherheitstools und -richtlinien, um sicherzustellen, dass alles in Ihrem Container wie vorgesehen funktioniert. Dazu gehört der Schutz der Infrastruktur, der Software-Lieferkette, der Laufzeitumgebung und sämtlicher Elemente dazwischen.

Vorteile von Containern

Container Security bietet viele Vorteile:

Sie verändert die Anwendungsbereitstellung, indem sie Geschwindigkeit, Ressourceneffizienz und Skalierbarkeit verbessert. Sie kann auch Anwendungen und ihre Abhängigkeiten verkapseln, was die Bereitstellung beschleunigt und die Effizienz der Nutzung von Systemressourcen verbessert.

Sie lässt sich leicht nach oben oder unten skalieren und eignet sich daher ideal für dynamische Workloads. Einer der wichtigsten Vorteile von Containern ist ihre Portabilität in verschiedenen Umgebungen und Plattformen. Dadurch können Anwendungen konsistent ausgeführt werden, unabhängig davon, wo sie bereitgestellt werden, vor Ort, in der Cloud oder in hybriden Umgebungen.

Durch die Aufrechterhaltung einheitlicher Umgebungen beseitigt Containersicherheit das Problem „sie funktioniert auf meiner Maschine“, was zu effizientesten Übergängen und zuverlässigeren Bereitstellungen führt.

Container-Sicherheitslebenszyklus

Sicherheit für Ihre Container in allen Phasen ihres Lebenszyklus

  • Beim Deployment: Richtlinienbasierte Bereitstellungskontrolle stellt sicher, dass Container-Images nur ausgeführt werden, wenn sie die von Ihnen definierten Sicherheitskriterien erfüllen.
  • Nach dem Deployment: Kontinuierliche Compliance ermöglicht es, Ihre Container nach der Bereitstellung regelmäßig zu scannen.
  • Zur Laufzeit: Runtime Security bietet Transparenz über alle Container-Aktivitäten, die gegen eine anpassbare Regelmenge verstoßen.
What is Container Security

Warum ist Container Security wichtig?

Container-Sicherheit ist ein kontinuierlicher Prozess. Sie sollte in Ihren Entwicklungsprozess integriert und automatisiert sein, damit Sie möglichst wenig manuell eingreifen müssen. Außerdem sollte sie auch die Wartung und den Betrieb der zugrunde liegenden Infrastruktur einschließen. Das bedeutet, dass Sie die Container-Images in der Build-Pipeline und die Host-, Plattform- und Anwendungsebenen in der Laufzeitumgebung schützen müssen. Die Implementierung von Sicherheit als Teil des kontinuierlichen Bereitstellungszyklus bedeutet, dass Ihr Unternehmen Risiken mindert und Schwachstellen in einer stetig wachsenden Angriffsfläche reduziert.

Kernthemen beim Schutz von Containern sind:

  • Sicherheit des Container-Hosts
  • Container-Netzwerkdatenverkehr
  • Sicherheit Ihrer Anwendung innerhalb des Containers
  • Bösartige Verhaltensweisen innerhalb Ihrer Anwendung
  • Sicherheit für Ihren Container-Management-Stack
  • Basisebenen Ihrer Anwendung
  • Integrität der Build-Pipeline
Illustration of main concerns

Das Ziel der Cybersicherheit ist es, sicherzustellen, dass alles, was Sie entwickeln, kontinuierlich und ausschließlich funktioniert wie vorgesehen.

So sichern Sie einen Behälter

Der Schutz des Hosts beginnt mit der Auswahl des verwendeten Betriebssystems. Wann immer möglich, sollten Sie ein verteiltes Betriebssystem verwenden, das für die Ausführung von Containern optimiert ist. Wenn Sie Standard-Distributionen von Linux® oder Microsoft® Windows® verwenden, sollten Sie Services, die nicht notwendig sind, deaktivieren oder entfernen und das Betriebssystem allgemein härten. Ergänzen Sie anschließend eine Ebene mit Sicherheits- und Überwachungstools, um sicherzustellen, dass Ihr Host funktioniert wie erwartet. Tools wie eine Applikationskontrolle oder ein Intrusion Prevention System (IPS) sind in diesem Fall sehr hilfreich.

Wenn Ihr Container in der Produktion eingesetzt wird, muss er mit anderen Containern und Ressourcen interagieren. Dieser interne Datenverkehr muss überwacht und geschützt werden, indem Sie den gesamten Netzwerkdatenverkehr aus Ihren Containern über ein IPS leiten. Das verändert die Art und Weise, wie Sie Sicherheitskontrollen verwenden. Statt eine kleine Zahl sehr großer herkömmlicher IPS-Engines im Perimeter einzusetzen, implementieren Sie das IPS auf jedem einzelnen Host. Das ermöglicht Ihnen, den gesamten Verkehr wirksam zu überwachen, ohne die Leistung wesentlich zu beeinträchtigen.

Wenn Ihr Container in der Produktion eingesetzt wird, verarbeitet er fortwährend Daten für Ihre Anwendung, generiert Protokolldateien, speichert Dateien im Cache usw. Sicherheitskontrollen können mit gewährleisten, dass es sich dabei um gewöhnliche und nicht um bösartige Aktivitäten handelt. Die Anti-Malware-Kontrollen, die in Echtzeit auf den Inhalt des Containers ausgeführt werden, sind für den Erfolg entscheidend.

Auch hier spielt ein IPS eine wichtige Rolle, und zwar in Form eines Nutzungsmusters, das unter der Bezeichnung „virtuelles Patching“ bekannt ist. Wird remote eine Sicherheitslücke erkannt, kann die IPS-Engine Versuche erkennen, diese auszunutzen, und Pakete ausgeben, die Ihre Anwendung schützen. Dies verschafft Ihnen die Zeit, die Sie brauchen, um die Ursache in der nächsten Version dieses Containers zu beheben, statt eine Notlösung zu forcieren.

Folgende Lösungen verwenden viele Unternehmen für ihre Container: Docker®, Kubernetes®, Amazon Web Services™ (AWS) und Microsoft®.

Sicherheit für Docker

Bevor Sie mit dem Schutz Ihrer Container beginnen, sollten Sie die großen Namen in diesem Bereich kennen. Docker, ein führender Anbieter auf dem Markt für Container-Lösungen, bietet eine Container-Plattform für die Entwicklung, Verwaltung und Sicherung von Anwendungen. Mit Docker können Kunden traditionelle Anwendungen und die neuesten Microservices überall bereitstellen. Wie bei jeder anderen Container-Plattform müssen Sie für einen angemessenen Schutz sorgen. Lesen Sie mehr über  Container-Sicherheit für Docker.

Sicherheit für Kubernetes

Kubernetes ist der nächste wichtige Anbieter, den Sie kennen sollten. Kubernetes bietet eine portierbare und erweiterbare Open-Source-Plattform für die Verarbeitung von Container-Workloads und -Services. Auch wenn Kubernetes Sicherheitsfunktionen bereitstellt, brauchen Sie eine dedizierte Sicherheitslösung, die Sie schützt. Kubernetes-Cluster werden immer häufiger angegriffen. Lesen Sie mehr über die Sicherheitslösungen für Kubernetes.

Amazon Web Services und Container-Sicherheit

Der nächste Blick gilt Amazon Web Services (AWS). AWS versteht, dass Container notwendig sind. Sie versetzen Entwickler in die Lage, Anwendungen schneller und konsistenter bereitzustellen. Aus diesem Grund bietet AWS den Amazon Elastic Container Service (Amazon ECS) an, einen skalierbaren, leistungsstarken Service zur Orchestrierung von Containern. Er unterstützt Docker-Container. Dadurch entfällt die Notwendigkeit, eigene virtuelle Server und die eigene Container-Umgebung zu verwalten. Sie können containerisierte Anwendungen von AWS ganz einfach ausführen und skalieren. Aber wie bei den anderen oben genannten Hauptakteuren benötigen Sie Sicherheit, um alle Vorteile dieses Dienstes nutzen zu können. Lesen Sie mehr über  Container-Sicherheit für AWS.

Sicherheit für Microsoft Azure Container Instances

Zu guter Letzt geht es um Microsoft® Azure™ Container Instances (ACI). Mit dieser Lösung können Entwickler Container in der Microsoft® Azure™ Public Cloud bereitstellen, ohne eine zugrunde liegende Infrastruktur betreiben oder verwalten zu müssen. Sie können einfach einen neuen Container über das Portal von Microsoft® Azure™ einrichten, wo Microsoft dann automatisch die zugrunde liegenden Computerressourcen bereitstellt und skaliert. Azure Container Instances ermöglicht eine hohe Geschwindigkeit und Agilität, muss aber gesichert werden, wenn man alle Vorteile richtig nutzen will. Lesen Sie mehr über die Sicherheit von Microsoft Azure Container Instances.

Nachdem Sie die wichtigsten Akteure kennen, geht es darum, wie Sie diese sichern können.

Schutz des Hosts

Der Schutz des Hosts beginnt mit der Auswahl des verwendeten Betriebssystems. Wann immer möglich, sollten Sie ein verteiltes Betriebssystem verwenden, das für die Ausführung von Containern optimiert ist. Wenn Sie Standard-Linux®-Distributionen oder Microsoft® Windows® verwenden, sollten Sie sicherstellen, dass Sie unnötige Dienste deaktivieren oder entfernen und das Betriebssystem insgesamt absichern. Ergänzen Sie anschließend eine Ebene mit Sicherheits- und Überwachungstools, um sicherzustellen, dass Ihr Host funktioniert wie erwartet. Tools wie eine Applikationskontrolle oder ein Intrusion Prevention System (IPS) sind in diesem Fall sehr hilfreich.

Wenn Ihr Container in der Produktion eingesetzt wird, muss er mit anderen Containern und Ressourcen interagieren. Dieser interne Datenverkehr muss überwacht und geschützt werden, indem Sie den gesamten Netzwerkdatenverkehr aus Ihren Containern über ein IPS leiten. Das verändert die Art und Weise, wie Sie Sicherheitskontrollen verwenden. Statt eine kleine Zahl sehr großer herkömmlicher IPS-Engines im Perimeter einzusetzen, implementieren Sie das IPS auf jedem einzelnen Host. Dadurch können Sie den gesamten Verkehr wirksam überwachen, ohne die Leistung wesentlich zu beeinträchtigen.

Schutz der Anwendung im Container

Wenn Ihr Container in der Produktion eingesetzt wird, verarbeitet er fortwährend Daten für Ihre Anwendung, generiert Protokolldateien, speichert Dateien im Cache und so weiter. Sicherheitskontrollen können mit gewährleisten, dass es sich dabei um gewöhnliche und nicht um bösartige Aktivitäten handelt. Die Echtzeit-Kontrollen zum Schutz vor Malware, die auf die Inhalte im Container angewendet werden, sind entscheidend für den Erfolg.

Auch hier spielt ein IPS eine Rolle, und zwar in einem Anwendungsmuster, das als virtuelles Patchen bezeichnet wird. Wird aus der Ferne eine Sicherheitslücke erkannt, kann die IPS-Engine Versuche erkennen, diese auszunutzen, und Pakete verwerfen, um Ihre Anwendung schützen. Dadurch gewinnen Sie Zeit, um die Ursache in der nächsten Version dieses Containers zu beheben, statt eine Notlösung zu forcieren.

Überwachung Ihrer Anwendung

Wenn Sie Ihre Anwendung in einem Container bereitstellen, kann eine RASP-Sicherheitskontrolle (Runtime Application Self-Protection) hilfreich sein. Diese Sicherheitskontrollen werden innerhalb Ihres Anwendungscodes ausgeführt und fangen häufig wichtige Aufrufe in Ihrem Code ab oder hängen sich daran an. RASP bietet nicht nur Sicherheitsfunktionen wie die SQL-Überwachung (Structured Query Language), Abhängigkeitsprüfung und -behebung, URL-Überprüfung und andere Kontrollen. Es kann auch eine der größten Herausforderungen im Bereich Sicherheit lösen: die Identifizierung der Grundursache.

Da sie innerhalb des Anwendungscodes positioniert sind, können diese Sicherheitskontrollen helfen, die Verbindung zwischen einem Sicherheitsproblem und der Codezeile herzustellen, die das Sicherheitsproblem verursacht. Dieser Grad an Intelligenz ist nur schwer zu übertreffen und verbessert Ihre Sicherheitslage deutlich.

Sicherheit für Ihren Container-Management-Stack

Aus Sicht der Sicherheit wird der Management-Stack, der bei der Koordination Ihrer Container hilft, oft übersehen. Jedes Unternehme, das es mit dem Einsatz von Containern ernst meint, braucht letzten Endes zwei kritische Infrastrukturkomponenten, die beim Management des Prozesses helfen: eine Container-Registry für Datenschutz, wie Amazon ECS, und Kubernetes, um den Einsatz von Containern zu orchestrieren.

Die Kombination aus Container-Registry und Kubernetes ermöglicht Ihnen, vor – und während – der erneuten Bereitstellung in Ihrer Umgebung automatisch festgelegte Qualitäts- und Sicherheitsstandards durchzusetzen.

Registrys vereinfachen die gemeinsame Nutzung von Containern und helfen den Teams, auf den Ergebnissen anderer aufzubauen. Um sicherzustellen, dass jeder einzelne Container Ihre Entwicklungs- und Sicherheitsstandards erfüllt, benötigen Sie jedoch einen automatisierten Scanner. Wenn Sie die einzelnen Container auf bekannte Sicherheitslücken, Malware und exponierte Geheimnisse scannen, bevor sie in der Registry verfügbar sind, können Sie nachgelagerte Probleme reduzieren.

Zusätzlich sollten Sie sicherstellen, dass die Registry gut geschützt ist. Sie sollte auf einem gehärteten System oder einem sehr seriösen Cloud-Service betrieben werden. Auch wenn Sie auf ein Service-Szenario setzen, müssen Sie das Modell der geteilten Verantwortung verstehen und einen starken rollenbasierten Ansatz für den Zugriff auf die Registry implementieren.

Was die Orchestrierung angeht, bietet Kubernetes, sobald es in Ihrer Umgebung ausgeführt und bereitgestellt wird, eine Reihe bedeutender Vorteile. Sie tragen dazu bei, dass Ihre Teams das Beste aus Ihrer Umgebung herausholen können. Kubernetes bietet auch die Möglichkeit, eine Reihe von Betriebs- und Sicherheitskontrollen zu implementieren, etwa Richtlinien für die Sicherheit von Pods (Cluster-Level-Ressourcen) und für  Netzwerksicherheit. So können Sie verschiedene Optionen durchsetzen, um Ihre Risikotoleranz zu erfüllen.

Entwicklung Ihrer Anwendung auf einer sicheren Grundlage: Container-Scanning

Sie sollten einen Workflow für das Scannen von Container-Images einrichten, um sicherzustellen, dass die Container, die Sie als Komponenten verwenden, zuverlässig und vor häufigen Bedrohungen geschützt sind. Im Rahmen dieses Workflows scannen Tools die Inhalte eines Containers und suchen nach Problemen, bevor der betreffende Container als Baustein für Ihre Anwendung verwendet wird. Vor der Bereitstellung des Containers in der Produktion werden außerdem abschließende Prüfungen durchgeführt.

Bei korrekter Implementierung wird das Scannen zu einem natürlichen Bestandteil des Kodierungsprozesses. Es ist ein vollautomatisierter Prozess, der schnell und einfach Probleme aufdeckt, während Sie Ihre Anwendung und deren Container entwickeln. 

Sicherstellung der Integrität der Build-Pipeline

Angreifer verlagern zurzeit ihre Angriffe auf frühere Phasen Ihrer Pipeline für kontinuierliche Integration und Bereitstellung (CI/CD). Wenn ein Angriff auf Ihren Build-Server, Ihr Code-Repository oder Ihre Entwickler-Workstations erfolgreich ist, kann sich der jeweilige Angreifer deutlich länger in Ihrer Umgebung aufhalten. Daher benötigen Sie eine Reihe starker Sicherheitskontrollen, die kontinuierlich aktualisiert werden.

Sie müssen für die gesamte Pipeline eine robuste Strategie für die Zugriffskontrolle implementieren, vom Code-Repository und der Verzweigungsstrategie bis hin zum Container-Repository. Bauen Sie dabei auf das Prinzip der geringsten Privilegien – das heißt, Sie dürfen den Zugriff nur in dem Ausmaß erteilen, der für die Ausführung der jeweiligen Aufgaben erforderlich ist. Dieser Zugriff muss regelmäßig überprüft werden.

Illustration of devops

Verbindung der einzelnen Elemente

Der Schutz Ihrer Container erfordert ein umfassendes Sicherheitsmodell. Sie müssen sicherstellen, dass Sie die Bedürfnisse aller Teams in Ihrem Unternehmen berücksichtigen. Vergewissern Sie sich, dass Ihr Ansatz automatisiert und so an Ihre DevOps-Prozesse angepasst werden kann, dass Sie außerdem Fristen einhalten und Anwendungen schnell bereitstellen können, während Sie die einzelnen Gruppen schützen. Das Team für Sicherheit darf nicht länger außen vor gelassen werden oder in letzter Minute auftauchen und Änderungen Ihres Workflows fordern. Wenn Sie von Anfang an zuverlässige Sicherheitskontrollen und automatisierte Prozesse integrieren, zerstreuen Sie Sicherheitsbedenken und können die Lücken zwischen den verschiedenen Teams leichter schließen. 

Hilfeangebote im Bereich Container-Sicherheit

Der Schutz Ihrer Container erfordert ein umfassendes Sicherheitsmodell. Sie müssen sicherstellen, dass Sie die Bedürfnisse aller Teams in Ihrem Unternehmen berücksichtigen. Vergewissern Sie sich, dass Ihr Ansatz automatisiert und an Ihre DevOps-Prozesse angepasst werden kann. So können Sie Termine einhalten, Anwendungen schnell bereitstellen und gleichzeitig die einzelnen Gruppen schützen. Das Team für Sicherheit darf nicht länger außen vor gelassen werden oder in letzter Minute auftauchen und Änderungen Ihres Workflows fordern. Mit Trend Vision One™ Container Security können Sie Sicherheitsrichtlinien und Laufzeit-Scan-Regelsätze konfigurieren, die Erkennung von Schwachstellen und Sicherheitsereignisse überwachen und den Artefakt-Scanner für das Scannen Ihrer Kubernetes-Cluster vor der Laufzeit verwenden. Wenn Sie von Anfang an zuverlässige Sicherheitskontrollen und automatisierte Prozesse integrieren, zerstreuen Sie Sicherheitsbedenken und können die Lücken zwischen den verschiedenen Teams leichter schließen. 

fernando

Vice President of Product Management

pen

Fernando Cardoso ist Vice President of Product Management bei Trend Micro. Er konzentriert sich auf die hoch dynamische Welt der KI und Cloud. Seine Laufbahn begann er als Network und Sales Engineer. In dieser Zeit entwickelte er seine Kompetenzen in den Bereichen Rechenzentren, Cloud, DevOps und Cybersicherheit weiter – Bereiche, denen nach wie vor seine Leidenschaft gilt.

Häufig gestellte Fragen (FAQs)

Expand all Hide all

Was ist ein Container in der Container-Sicherheit?

add

Container sind eine Virtualisierungstechnologie, die eine Anwendung und ihre Abhängigkeiten (Code, Laufzeit, Systemtools, Bibliotheken und Einstellungen) in einer einzigen, portablen Einheit vereint.

Was ist die Abkürzung für Container-Sicherheit?

add

Die in der Container-Sicherheit am häufigsten verwendeten Akronyme sind „Common Vulnerabilities and Exposures“ (CVEs) und „Continuous Integration/Continuous Deployment“ (CI/CD).

Wie lässt sich ein Container am besten sichern?

add

Die besten Möglichkeiten, einen Container zu sichern, sind: a) sicher zu sein, was sich im Container befindet; b) einen Zero-Trust-Sicherheitsansatz zu verfolgen; und c) die Umgebung kontinuierlich zu überwachen.

Wie funktioniert Container-Sicherheit?

add

Container-Sicherheit nutzt eine Vielzahl von Tools und Technologien, um containerisierte Anwendungen in jeder Phase ihres Lebenszyklus, von der Entwicklung bis zur Laufzeit, zu schützen.

Was sind die drei grundlegenden Anforderungen an die Container-Sicherheit?

add

Die drei grundlegenden Schritte zur Sicherung eines Containers sind: Sicherung der Entwicklungsumgebung, Sicherung der zugrunde liegenden Hosts und Sicherung der Anwendung innerhalb des Containers.

Was sind die 4 Cs der Kubernetes-Sicherheit?

add

Die vier Cs der Container-Sicherheit von Kubernetes sind Cloud, Container, Cluster und Code. Zusammen bilden diese einen vierstufigen Ansatz zur Sicherung einer Kubernetes- Container-Umgebung.

Wie lässt sich Container-Sicherheit gewährleisten?

add

Zu den Best Practices für die Container-Sicherheit gehören die Sicherung des Container-Hosts, die Sicherung der Anwendung innerhalb des Containers und die Überwachung der Laufzeitumgebung.

Welches Tool wird für Container-Sicherheit verwendet?

add

Container-Sicherheit umfasst verschiedene Tools, darunter Image-Scanner, Tools zur Schwachstellenanalyse, Konfigurations- und Compliance-Tools sowie Netzwerk- und Laufzeit-Tools.

Wie lässt sich das Driften von Containern am besten verhindern?

add

Ein Abdriften lässt sich in der Container-Sicherheit am besten verhindern, indem die Anwendung, die den Container nutzt, nach dessen Inbetriebnahme kontinuierlich überwacht wird.

Was ist ein grundlegendes Element der Container-Sicherheit?

add

Die grundlegenden Bausteine der Container-Sicherheit sind die Sicherung der Entwicklung, die Sicherung von Hosts, die Sicherung von Images und Anwendungen sowie die Laufzeitüberwachung.