Docker-Alternative Podman: Container ohne Root-Rechte betreiben

Podman ist eine alternative Container-Engine zu Docker. Wir zeigen, wie Sie mit Podman "Rootless"-Container betreiben, ohne sich umzugewöhnen.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 27 Kommentare lesen

(Bild: Podman.io)

Lesezeit: 8 Min.
Inhaltsverzeichnis

Dank Container-Engines wie Docker und prall gefüllten Container-Registries mit fertigen Images für jeden erdenklichen Zweck dauert es heutzutage wenige Sekunden, eine Webanwendung oder einen Webserver aufzusetzen. Was soll schon schiefgehen? Immerhin sehen die Prozesse im Container ja nur dessen Dateisystem und sind dank Kernel-Namespaces vom Host isoliert. Wenn Sie jedoch mit dem Befehl docker run ein Container-Image aus der Docker-Registry ziehen und den Container starten, dann läuft dieser gewöhnlich mit Root-Rechten. Das heißt, der Benutzer root im Container entspricht root auf dem Host.

Es könnte einem geschickten Angreifer gelingen, aus einem Container auszubrechen, indem er eine Schwachstelle im Container ausnutzt. Dann ist der Host in Windeseile übernommen. Weil der Docker-Daemon, der alle Fäden in der Hand hält, mit Root-Rechten läuft, kann man damit auch das Wurzelverzeichnis / in einen Container hineinreichen und so Dateiberechtigungen aushebeln. Alle Nutzer, die Zugriff auf den Docker-Daemon haben, verfügen also de facto über Systemverwalterrechte. Ein Albtraum für Administratoren.

Weitere Docker-Themen

Rootless-Container, also Container, die nicht als root laufen, verkleinern die Angriffsfläche erheblich. Praktisch: Solche Container können von gewöhnlichen Nutzern gestartet werden. Das ist wichtig für Systeme, die sich mehrere Nutzer für die Containerei teilen, etwa in der Forschung oder auf einer geteilten Entwicklungsmaschine.