Weltweit führend bei Datenresilienz
Hinweise von Veeam für Kunden, die vom Content-Update von CrowdStrike betroffen sind

Was ist Containersicherheit?

Containersicherheit bezieht sich auf das Set an Tools und Sicherheitsprozessen, die zum Sichern von Container-Workloads verwendet werden. Dazu gehört die Sicherung von Images in Containern, des Containers selbst und von Container-Orchestrierungsplattformen wie Kubernetes, AWS ECS und Red Hat OpenShift Container Platform. Obwohl Container bestimmte Schutzfunktionen enthalten, bleiben sie anfällig für Angriffe. Weitere Aspekte der Containersicherheit, die zu berücksichtigen sind, sind das Erstellen sicherer Container und das Einrichten einer geschützten Laufzeitumgebung. Neben der aktiven Sicherung von Containern ist es wichtig, robuste Prozesse für die Sicherung und Wiederherstellung von Kubernetes und anderen Containerservices einzuführen.

Container

Ein Container ist eine Standard-Softwareeinheit, die Code und alle seine Abhängigkeiten bündelt, sodass die Anwendung schnell und zuverlässig von einer Computerumgebung in eine andere ausgeführt wird. Container nutzen den BS-Kernel des Computers und benötigen daher kein Betriebssystem pro Anwendung, was zu mehr Servereffizienz führt und die Server- und Lizenzierungskosten senkt. Entwickler nutzen diese Möglichkeit, um Microservices und andere Anwendungen innerhalb eines virtuellen Containers auszuführen, isoliert von anderen Anwendungen auf einem Server oder Computer. Im Gegensatz zu virtuellen Maschinen (VMs) sind Container portierbar und können in jeder Umgebung ausgeführt werden, die über einen Daemon-Service verfügt, der den Containertyp unterstützt. Während Docker die beliebteste Container-Technologie ist, gibt es zahlreiche andere Typen, einschließlich des ursprünglichen LXC-Linux-Containers.

Orchestrierungs-Plattformen

Obwohl Container unabhängig voneinander ausgeführt werden können, werden zum Verwalten und Konfigurieren häufig bestimmte Softwareplattformen verwendet, insbesondere wenn mit mehreren Containern gearbeitet wird. Gängige Beispiele für diese Plattformen sind Kubernetes, AWS Elastic Container Service und Docker Swarm.

Warum ist die Sicherheit von Containern wichtig?

Obwohl Container Anwendungen isolieren und ein gewisses Maß an Sicherheit bieten, sind sie dennoch anfällig für Cyberangriffe. Zu den Eintrittspunkten gehören kompromittierte Images, eine unzureichende Zugriffskontrolle und eine unzureichende Isolierung zwischen Containern und Host-Software. Ein anderer gängiger Ansatz für Hacker sind kompromittierte Images von Drittanbietern, die als Container-Bausteine verwendet werden. Ein Container-Image ist eine statische ausführbare Datei, die Bibliotheken, Tools und Software enthält, die zum Erstellen eines Containers erforderlich sind, und besteht häufig aus mehreren Ebenen auf einem Basisimage. Ein gehacktes Image, das in mehreren Containern verwendet wird, kann ernsthaften Schaden anrichten.

Ein weiterer Faktor ist, wo und wie der Container seine Daten speichert. Anfangs waren Container temporär; sie wurden ausgeführt, ohne Zustandsdaten zu speichern, und hinterließen keine Spuren, wenn sie geschlossen wurden. Das Host-Betriebssystem speichert persistente Daten. Da Entwickler jedoch Container verwenden, um herkömmliche und andere Anwendungen, die nicht für die Containerisierung geschrieben wurden, zu unterteilen, müssen Zustandsdaten gespeichert werden (Dauerhaftigkeit). Während Docker, Kubernetes und andere Unternehmen Möglichkeiten zur Verwaltung von zustandsabhängigen Containern bieten, ist es von entscheidender Bedeutung, Möglichkeiten zur Wiederherstellung von zustandsabhängigen Containern nach einem Systemausfall mit Hilfe von kontinuierlichen Backups bereitzustellen.

Komponenten der Container-Sicherheit

Die Containersicherheit kann in mehrere Komponenten unterteilt werden, darunter Entwicklung, Build-Umgebung, Laufzeitumgebung und Orchestrierung.

Entwicklung von Containern

Sie sollten sehr sorgfältig darauf achten, dass Software und Images, die bei der Containerentwicklung verwendet werden, gut geschrieben sind und keine Schwachstellen, Konfigurationsfehler oder Malware enthalten. Image-Register müssen sicher sein und dürfen nur vertrauenswürdige Images enthalten. Verwenden Sie immer Container-Scanning-Tools, um nach Schwachstellen zu suchen und die Speicherung von veralteten oder nicht mehr aktuellen Images zu vermeiden.

Container-Build-Umgebung

Die Build-Umgebung muss absolut sicher sein. Entwickler sollten automatisierte Tools einsetzen, um die verwendeten Komponenten zu überprüfen, und vorzugsweise automatisierte CI/CD-Pipelines einführen, die das Risiko minimieren und die Transparenz erhöhen.

Laufzeitumgebung

Die Laufzeitumgebung muss mit strengen Zugriffskontrollprotokollen vorschriftsmäßig abgesichert werden. Die Verwendung automatisierter Sicherheitsrichtlinien zur Überprüfung auf Verstöße und Schwachstellen kann dazu beitragen, Sicherheitsrisiken zu minimieren. Container selbst sollten mit der minimal erforderlichen Anzahl von Berechtigungen ausgeführt werden, um die Möglichkeit für Angreifer zu verringern, einen Container mit erhöhten Rechten zu nutzen, um Host-Kontrolle zu erlangen.

Orchestrierung und Infrastruktur

Die Orchestrierung von Containern mit Plattformen wie Kubernetes ist nicht einfach. Es ist wichtig, die Sicherheit des Host-Betriebssystems zu gewährleisten und stets die Best Practices mit den Tools der Orchestrierungsplattform zu befolgen. Gewährleisten Sie außerdem, dass die Server- und Netzwerkinfrastruktur sicher ist.

Vorteile der Container-Sicherheit

Die Vorteile einer zuverlässigen Container-Sicherheit erstrecken sich über alle Aspekte der Container-Entwicklung und -Bereitstellung. Eine effektive Container-Sicherheit reduziert Risiken durch Minimierung potenzieller Angriffsflächen. Sie verbessert die Transparenz, erhöht die Integrität der Pipeline und verbessert Systemsicherheit und -verwaltung.

Verringerung der Angriffsfläche

Wirksame Container-Sicherheitsrichtlinien verringern die Angriffsfläche. Diese Richtlinien schränken potenzielle Zugriffspunkte ein, indem sie die Schnittstellen einfach und klein halten. Richtlinien mit geringstmöglichen Berechtigungen, die den Zugriff einschränken, begrenzen die Gefahr von Sicherheitslücken und jeder Container hat seine eigene Sicherheitsgrenze.

Erhöht die Transparenz

Die relative Einfachheit von Containern ermöglicht es Nutzern, Inhalte von Containern zu analysieren und zu überprüfen, insbesondere im Vergleich zu virtuellen Maschinen. Das Scannen von Images und die Verwendung vertrauenswürdiger Images tragen dazu bei, dass die Images „sauber“ sind.

Integrität der Builds-Pipeline

Starke CI/CD-Pipeline-Kontrollen verhindern, dass Hacker auf Register, Workstations und Build-Server zugreifen. Diese sollten durch regelmäßige Audits und automatisierte Schwachstellen-Scans unterstützt werden. Administratoren sollten den Zugriff auf das beschränken, was ausreicht, damit Benutzer ihre Aufgaben erledigen können.

Verbesserung der Gesamtsicherheit

Der Fokus auf dem Schutz von Containern und ihrer unterstützenden Infrastruktur wirkt als Katalysator für allgemeine Verbesserungen der IT-Sicherheit. Beispiele hierfür sind Laufzeit- und Schwachstellenerkennungstools, die speziell für Container konfiguriert wurden. Zusammen mit Standard-Intrusion-Detection-Software und anderen Tools ermöglichen diese die allgemeine Verbesserung der Sicherheit.

Vereinfachte Administration

Effektive Containersicherheit bedeutet, dass es einfacher ist, Container zu verwalten. Entwickler haben weniger Bedenken beim Skalieren von Containeranwendungen. Ein weiterer Vorteil einer guten Container-Sicherheit ist die Verringerung des Zeit- und Arbeitsaufwands für die Verwaltung containerisierter Umgebungen.

So sichern Sie einen Container

Das Sichern von Containern ist ein mehrstufiger Prozess, der das Sichern des Containerimages, das Schützen der Netzwerkumgebung und das Sichern der Buildpipeline umfasst. Weitere Aspekte sind der Schutz cloudbasierter Datenbanken und die Einführung von Container-Backup-Strategien.

Container-Images überprüfen

Wählen Sie sorgfältig Container-Images, insbesondere Basis-Images, aus seriösen Quellen und Registrys aus. Stellen Sie sicher, dass Sie auf den Quellcode der Komponente zugreifen können. Selbst dann ist es am besten, diese Images gründlich zu testen, um Schwachstellen zu finden. Das gleiche Konzept gilt für das Hinzufügen von Anwendungen oder das Ändern von Konfigurationen.

Sichern der Container-Hostinfrastruktur

Verwenden Sie immer ein Containerhost-Betriebssystem, das ein hohes Maß an Containerisolation bietet. Überprüfen Sie die Standardkonfigurationen, um Angriffspunkte zu eliminieren, z. B. um die Zugriffskontrollfunktionen von Kubernetes zu aktivieren. Verwenden Sie Sicherheitsüberwachungstools von Drittanbietern, um die Hostumgebung zu überwachen.

Sichern der Netzwerkumgebung des Containers

Verwenden Sie Webfilter- und Intrusion-Prevention-Systeme, um böswillige Angriffe und Inhalte aus dem Internet zu identifizieren und zu stoppen. Öffnen Sie nur Ports, die für die Anwendung erforderlich sind, und verwenden Sie Transport Layer Security (TLS) zum Verschlüsseln von Daten. Überwachen Sie intern den Netzwerkverkehr zwischen Containern, um ungewöhnliche Aktivitäten zu erkennen, die darauf hindeuten könnten, dass ein Angreifer Fuß gefasst hat. Lassen Sie die Verbindung zwischen Containern nur zu, wenn dies unbedingt erforderlich ist.

Absichern des Management-Stacks

Kontrollieren Sie die Berechtigungen auf Ihrer Container-Host-Plattform sorgfältig. Aktivieren Sie Plattformfunktionen, die die Netzwerksicherheit verbessern, z. B. die Einschränkung des Datenverkehrs zwischen Kubernetes-Pods. Verwenden Sie eine separate, abgesicherte Registry, um die Registry-Sicherheit zu verbessern und sie vor Angriffen zu schützen.

Automatisieren und Sichern der CI/CD-Pipeline-Bereitstellung

Sichern Sie Ihren Buildserver, Ihre Workstations und Ihr Code-Repository, um zu verhindern, dass Angreifer in der Delivery-Pipeline Fuß fassen können. Verwenden Sie Richtlinien für die Zugriffskontrolle nach dem Prinzip der geringsten Rechte und überprüfen Sie diese regelmäßig. Automatisieren Sie die Bereitstellung von Pipelines und verwenden Sie Schwachstellen-Scans, um Sicherheitsprobleme zu kennzeichnen.

Verwendung robuster Container-Backup-Strategien

Sichern Sie Ihre Container und Daten kontinuierlich und testen Sie regelmäßig, ob sich Workloads wiederherstellen lassen. Beachten Sie, dass die wenigsten Container genuin temporär sind. Stellen Sie daher sicher, dass Ihre Backup-Richtlinien auch Container-Backups und Datenbankkomponenten umfassen. Klären Sie, wer für die Backup-Strategien für Container verantwortlich ist.

Best Practices für die Container-Sicherheit

Die enorme Zunahme der Verbreitung von Containern, insbesondere in der Cloud, führt zu einem deutlichen Anstieg von Cybersicherheitsrisiken. Um dieses Risiko zu minimieren, ist es wichtig, Best Practices für die Containersicherheit zu implementieren, darunter:

  • Verwenden Sie vertrauenswürdige Bilder. Untersuchen Sie alle Images auf Schwachstellen. Verwenden Sie nur Images aus vertrauenswürdigen Quellen und überprüfen Sie immer deren Herkunft.
  • Verwenden Sie schlanke und kurzlebige Container. Erhöhen Sie die Sicherheit von Containern, indem Sie die Anzahl der Dateien auf ein Minimum beschränken, ihre Lebensdauer auf einen möglichst kurzen Zeitraum beschränken und Container regelmäßig austauschen.
  • Erstellen Sie eine sichere Laufzeitumgebung. Sorgen Sie für eine sichere Umgebung, indem Sie Container auf einer sicheren Plattform ausführen, Plattformsicherheitsfeatures und -protokolle aktivieren und eine sichere Registry betreiben.
  • Verwenden Sie zuverlässige Zugriffskontrollen. Beschränken Sie den Containerzugriff auf Computing-Ressourcen auf das unbedingt Erforderliche, verwenden Sie eine rollenbasierte Benutzerzugriffssteuerung und begrenzen Sie den Administratorzugriff auf die Erstellung von Infrastruktur.
  • Mischen Sie Container-Anwendungen nicht mit anderen Anwendungen. Halten Sie unternehmenskritische Anwendungen von Container-Hosts getrennt und gruppieren Sie Container entsprechend ihrer Funktion und ihrem Zweck auf separaten Hosts, um im Falle einer Sicherheitsverletzung Kollateralschäden zu minimieren.
  • Führen Sie ein kontinuierliches Monitoring ein. Verwenden Sie Anwendungen zum kontinuierlichen Monitoring, z. B. RASP-Steuerelemente (Runtime Application Self-Protection) und Tools zur Containerlaufzeit sowie Schwachstellen-Tools.

Erste Schritte mit Veeam

Durch das rasante Wachstum von Container-Anwendungen erhöhen sich die potenziellen Schwachstellen für Cyberangriffe erheblich. Denken Sie daran, dass Container eine große infrastrukturelle Veränderung darstellen und herkömmliche Sicherheitslösungen möglicherweise keinen ausreichenden Schutz bieten. Daher ist es wichtig, in Sicherheitslösungen und Best Practices zu investieren, die darauf abzielen, die Sicherheit von Containern zu verbessern. Außerdem sollten Sie stets Backup-Software nutzen, die speziell für Container-Infrastrukturen entwickelt wurde. Veeam bietet verschiedene speziell entwickelte, benutzerfreundliche Datenmanagement-Plattformen mit folgenden Features an:

  • Flexible Sicherungs- und Wiederherstellungsfunktionen
  • Disaster-Recovery-Funktionalitäten
  • Einfache Skalierbarkeit
  • Cloud- und On-Premises-Funktionalitäten

Dazu gehört Veeam Kasten for Kubernetes, eine Kubernetes-native Lösung für Backups, Disaster Recovery und die Anwendungsmobilität über verschiedene Kubernetes-Cluster, -Infrastrukturen und -Distributionen hinweg.

Jetzt starten

5 Gründe

Demo ansehen

Erfahren Sie, wie Sie mit Veeam die nötige Datenresilienz zum Schutz vor jeglichen Bedrohungen erreichen

5 Gründe

Kontakt

Erhalten Sie Unterstützung bei der Wahl der richtigen Lösung für Ihr Unternehmen

5 Gründe

F&E-Foren von Veeam

Unterstützung für Ihre Veeam-Produkte und -Softwarelösungen