Go to Top

Docker-Container sind dabei die IT-Industrie zu verwandeln

Was sind Docker-Container?

Docker kann Container effizient erstellen, versenden und betreiben. Der Container packt eine Applikationssoftware in eine unsichtbare Box mit allem, was nötig ist, um sie zum Laufen zu bringen. Dazu gehören das Betriebssystem, Anwendungscode, Laufzeit, Systemwerkzeuge und Bibliotheken. Docker-Container sind aus Docker-Images aufgebaut. Sie sind schlank, portabel und ermöglichen es Entwicklern, verteilte Anwendungen effizient zu bauen, zu übertragen und auszuführen. Darüber hinaus wird damit ermöglicht eine Anwendung verpacken und verschieben zu können, um damit die Infrastruktur zu vereinfachen. Docker bietet auch reduzierte Boot-Zeiten, die die Nutzung der Ressourcen verbessert. Doch da sich die Container weiterentwickeln, wächst die Sorge um die Sicherheit.

Bildnachweis: https://medium.freecodecamp.org/a-beginner-friendly-introduction-to-containers-vms-and-docker-79a9e3e119b

Sicherheitsherausforderungen

Container sind weniger voneinander isoliert als virtuelle Maschinen. Die Aufgabe eines Containers ist, Anwendungen zu verpacken und zu verteilen. Aber nicht alle im Internet verfügbaren sind vertrauenswürdig und nicht alle Bibliotheken und Komponenten, die in den Containern enthalten sind, sind gepatched und up-to-date. Eine aktuelle Studie zeigt, dass 67 Prozent der Unternehmen planen, mit der Container-Technologie in den nächsten zwei Jahren zu beginnen, aber gleichzeitig erklären 60 Prozent, dass sie über die Sicherheitsprobleme beunruhigt sind.

Laut Adrian Mouat, leitender Wissenschaftler bei Container Solutions, gibt es fünf Punkte, die man beachten muss, wenn es um die Sicherheit bei Docker Container geht:

  1. Kernel exploits. Im Gegensatz zu einer virtuellen Maschine wird der Kernel (der Kern) unter allen Containern und dem Host geteilt. Wenn ein Container einen Kernel in Panik bringt, wird er den ganzen Host zum Absturz bringen.
  2. Denial-of-Service-Angriffe. Container teilen Kernressourcen, also wenn ein Container in der Lage ist, den Zugriff auf bestimmte Ressourcen zu monopolisieren, kann er andere Container auf dem Host quasi „verhungern“ lassen. Dies führt zu einem Denial-of-Service (DoS), also einem Stillstand durch Verweigerung der Arbeit. Nutzer können nicht auf einen Teil oder das gesamte System zugreifen.
  3. Container-Ausbrüche.  Achten Sie auf potenzielle Privileg-Eskalationsangriffe, bei denen ein Benutzer erhöhte Privilegien durch einen Bug im Anwendungscode erhält, der mit zusätzlichen Berechtigungen ausgeführt werden muss. Obwohl das unwahrscheinlich ist, sind solche Ausbrüche möglich und sollten bei der Entwicklung eines Business Continuity Plans berücksichtigt werden.
  4. Verseuchte Bilder. Wenn ein Angreifer Sie zur Ausführung ihres Bildes austricksen kann, sind der Host und die Daten gefährdet. Darüber hinaus stellen Sie sicher, dass die Bilder, die ausgeführt werden sollen, aktuell sind.
  5. Kompromittierende Geheimnisse. Wenn ein Container auf eine Datenbank oder einen Dienst zugreift, benötigt er ein „Geheimnis“ wie einen API-Schlüssel oder Benutzernamen und Passwort. Ein Angreifer, der Zugang zu einem solchen „Geheimnis“ erhält, hat dann auch Zugang zum Service.

Obwohl Docker-Container sehr effizient sein können und Flexibilität bieten, ist es also entscheidend, die oben genannten Punkte vor einer Implementierung zu beachten.

Was Container für IT und Entwicklung bedeuten

Forrester Analyst Dave Bartoletti denkt, dass nur 10 Prozent der Unternehmen derzeit Container in der Produktion verwenden, aber bis zu einem Drittel diese jetzt schon testen. Aus diesem Grund konnte Docker im Jahr 2016 einen Umsatz von 762 Millionen Dollar erzielen. Container werden die IT-Welt verwandeln, weil sie gemeinsame Betriebssysteme nutzen. Ein Wechsel auf Docker Container könnte ein Rechenzentrum oder einen Cloud-Anbieter 10 bis 100 Millionen Dollar jährlich an Stromkosten sparen helfen, aber es geht um das Risiko, dass diese oder Sie selbst bereit sind, auf sich zu nehmen.

Es gibt jedoch einige Sorgen um die Zusicherung, dass Entwickler zukünftig immer noch die Freiheit zur Innovation haben, wenn sie Container verwenden. Entwickler müssen in der Lage sein, herauszupicken und auszuwählen, welche Werkzeuge und Frameworks sie verwenden möchten. Das ist deshalb wichtig, weil Entwickler selten um die Erlaubnis bitten, welche Werkzeuge sie verwenden können, sondern sie wählen Werkzeuge, die am besten für den Job passen. Die Verwendung eines Containers könnte so also die Kreativität eines Entwicklers potenziell unterdrücken.

Die Wahl über den Einsatz und die Investition in Container liegt also letztlich bei dem Unternehmen. Beim Aufwiegen aller Vor- und Nachteile, kommt es letztlich auf die Risikotoleranz an, die ein Unternehmen bereit ist einzugehen.

Bildnachweis: www.pexels.com/ CC0 License