Deutschland - Kennzeichen Deutschland

Incoterms:DDP
Alle Preise sind inklusive Zoll und Gebühren bei der Auswahl der Versandart.

Bitte bestätigen Sie Ihre Währungsauswahl:

Euro
Versand ist kostenfrei bei den meisten Bestellungen über 50 € (EUR)

US Dollar
Versand ist kostenfrei bei den meisten Bestellungen über $60 (USD)

Bench Talk for Design Engineers

Mouser German Blog

rss

Mouser Electronics, Inc german language blogs


Sicherheitsbewusstsein für Container erhöhen Jeff Fellinge

(Quelle: LeoWolfert/Shutterstock.com)

Mit Container-Technologien wie Docker können Unternehmen Dienste und Anwendungen wesentlich schneller bereitstellen als mit herkömmlichen Verfahren. Anstatt ein vollwertiges Betriebssystem mit der gewünschten Anwendung bereitzustellen und zu konfigurieren, können Sie einfach ein Docker-Image dieser Anwendung herunterladen und starten und sind damit häufig innerhalb weniger Minuten startklar. Docker ist portabel, d. h. Sie können das gleiche Image auf Workstations mit Linux, Windows oder Mac ausführen. So erstellen und testen DevOps-Entwickler in der Regel einen neuen Dienst über ein Docker-Image auf ihrer eigenen Mac- oder Windows-Workstation, bevor sie ihn an sein Ziel in der Produktion hochladen. Dabei können sie sich auf ein ähnliches Systemverhalten verlassen, ganz gleich, ob das Image auf ihrer Workstation oder in einer von einem Cloud-Anbieter gehosteten Produktionsumgebung ausgeführt wird.

Sobald Sie Docker heruntergeladen und installiert haben, können Sie es sofort nutzen. Mit den Docker-Befehlen können Sie eine Registry (eine Sammlung von Software in Form von Docker-Images) angeben und dann das Docker-Image einer bestimmten Anwendung herunterladen und starten. Das Docker-Image ist eine sehr kleine, speziell erstellte Datei, die in der Regel nur die nötigsten Dateien enthält, um die Anwendung zu aktivieren. So kann beispielsweise statt der Ubuntu-Linux-Distribution ein Image mit einer Distribution erstellt werden, die einen deutlich geringeren Speicherbedarf hat, wie z. B. Alpine-Linux. In der Regel sind nur die wichtigsten Dateien enthalten und das Image wird dadurch wesentlich kleiner. Dies hat auch den positiven Nebeneffekt, dass es vermutlich sicherer ist, da es mit weniger Code und Paketen häufig eine geringere Angriffsfläche für Eindringlinge gibt.

Größere Umgebungen verwenden häufig eine Orchestrierungslösung wie Kubernetes, um ihre Container-Umgebung zu verwalten. Kubernetes ist ein Open-Source-System zur Verwaltung der Skalierung und Bereitstellung von Containern auf der Grundlage einer definierten Geschäftslogik. Service-Mesh- und Microservice-Architekturen spielen ebenfalls eine wichtige Rolle bei der Entwicklung und Unterstützung skalierbarer cloudbasierter Anwendungen. Ein Service-Mesh koordiniert den Netzwerkverkehr zwischen verschiedenen Diensten und kann als Load Balancer zwischen den Diensten fungieren. Außerdem kann ein Service-Mesh zusätzliche Sicherheitsfunktionen wie Verschlüsselung und Authentifizierung zwischen miteinander verbundenen Diensten bieten. Die Bereitstellung von Anwendungen als Microservices in Containern bedeutet, dass jeder Dienst (z. B. ein Dienst zur Verwaltung von Benutzerkonten und ein Warenkorb-Dienst) unabhängig aufgebaut und gehostet wird. Im Zusammenspiel mit Kubernetes und einem Service-Mesh kann ein Unternehmen Container je nach Echtzeitanforderung der Anwendung schnell hochfahren oder löschen.

Der Schutz dieser Technologien beruht auf ähnlichen Sicherheitsmechanismen wie der Schutz traditioneller Netzwerke und Dienste, verlangt aber einen geringfügig veränderten Ansatz sowie Technologien, die das Funktionsprinzip von Containern berücksichtigen. Im Folgenden werden die Tools und Prozesse vorgestellt, mit denen diese neuen Technologien abgesichert und verwaltet werden können, um Sicherheitslücken in der Container-Absicherung zu vermeiden.

Vulnerability Management

Container werden über Images bereitgestellt. Dabei handelt es sich um schreibgeschützte Dateien, die das Verhalten des Containers definieren. Diese Images werden häufig von einer externen Registry (z. B. Docker Hub) heruntergeladen. Fortgeschrittene Benutzer erstellen auch eigene Images. Images basieren in der Regel auf einem sehr schlanken Betriebssystem, auf dem eine bestimmte Anwendung (z. B. Nginx oder MySQL) installiert ist. Vor dem Einsatz eines Containers sollten Sie sicherstellen, dass das Image sicher ist, indem Sie es mit einem Container- und Image-fähigen Vulnerability Scanner auf Schwachstellen überprüfen. Wenn Sie eine Sicherheitslücke in einem Image entdecken, aktualisieren Sie das Image und stellen Sie die Container erneut bereit. Ein herkömmlicher Vulnerability Scanner (wie z. B. Nessus) ist in Container-Umgebungen weniger geeignet, da sich die Ziel-Container bei wechselnder Auslastung ändern können und IP-Adressen in einer Service-Mesh- oder Overlay-Netzwerk-Architektur oft wiederverwendet werden. Mit anderen Worten, die Scan-Ergebnisse eines Netzwerkbereichs können sich von einem auf den anderen Tag unterscheiden und eine Vergleichbarkeit der Ergebnisse dadurch schwierig sein.

Inventarisierung

Containerbasierte Architekturen nutzen neue Technologien. Daher ist es wichtig, diese Objekte und ihre Abhängigkeiten zu inventarisieren, um sie angemessen sichern zu können. Dies unterscheidet sich prinzipiell nicht unbedingt von einer traditionellen Inventarisierung Ihrer IT-Ressourcen, also von Servern, Anwendungen und Netzwerkkonfigurationen wie Subnetzen und Zugriffskontrolllisten. Die Konzepte einer klassischen IT-Umgebung und einer containerbasierten Umgebung unterscheiden sich jedoch häufig. Zu den wichtigen Objekten, die in einer containerisierten Umgebung inventarisiert werden müssen, gehören die verwendeten Images, die ausgeführten Container, die Knoten, auf denen Docker läuft, wo die Images gehostet werden, alle Dienste und Anwendungen, die in der Umgebung ausgeführt werden, sowie Netzwerkgruppen, die den Zugriff auf diese Objekte einschränken.

Build- und Runtime-Schutz

Für die Sicherung des Containers ist es wichtig, die Datei zum Erstellen des Container-Images zu verstehen. Die Image-Erstellungsdatei beschreibt die gesamte Software, die in dem Image und auf dem Container verwendet wird. Oftmals basieren diese Image-Erstellungsdateien auf anderen Image-Erstellungsdateien und es ist wichtig, diese mehrschichtigen Abhängigkeiten zu verstehen. Verwenden Sie daher ausschließlich vertrauenswürdige Images aus einer privaten Registry, um sicherzustellen, dass Sie die volle Kontrolle über den Bereitstellungsprozess haben. Überprüfen Sie die Image-Erstellungsdatei auf versteckte Inhalte und unerwünschte oder unsichere Software und entfernen Sie diese. Suchen Sie nach Tools, die in der Lage sind, eine Baseline für die optimale Performance Ihrer Container zu ermitteln und bei Abweichungen von dieser Norm zu warnen. Einige Sicherheitslösungen für Container definieren Modelle für das erwartete Runtime-Verhalten und geben bei Abweichungen von diesen Modellen eine Warnung aus, z. B. wenn ein Container mit einem neuen Host kommuniziert oder ein neues Paket installiert, das dem Modell bisher nicht bekannt war.

Protokollierung

Das Protokollieren von Ereignissen und das Sammeln wichtiger Telemetriedaten in der gesamten Container-Umgebung erleichtert das Erkennen von anomalem Verhalten. Verwenden Sie Container-fähige Tools, die in der Lage sind, Netzwerkverbindungen zu Ihren Containern zu überwachen. Da Container meist sehr kurzlebig und dynamisch sind, funktionieren traditionelle Ansätze wie statische Regeln auf Basis der IP-Adresse nur bedingt. Die Protokollierung von Aktivitäten ist eine wichtige Komponente des Runtime-Schutzes. Verwenden Sie eine Software, die den Normalbetrieb als Basislinie erfasst und dann bei Abweichungen eine Warnung ausgibt. Dazu gehört auch, was unmittelbar vor und nach dem Ereignis passiert ist. Viele Container-Sicherheitslösungen analysieren und bieten forensische Ansichten der Log-Daten, die für die Nachverfolgung möglicher Vorfälle hilfreich sind.

Fazit

Container entwickeln sich schnell zu einem beliebten Standard im Cloud Computing. Sie lassen sich relativ schnell und einfach in eine Umgebung integrieren. Herkömmliche Sicherheitstools und -prozesse erkennen diese Technologien jedoch möglicherweise nicht. Sie sollten daher unbedingt die Funktionsweise von Containern verstehen, damit Sie gut vorbereitet sind, wenn sie in Ihrer Umgebung zum Einsatz kommen. So vermeiden Sie ein schwarzes Loch in Ihrer Infrastruktur, das unbekannte Risiken mit sich bringen kann.

 



« Zurück


Jeff Fellinge hat 25 Jahre Erfahrung in unterschiedlichen Fachbereichen, vom Maschinenbau bis hin zur Informationssicherheit. Er leitete die Programme im Bereich Informationssicherheit eines großen Cloud-Anbieters mit dem Ziel, Risiken zu mindern und die Effektivität der Sicherheitsmaßnahmen in einem der größten Rechenzentren der Welt zu verbessern. Fellinge recherchiert und bewertet mit Begeisterung Technologien, mit denen sich die Sicherheit von Unternehmen und Infrastrukturen verbessern lassen. Er besitzt und betreibt auch eine kleine Werkstatt für Metallherstellung.


Alle Autoren

Alle anzeigen Alle anzeigen
Blog nach Datum anzeigen