Containing Containers - Vorteile und Risiken

Containing Containers

Vorteile und Risiken

Rocco Gagliardi
von Rocco Gagliardi
am 06. Oktober 2016
Lesezeit: 9 Minuten

Laut Wörterbuch ist ein Container ein Objekt, das etwas beinhalten kann. Erweitert man die Bedeutung, handelt es sich um einen Ort, an dem Gegenstände zusammengefasst abgelegt oder gemeinsam verschoben werden können oder es ist ein Separator für Dinge.

Im Jahr 1982 hat man mit chroot begonnen, dann BSD-Jails eingesetzt, Solaris Container, LXC, OpenVZ und Docker, um etwas von einem Hostsystem isolieren, gemeinsame Teile zusammenzuhalten zu können oder die Verteilung von Ressourcen mittels Priorisierung einschränken zu können.

Diese Klasse von Technologien, sie werden OS-Virtualisierung genannt, muss von der Voll-Virtualisierung unterschieden werden (Typ 1: Hyper-Visor auf Hardware, zum Beispiel XEN, ESXi oder KVM; Typ 2: Hyper-Visor auf Standard-Kernel, zum Beispiel VMware Workstation, VirtualBox oder QEMU).

Full-Virtualization:

Gast-Prozess ---\
Gast-Prozess ------> Gast-OS ---> Host-OS ---> Hardware
Gast-Prozess ---/

OS-Virtualization:

Gast-Prozess ---\
Gast-Prozess -------------------> Host-OS ---> Hardware
Gast-Prozess ---/

Containers sind so populär geworden, da sie verschiedene Vorteile mitbringen:

Durch Container wird ein altbekanntes, mühsames und kostenintensives Problem adressiert: Es ist einfacher, den Life-Cycle einer Applikation mitzumachen – Von der Entwicklung bis zur Ersetzung. Dies war denn schlussendlich auch der Hauptgrund, warum Docker ins Leben gerufen wurde. Die Sicherheitsaspekte waren damals noch nicht prominent.

Docker

In den letzten Jahren der vergangenen Dekade hat Hardware-Virtualisierung einen grossen Einfluss auf PaaS ausgeübt. Vor allem das Verringern der Kosten hat massgeblich zur Erweiterung Der Cloud beigetragen. Eine Firma namens dotCloud hatte sich angefangen mit Linux Containern auseinanderzusetzen. Das dadurch entstandene Framework wurde 2013 als quelloffenes Projekt namens Docker veröffentlicht.

Docker ist jedoch nicht gleich Docker. Bis zur Version 1.10 wurde auf die LXC Container Technologie samt ihrer Einschränkungen gesetzt. Im Frühling 2014 wurde durch Docker eine neue Generation ausgerollt: Diese setzte neu auf libcontainer. Dabei handelt es sich um eine Bibliothek, die komplett in Golang geschrieben und extra für Container entwickelt wurde. Sie verwaltet Syscalls und kontrolliert die Implementierung der lang erwarteten Sicherheitsmechanismen: Docker unterstützt damit nun – out of the box – Namespaces, Kontrollgruppen, Apparmor Profile, Netzwerkschnittstellen und Firewall-Regeln. Dies geschieht alles in einer zuverlässigen und nachvollziehbaren Art, ohne dabei von LXC abhängig sein zu müssen. Dies verbesserte die Entkoppelung von Docker gegenüber den Seiteneffekten, wie mit den verschiedenen Versionen und Distributionen von LXC einhergingen.

Heutzutage ist Docker nicht mehr nur ein Daemon, sondern beinhaltet ebenfalls die Komponenten Docker Hub, Registry, Swarm, Compose und diverse Utilities wie Notary für Trusted Images sowie Machine für Provisionierung. Schauen Sie sich das Video Docker Security an, um weitere Details zum Thema zu erhalten.

Der Einfluss von Docker wird in den kommenden Jahren noch zunehmen. Neben der offiziellen 64-bit Version für Linux, werden die Clients für viele andere Plattformen (Linux, Windows, macOS, FreeBSD) angeboten. Windows unterstützt Docker mittlerweile von Haus aus. Durch diese Diversität wird sich auch die gesamte Welt von IoT erschlossen. In diesem Zusammenhang lohnt sich der Blick auf die Playlist DockerCon 2016 – conferences.

Schwächen und Vorteile von Containern

Wie jede Technologie, können Container Probleme adressieren oder neue Probleme einführen. Dazu gehören:

In Bezug auf die Vorteile ergibt sich folgende Liste:

Aktualisierung der Threat Map

Mit neuen Technologien werden immer auch neue Risiken eingeführt. Um im Zusammenhang mit Containern mit diesen umgehen zu können, müssen wir als erstes die von OS-Virtualisierung ausgehenden Risiken für die Infrastruktur verstehen.

Zusammenfassung

We are the Container. Your physical and virtual distinctiveness will be added to our own. Resistance is futile.

OS-Virtualisierung ist nicht wirklich eine neue Technologie. In den letzten Jahren wurde sie aber zunehmend durch grosse Firmen adaptiert und das schnelle Wachstum der Benutzerbasis hält an.

Im Speziellen geniesst Docker eine rapide Verbreitung und hilft Betreibern beim Unterhalt der Software-Infrastruktur. Zur gleichen Zeit ist aber noch nicht genau klar, wo die Grenzen der Möglichkeiten der neuen Technologie liegen und wo die Probleme sind, wie sie mitigiert und kontrolliert werden können. In diesem Artikel haben wir die grundlegenden Aspekte der Technologie und einige mögliche Angriffsszenarios kennengelernt.

Über den Autor

Rocco Gagliardi

Rocco Gagliardi ist seit den 1980er Jahren im Bereich der Informationstechnologie tätig. In den 1990er Jahren hat er sich ganz der Informationssicherheit verschrieben. Die Schwerpunkte seiner Arbeit liegen im Bereich Routing, Firewalling und Log Management.

Links

Sie wollen die Sicherheit Ihrer Firewall prüfen?

Unsere Spezialisten kontaktieren Sie gern!

×
Schutz vor Phishing

Schutz vor Phishing

Rocco Gagliardi

Logging

Logging

Rocco Gagliardi

IT Security Policies

IT Security Policies

Rocco Gagliardi

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv