ChRoot ist Distributions- und Betriebssystemabhängig. Docker nicht. Einmal ein Dockerimage erstellt und es läuft überall. Es ist normalerweise auch alles konfiguriert. Es funktioniert einfach. Man kann Dinge sehr gut auch in großen Umgebungen verteilen und umverteilen (mache ich nicht -> Kubernetes oder Swarm wären hier sinnvoll).
Man kann auch genau beschränken, wie der Container kommunizieren darf. Wie der Container erreicht werden darf sowieso (normalerweise nur ein Port), aber auch was er nach außen darf. Wenn da etwas untergeschobenes auf einem anderen Port lauschen möchte - es wird nicht funktionieren.
Aber selbstverständlich kann Docker auch eine neue Sicherheitslücke öffnen - es ist schließlich eine Software wie jede andere auch.
Von Verfluchtnochmal_5987108 am Do, 3. Oktober 2019 um 19:33 #
Ich hätte gerne einen Euro für jedes chroot setup dem elementare Dinge wie /dev/urandom & Friends fehlen
Mit einem normalen systemd unit und all den namespace-optionen erreiche ich die gleiche Sicherheit sauberer weil sich bei Dingen wie PrivateDevices=yes jemand was gedacht hat uid vor allem kann ich viel mehr limitierten
cgroups/namespaces etc mit systemd sind container ohne die Komplexität mitzuschleppen
Für echte Isolierung kommst du an einer VM nicht vorbei
Genial hin oder her. Wozu braucht man Docker und warum tut es nicht einfach auch eine herkömmliche CHROOT-Umgebung?
ChRoot ist Distributions- und Betriebssystemabhängig. Docker nicht. Einmal ein Dockerimage erstellt und es läuft überall. Es ist normalerweise auch alles konfiguriert. Es funktioniert einfach. Man kann Dinge sehr gut auch in großen Umgebungen verteilen und umverteilen (mache ich nicht -> Kubernetes oder Swarm wären hier sinnvoll).
Man kann auch genau beschränken, wie der Container kommunizieren darf. Wie der Container erreicht werden darf sowieso (normalerweise nur ein Port), aber auch was er nach außen darf. Wenn da etwas untergeschobenes auf einem anderen Port lauschen möchte - es wird nicht funktionieren.
Aber selbstverständlich kann Docker auch eine neue Sicherheitslücke öffnen - es ist schließlich eine Software wie jede andere auch.
Ich hätte gerne einen Euro für jedes chroot setup dem elementare Dinge wie /dev/urandom & Friends fehlen
Mit einem normalen systemd unit und all den namespace-optionen erreiche ich die gleiche Sicherheit sauberer weil sich bei Dingen wie PrivateDevices=yes jemand was gedacht hat uid vor allem kann ich viel mehr limitierten
cgroups/namespaces etc mit systemd sind container ohne die Komplexität mitzuschleppen
Für echte Isolierung kommst du an einer VM nicht vorbei
Ganz einfach, weil chroot != docker. Lesen hilft.