Docker ist zu einem unverzichtbaren Werkzeug in modernen DevOps und Entwicklung geworden. Sie können die Einkreisung isolieren, das Outfit vereinfachen und die Anwendungen schnell skalieren. Standardmäßig benötigt Docker jedoch eine Wurzel, und dies erzeugt eine potenziell gefährliche Zone, die in den frühen Stadien häufig ignoriert wird.
Warum arbeitet Docker von Root aus? h2>
Docker verwendet die Funktionen der Linux: CGroups, Namespaces, Iptables, Mount, Networking und andere Systemfunktionen. Diese Operationen sind nur dem Super -Benutzer erhältlich.
Deshalb:
* Dockerd Dämon beginnt von der Wurzel,
* Docker -Befehle werden an diesen Dämon übertragen.
Dies vereinfacht die Arbeit und gibt die volle Kontrolle über das System, eröffnet jedoch gleichzeitig potenzielle Schwachstellen.
Warum ist es gefährlich: Container Breakout, CVE, RCE H2>
Container Breakout h3>
Bei schwacher Isolierung kann ein Angreifer Chroot oder Pivot_Root verwenden, um den Host einzugeben.
Beispiele für echte Angriffe:
* CVE-2019-5736-Vulnerabilität zum Runc, ermöglicht, die Anwendung umzuschreiben und den Code auf dem Host auszuführen.
* CVE-2021-3156-Vulnerabilität für sudo, dürfen eine Wurzel in den Container bekommen und herauskommen.
rce (Remote -Code -Ausführung) H3>
Wenn die Anwendung im Container verwundbar ist und von der Stamme startet, ist RCE = vollständige Kontrolle über den Host.

rootloser Docker: Lösung des Problems H2>
Um diese Risiken zu minimieren, erschien der rootless -Modus in Docker. In diesem Modus werden sowohl der Dämon als auch die Container im Namen des üblichen Benutzers ohne Root-Privilegies gestartet. Dies bedeutet, dass ein Angreifer auch dann nicht in der Lage sein wird, das Hostsystem zu schaden.
Es gibt Beschränkungen: Sie können keine Ports unter 1024 verwenden (z. B. 80 und 443), der -privilegierte Modus sowie einige Netzwerkmodi ist nicht verfügbar. In den meisten Entwicklungsszenarien und CI/CD Rootless Docker ist es jedoch mit seiner Aufgabe fertig und erhöht das Sicherheitsniveau erheblich.
Historisch gesehen starten Sie von Wurzel – Antipattern H2>
In der Unix/Linux -Welt wurde von Anfang an das Prinzip der kleinsten Privilegien angewendet. Je weniger Rechte der Prozess, desto weniger Schaden kann es anrichten. Docker forderte zunächst einen Wurzelzugang, wird aber heute als potenzielle Bedrohung angesehen.
Quellen h2>
https://docs.docker.com/engine/security/rootless/
https://rootlesscontaine.rs/