c't 16/2018
S. 114
Know-how
Docker-Images: Gut und sicher
Aufmacherbild

Schichtsalat

Gute und schlechte Container-Images unterscheiden

Docker-Container sind nicht automatisch sicherer oder unsicherer als installierte Programme. Verwendbarkeit und Sicherheit hängen von der Qualität der eingesetzten Docker-Images ab. Wer Docker nutzt, sollte fremde Images sorgfältig prüfen – dafür muss man verstehen, wo sie eigentlich herkommen.

Ein Docker-Image ist die Grundlage für einen Container. Es enthält das auszuführende Programm und die nötigen Abhängigkeiten. Jeder, der Docker installiert hat, kann ein solches Image erstellen: Man legt ein Dockerfile mit der Bauanleitung an und führt den Befehl docker build aus. Wenn man das fertige Image auch auf anderen Systemen nutzen möchte, kann man ihm mit docker tag einen Namen im Format benutzername/containername geben und es mit docker push in eine Registry kopieren – als Standard ist bei Docker immer die Registry von docker.com eingerichtet. Wer dort ein Image abladen möchte, braucht ein Benutzerkonto, das schnell eingerichtet ist. Öffentlich verfügbare Images darf jeder kostenlos hochladen, nur für private Images muss man zahlen.

Weil es so einfach ist, eigene Werke in der Docker-Registry abzulegen und weil es keine Anforderungen oder Kontrolle gibt, landen dort nicht nur Images für den produktiven Einsatz. Nutzer laden sie aus unterschiedlichen Gründen hoch: nur zum Test, für den persönlichen Gebrauch oder gar um Schadsoftware zu verbreiten. Immer mal wieder finden Anwender und Sicherheitsforscher Images, die neben ihrem eigentlichen Job zum Beispiel Kryptowährungen schürfen oder Hintertüren öffnen und tausendfach heruntergeladen wurden. Ein Blick unter die Haube und systematisches Vorgehen beim Auswählen von Images ist also angebracht.