Überlegungen zu Cloud Security für Docker Hosting

Unser Experte erklärt, wie Docker Engine und Docker Hub funktionieren. Weiterhin berichtet er über Security-Bedenken beim Docker-Hosting in der Cloud.

Docker ist eine offene Plattform für verteilte (distributed) Applikationen und richtet sich an Entwickler und System-Administratoren. Es wird mit dem Ziel entwickelt, dass Entwickler und Plattform-Technik-Teams Applikationen schnell unter einen Hut bekommen. Es soll die Spannungen lindern, die wegen inkonsistenter Performance und Funktionalität zwischen Entwicklung, Qualitätssicherung und Produktion herrschen.

Docker besteht genau genommen aus zwei Teilen. Zum einen gibt es die Docker Engine. Es handelt sich dabei um ein leichtgewichtiges Laufzeit- und Paketierungs-Tool, das auf dem Linux-Kernel basiert. Die Engine ermöglicht eine Isolation der Docker-“Container“ und erlaubt das gemeinsame (shared) Nutzen des Kernels

Zum anderen gibt es Docker Hub. Das ist ein Cloud Service für Applikations-Sharing und das Automatisieren von Arbeitsabläufen. Es gibt natürlich viele potenzielle Vorteile, die Docker für Entwickler und System-Administratoren mit sich bringt. Auf der anderen Seite stehen aber auch diverse Security-Probleme und -Risiken.

In diesem Beitrag werfen wir einen genaueren Blick auf die Arbeitsweise von Docker und welche Sicherheitsrisiken es für Unternehmen geben könnte, die die Software für die Entwicklung von Cloud-Applikationen einsetzen.

Wie Docker funktioniert

Die Docker Engine ist in mehrfacher Hinsicht mit klassischer Virtualisierungs-Technologie verbunden. Applikations-Komponenten werden abstrahiert. Binärdateien und System-Bibliotheken befinden sich in isolierten Containern, die allerdings die Kernel-Ressourcen gemeinsam mit anderen auf dem System installierten Containern und nativen Anwendungen nutzen. Docker Engine setzt auf LXC (Linux Container). Diese Technologie isoliert Ressourcen (CPU, Arbeitsspeicher und so weiter) mit cgroups. Weiterhin wird der Namensraum (Namespace) abgeschottet, um Zugriffe auf System-Prozessbaum, Netzwerk, Anwender und Dateisystem zu limitieren.

Das Cloud-Modell für Docker – der Docker Hub – besteht aus mehreren Teilen:

  • Eine gehostete Umgebung für Docker-basierte Container
  • Eine Sharing-Umgebung für hybride Clouds zwischen Organisationen, sowie unterschiedlichen Applikationen und Plattform-Builds
  • Ein Marktplatz für neue Komponenten und Tools, der Unternehmen helfen soll, Applikationen zu entwickeln und anzubieten

Überlegungen zur Sicherheit

Um den Docker Daemon zu starten, benötigen Sie root-Rechte auf dem Linux-Host oder der Kernel-Installation. Passen Sie an dieser Stelle nicht auf, könnte das weitreichende Security-Konsequenzen haben. Die Docker-Applikation lässt sich nutzen, um darunterliegende System-Ressourcen mit sämtlichen Containern zu teilen. Möglicherweise sind Container in der Lage, Dateien und/oder deren Attribute auf dem Host-Betriebssystem zu verändern. 

Unter bestimmten Umständen könnte ein böswilliger Anwender sogar APIs einsetzen und Docker veranlassen, komplett neue Container anzulegen. Docker hat seine REST-API modifiziert, damit sie herkömmliche UNIX-Sockets verwendet. Somit können Anwender die Vorzüge der Standard-UNIX-Berechtigungen nutzen, um Zugriff und Kontrolle für die Docker-Aktionen zu limitieren.

Docker wird mit dem Ziel entwickelt, dass Entwickler und Plattform-Technik-Teams Applikationen schnell unter einen Hut bekommen.

Auf der anderen Seite empfiehlt Docker, innerhalb der Container das Ausführen mit erweiterten Rechten streng zu begrenzen. Viele der normalen root-Möglichkeiten werden außerhalb des Containers vom Docker Daemon und den dazugehörigen Komponenten übernommen. Somit ist es auch denkbar, dass Docker Container helfen, die Gefahren zu lindern und die Sicherheit zu verbessern. Das gilt aber nur dann, wenn die Einschränkungen für die Berechtigungen angemessen implementiert sind.

Der Docker Host sollte außerdem wie gewöhnlich streng konfiguriert sein. Docker empfiehlt, die laufenden Services auf das notwendige Minimum zu reduzieren. Ausnahmen stellen einige administrative Tools dar, die man für den Zugriff auf das System und das Management benötigt. So genannte Linux-Hardening-Tools für die Zugriffskontrolle funktionieren mit Docker gut. An dieser Stelle sind zum Beispiel AppArmor und SELinux gemeint. Somit stellen Sie sicher, dass eine Nutzung mit erweiterten Rechten eingeschränkt ist, auch wenn ein Container unsachgemäß konfiguriert ist.

In einer Cloud-Umgebung mit Docker Hub gelten viele der Security-Angelegenheiten, über die sich SaaS-Provider sonst auch den Kopf zerbrechen. Die Sicherheit des darunterliegenden Host-Systems ist entscheidend. Auch das Monitoring des Repositorys ist extrem wichtig. Damit garantieren Sie, dass kein Container private Daten, Konto- und Anmeldeinformationen preisgibt.

Im Juni 2014 hat ein Security-Profi einen Proof-of-Concept zur Verfügung gestellt. Dadurch konnte er durch einen Docker Container das Dateisystem des Docker Hosts manipulieren. Mithilfe des Exploits konnte der Security-Experte im Grunde genommen aus der virtuellen Maschine ausbrechen. Der Exploit funktionierte allerdings nur mit einigen Docker-Versionen. 

Dennoch sorgte er für Aufsehen und hat zu einer Diskussion geführt, auf welche Weise Container und Applikationen eingesetzt werden sollen. Das Docker-Team gibt zu, dass Docker Container weniger sicher als virtuelle Maschinen sind. Ein Einsatz im Zusammenhang mit sehr sensiblen Daten oder privilegierten Applikationen wird derzeit nicht empfohlen. Abgesehen davon können System-Administratoren mit den Linux-Security-Kontrollen auf dem Docker Host Zugriffe kontrollieren und einschränken.

Fazit

Durch die rasche Weiterentwicklung in Sachen DevOps und hybriden Cloud-Architekturen ist die Notwendigkeit nach schneller, einfacher und konsistenter Applikations-Entwicklung gegeben. Ein strukturierter Workflow ist wichtiger als jemals zuvor. Google unterstützt Docker durch App-Engine-Integration – aus diesem Grund wird es nicht einfach wieder verschwinden. Mit fortschreitender Popularität verbessern sich hoffentlich auch die Security-Kontrollen für Docker.

Über den Autor:
Dave Shackleford ist der Eigentümer und leitender Consultant von Voodoo Security. Er hat bereits mehrere Hundert Unternehmen in den Bereichen Security, Compliance und Netzwerk-Architektur beraten. Zudem ist er erfahrener VMware-Experte für das Design und die Konfiguration von sicheren virtualisierten Umgebungen. Shackleford hat als CSO für Configuresoft, als CTO beim Center for Internet Securityund für diverse Fortune-500-Unternehmen als Security-Architekt, Analyst und Manager gearbeitet. 

Er ist Autor des Buchs “Virtualization Security: Protecting Virtualized Environmentssowie Co-Autor von “Hands-On Information Security” von Course Technology. Vor kurzem war er Co-Autor für die Erstausgabe des vom SANS-Institut entworfenen Kurses über Virtualisierungs-Security tätig. Derzeit ist er im Vorstand des SANS Technology Institutes und unterstützt die Leitung der Cloud Security Alliance.

Artikel wurde zuletzt im Oktober 2014 aktualisiert

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close