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.
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.
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.
Das war die Leseprobe unseres heise-Plus-Artikels "Docker-Alternative Podman: Container ohne Root-Rechte betreiben". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.