Michael Vogeler Nexinto

„Ein sauberer Prozess und die richtigen Rahmenbedingungen für Zugriffsrechte bilden die Grundlage für einen sicheren Containerbetrieb.“

Jan Wiescher Nexinto

„Ein einheitlicher Sicherheitsstandard im Bereich Container lässt noch auf sich warten. Orientierung geben hingegen die Best Security Practices, die sich auf konkrete Probleme in der Praxis beziehen.“

Containertechnologien boomen. Seit dem Release von Docker ist auch im Rahmen der DevOps-Bewegung ein Hype um diese Virtualisierungstechnologie entstanden. Doch sind die wilden Jahre jetzt vorbei und Container auf dem Weg, erwachsen zu werden? Immerhin setzen immer mehr Unternehmen Container produktiv ein und stellen darum höhere Anforderungen an die Sicherheit.

Container haben sich in den letzten beiden Jahren vor allem dank Docker zu einem neuen Trend entwickelt. Nach dem Durchbruch Hypervisor-basierter Virtualisierung durch die Cloud, die heute mittlerweile eine Commodity ist, steht der nächste Hype bereits auf der Matte: Container. Hier hat die Cloud die Stoßrichtung vorgegeben. IT-Prozesse sollten schneller, flexibler, skalierbarer sein. Und genau diese Vorteile spielen die Container gegenüber einer virtuellen Maschine aus.

Der Erfolg von Docker basiert vor allem auf dessen Open-Source-Prinzip. Gerade zu Beginn konnten sich Entwickler an den über den Docker Hub bereitgestellten Images austoben und ausprobieren. Ihre Stärken machen Container besonders für Unternehmen interessant, die zunehmend auf DevOps sowie Continuous Integration und Continuous Delivery (CI/CD) setzen. Kommen Container im Unternehmen zum Einsatz, müssen sie genauso wie andere Virtualisierungstechnologien dem rechtlichen Rahmen an gesetzlichen Vorgaben sowie internen Compliances und Sicherheitsrichtlinien entsprechen. Da immer mehr Unternehmen Container in ihrer Produktivumgebung einsetzen, stehen sie in unmittelbarem Kontext geschäftskritischer Systeme. Deshalb sehen sich Unternehmen zunehmend mit der Frage konfrontiert, wie Container effektiv abzusichern sind – und zwar ohne, dass ihre Vorteile dabei auf der Strecke bleiben.

Images – es kommt nicht nur auf das Äußere an

Wichtigster Baustein für den Aufbau von Containern sind die Images. Der freie Bezug erfolgt über für alle zugängliche Repositories, bei denen jeder die Möglichkeit hat, Images einzustellen oder herunterzuladen. Kontrollmechanismen gab es gerade am Anfang des Container-Hypes nicht, wodurch Images ein einfaches Mittel sind, sich ein Sicherheitsproblem ins Haus zu holen. Hier sollten Containernutzer genau darauf achten, welche Images sie beispielsweise über den Docker Hub beziehen. Das gilt insbesondere für Images, die nicht frei einsehbar sind. Schon kleine Schreibfehler wie „RHAEL7“ statt korrekt „RHEL7“ innerhalb des Images reichen aus, um böswilligen Angreifern eine Tür zu öffnen. Wie groß das Problem anfälliger Images ist, zeigte sich im vergangenen Jahr bei einer Stichprobe der Firma Banyan: Mehr als ein Drittel der auf dem Docker Hub eingestellten Images offenbarten Lücken für Sicherheitsrisiken.

Diese Zahlen sorgten für Zugzwang seitens der Lösungsanbieter. Sowohl Docker als auch Rocket von CoreOS haben seitdem an ihrem Sicherheitslevel geschraubt. Anfang diesen Jahres brachte Docker mit der Version 1.10 ein Bündel an neuen Securityfeatures heraus, darunter die Funktion Secure Computing, die – als Codezeile seccomp im Linux-Kernel integriert – Admins mehr Kontrolle über Applikationen innerhalb der Container einräumt. Über ein Whitelisting sind auf jeweilige Anforderungen zugeschnittene Systemaufrufe filterbar. Zudem ermöglicht der Secure Computing Mode das Einrichten von Sandboxen. In dem Release baute Docker zusätzlich die Unterstützung für User Namespaces aus, die Admins ebenfalls mehr Kontrolle über einzelne Applikationen und Prozesse einräumen. Granulare Sicherheits-Policies sind so einfacher einzurichten.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Entwickler Magazin 6.16 - "Cool Programming"

Alle Infos zum Heft
287117Docker nutzen und Container dabei richtig absichern
X
- Gib Deinen Standort ein -
- or -