Dies ist in der Manpage für systemd-nspawn angegeben
Beachten Sie, dass systemd-nspawn trotz dieser Sicherheitsvorkehrungen nicht für sichere Containerkonfigurationen geeignet ist. Viele der Sicherheitsmerkmale können umgangen werden und sind daher in erster Linie nützlich, um versehentliche Änderungen des Hostsystems durch den Container zu vermeiden. Die beabsichtigte Verwendung dieses Programms ist das Debuggen und Testen sowie das Erstellen von Paketen, Distributionen und Software für das Boot- und Systemmanagement.
Diese Frage wurde später auf der Mailingliste im Jahr 2011 gestellt , aber die Antwort scheint veraltet zu sein.
systemd-nspawn enthält Code, CLONE_NEWNET
der --private-network
jetzt mit der Option ausgeführt werden kann. Dies scheint das AF_UNIX
Problem mit dem privaten Namespace abzudecken , und ich schätze, das CAP_NET_RAW
und die CAP_NET_BIND
genannten Probleme.
Welche Probleme bleiben zu diesem Zeitpunkt bestehen und was macht beispielsweise LXC zusätzlich zu dem, was systemd-nspawn
derzeit möglich ist?
CLONE_NEWNET
: abstrakten Sockets - getrennt, dateisystembasiert - vereint (es sei denn, es gibt keine gemeinsamen Dateisysteme zwischen Host und Container). Dies erleichtert das Starten von X-Anwendungen, sofern das Netzwerk für eine bestimmte Anwendung gesperrt ist (da Xorg sowohl das abstrakte als auch das Dateisystem-UNIX-Socket öffnet).Antworten:
LXC ist ein bisschen besser, weil es Container als Benutzer ohne Berechtigung ausführen kann . Dies ist mit systemd-nspawn möglich, jedoch nur für Szenarien, in denen Sie nur einen Benutzer (anstelle mehrerer) benötigen. Dies kann in Containerszenarien für mehrere Prozesse schwierig oder weniger sicher sein. Wenn Sie wissen möchten, warum docker, lxc und systemd-nspawn von Natur aus keine soliden Sicherheitsmechanismen sind, lesen Sie Folgendes: https://opensource.com/business/14/7/docker-security-selinux . Grundsätzlich haben Container immer noch Zugriff auf den Kernel und jeder Kernel-Exploit erhält die Kontrolle über die gesamte Maschine. Auf einem monolithischen Kernel wie Linux sind Kernel-Exploits keine Seltenheit.
quelle