Eine Einführung in die Security bei Cloud Containern

Container bringen Vorteile, die Zeit und Geld sparen können. Unternehmen müssen allerdings vorsichtig sein und die Sicherheit nicht vernachlässigen.

Durch den Aufstieg von Docker, Linux LXC und anderen Container-Technologien stellen sich viele die Frage, ob Cloud Container sicher genug für den Einsatz im Unternehmen sind?

Natürlich ist die Sache noch nicht so ausgereift wie herkömmliche, auf Hypervisoren basierende virtuelle Maschinen (VM). Das liegt aber daran, dass die Technologie relativ jung ist. Die Vorteile bei der Performance liegen auf der Hand. Über die Sicherheit bei den Containern hat man sich bisher weniger unterhalten.

Container unterscheiden sich von Technologien wie zum Beispiel VMware und VirtualBox auf verschiedene Weise.

Zunächst einmal haben Container häufig einen sehr speziellen Zweck. Das ist oftmals das Hosten eines Webservers oder einer Datenbank. Aus technologischer Sicht ist der entscheidende Unterschied zwischen Containern und virtuellen Maschinen, dass die VMs Hardware emulieren und dafür einen Hypervisor benötigen.

Aus diesem Grund ist sehr viel mehr Festplattenplatz und Rechenleistung notwendig, als das bei Cloud-Container-Technologie der Fall ist. Daher sind Cloud Container eine reizvolle Komponente für die Security-Programme der Cloud Provider. Zum Beispiel pflegt Docker Partnerschaften zu allen großen Service Providern. Dazu gehören auch Amazon, Microsoft und Google.

Container-Technologie ist ohne Zweifel unglaublich nützlich. Sie stellt verbesserte Portabilität und Flexibilität zur Verfügung. Gleichzeitig lassen sich damit Ressourcenverbrauch und Kosten senken. Bei den meisten Buzzword-Technologien kommt allerdings leider die Sicherheit zu kurz.

Security-Probleme im Zusammenhang mit Cloud Containern

Das größte Problem beim Thema Container ist, dass es nicht die gleichen Security-Grenzen wie bei virtuellen Maschinen gibt. Theoretisch könnte ein böswilliger Hacker einen Exploit in einem darunterliegenden Betriebssystem finden und diesen ausnutzen, um sich damit Zugriff auf die entsprechenden Container zu beschaffen. Das Gleiche ist in der Theorie natürlich auch umgekehrt denkbar. Ein böswilliger Hacker könnte eine Lücke im Container ausnutzen und so Zugriff auf den darunterliegenden Server erhalten.

Eine Tatsache macht die Sache sogar noch schlimmer. Docker und andere Container-Technologien verwenden Funktionen, die als Superuser root ausgeführt werden (laut Docker ist das Problem mit den Root-Rechten seit Version 1.8 gelöst). In Umgebungen bei Cloud Providern könnte dieser Umstand noch weitreichendere Auswirkungen haben.

Stellen Sie sich eine Situation vor, in der alle Cloud Services via Container bereitgestellt sind. Nun schafft es ein böswilliger Hacker, aus einem der Container auszubrechen und sich Zugriff auf andere Container auf der gleichen Hardware zu verschaffen. Die Auswirkungen könnten für Cloud Provider verheerend sein. Das gilt natürlich auch für die Anwender der entsprechenden Clouds. Aus diesem Grund muss man sich sehr gut überlegen, wo und wann man Container-Technologie einsetzt.

Ein weiteres Problem mit den Containern ist der eigentliche Prozess zur Erstellung. Kreiert ein Unternehmen zum Beispiel seinen eigenen Container, wird der lediglich so sicher sein wie die Firma das bewerkstelligen kann. Sollte sich am Standort kein geeignetes Personal befinden, das den Container absichert und administriert, dann gehen möglicherweise die Vorteile der Technologie verloren.

In diesem Fall ist es vielleicht besser, auf einen vorgefertigten Container zu setzen. Das bringt allerdings wieder andere Nachteile mit sich. Holt sich ein Unternehmen einen Container aus einem sogenannten Repository, dann weiß es unter Umständen nicht genau, was man sich da nun eingefangen hat. Was wäre zum Beispiel, wenn der heruntergeladene Container mit einer Key-Logging-Technologie versehen wäre und Anwendernamen, sowie Passwörter auf einen außenstehenden Server hochlädt?

Diese Security-Probleme sind häufig anzutreffen, da man bisher wenig Aufwand in die Container-Sicherheit gesteckt hat. Außerdem gibt es momentan keine allgemeinen Leitfäden, wie man sie am besten absichert.

Einfacher gesagt muss man Arbeit in die Technologie stecken, bevor man diese als sichere virtuelle Maschinen in Betracht ziehen kann. Die Entwickler sind aber an der Sache dran. Im August 2015 hat Docker ein großes Security-Update veröffentlicht. Es beinhaltet eine Funktion, die sich Docker Content Trust nennt. Damit adressiert man das Anliegen vieler, Container auf sichere Weise konfigurieren und einsetzen zu können. Die Technologie verwendet einen Mechanismus zum Signieren von Container Repositories, der auf einem öffentlichen Schlüssel basiert.

Best Practices, um Cloud Container abzusichern

Bezieht ein Unternehmen Docker Container aus einem öffentlichen Repository, dann sollte es nachsehen, ob diese mithilfe des neuen Systems Docker Content Trust signiert sind. Damit stellt die Firma sicher, dass es sich um einen seriösen Container handelt. Ansonsten sei noch erwähnt, dass Sie nicht benötigte Funktionen am besten deaktivieren.

Stellen Sie außerdem sicher, dass nur vertrauenswürdige Anwender den Daemon kontrollieren können, der wiederum für den Container verantwortlich ist. Eine Firewall zwischen den Containern ist ebenfalls ratsam. Damit unterbinden Sie Interaktionen zwischen den jeweiligen Containern.

Mit zunehmender Sicherheit haben Container einen Platz in den meisten Unternehmen verdient. Sie lassen sich einfach einsetzen und die Anforderungen an die Ressourcen sind gering. Das wirkt sich positiv auf die Kosten aus. Diese Vorteile der Container sollten Sie nutzen, wenn es entsprechend Sinn ergibt. Zum Beispiel könnten IT-Abteilungen sehr einfach MySQL-Container einsetzen, wenn Sie Datenbanksysteme konfigurieren. Sie bringen alle Abhängigkeiten mit sich und sind sofort einsatzfähig. Die Zeit für die entsprechende Konfiguration wird drastisch reduziert. Am wahrscheinlichsten wird man Container zusätzlich zu virtuellen Maschinen einsetzen und diese nicht damit ersetzen. In den Umgebungen von Unternehmen scheinen beide Technologien Platz zu haben.

Unterm Strich lässt sich sagen, dass Container eine exzellente Technologie darstellen und man diese für das Geschäft im Auge behalten sollte. Werden sie neben virtuellen Maschinen eingesetzt, kann das Zeit und Geld sparen. Allerdings müssen Sie beim Einsatz vorsichtig sein und die Container aus vertrauenswürdigen Quellen beziehen.

Über den Autor:
Rob Shapland ist Penetrationstester bei First Base Technologies. Er ist dort auf Sicherheit für Webapplikationen spezialisiert. Während seiner Laufbahn hat er schon Websites von sehr großen und auch kleinen Unternehmen getestet und dafür verschiedene Webtechnologien eingesetzt. Er ist der festen Überzeugung, dass sämtliche Penetrationstests im Kern manuell ablaufen sollten. Automatisierte Tools kann man als unterstützende Maßnahmen zu Rate ziehen. Shapland beschäftigt sich außerdem mit Netzwerktests und Social Engineering.

Folgen Sie SearchSecurity.de auch auf Twitter, Google+ und Facebook!

Artikel wurde zuletzt im Oktober 2015 aktualisiert

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close