Eine neue Version des Werkzeugs zur Organisation von isolierten Umgebungen Bubblewrap 0.11 wurde veröffentlicht, das zur EinschrĂ€nkung bestimmter Anwendungen von nicht privilegierten Benutzern verwendet wird. In der Praxis wird Bubblewrap vom Flatpak-Projekt als Schicht zur Isolierung von Anwendungen verwendet, die aus Paketen ausgefĂŒhrt werden. Zur Isolation kommen traditionelle Linux-Technologien der Container-Virtualisierung zum Einsatz, die auf der Nutzung von cgroups, Namespaces, Seccomp und SELinux basieren. Der Code des Projekts ist in C geschrieben und wird unter der Lizenz LGPLv2+ verbreitet.
Die Isolation auf Dateisystemebene erfolgt durch die standardmĂ€Ăige Erstellung eines neuen Namensraums fĂŒr EinhĂ€ngepunkte (mount namespace), in dem durch tmpfs ein leeres Wurzelverzeichnis erstellt wird. Bei Bedarf werden externe Dateisysteme unter dem Modus âmount âbindâ an dieses Verzeichnis angehĂ€ngt (z.B. wird beim Start mit der Option âbwrap âro-bind /usr /usrâ das Verzeichnis /usr aus dem Hauptsystem im Nur-Lese-Modus weitergeleitet). Die Netzwerkfunktionen werden durch den Zugriff auf das Loopback-Interface mit Isolation des Netzwerkstapels ĂŒber die Flags CLONE_NEWNET und CLONE_NEWUTS eingeschrĂ€nkt.
Um alle ĂŒberflĂŒssigen Benutzer- und Prozess-IDs aus der erstellten isolierten Umgebung auszuschlieĂen, können die Modi CLONE_NEWUSER (User-Namespace) und CLONE_NEWPID (PID-Namespace) verwendet werden, wĂ€hrend der Modus PR_SET_NO_NEW_PRIVS angewendet wird, um das Erlangen neuer Privilegien zu verhindern. Auf Systemen mit "User-Namespace" kann Bubblewrap unter einem normalen Benutzer ausgefĂŒhrt werden, wĂ€hrend auf Systemen ohne "User-Namespace" das SUID-Root-Flag fĂŒr die erforderliche Initialisierung der isolierten Umgebung verwendet werden kann.
In der neuen Version:
- Es wurde die Möglichkeit geschaffen, Mount-Punkte zu erstellen, an denen ein einlagiger Overlay-Dateisystem OverlayFS verwendet wird, das mehrere Teile anderer Dateisysteme kombiniert. Zum Management der Nutzung von OverlayFS wurden neue Optionen fĂŒr die Befehlszeile eingefĂŒhrt: "âoverlay", "âtmp-overlay", "âro-overlay" und "âoverlay-src".
- Die Option "âlevel-prefix" wurde hinzugefĂŒgt, um in der Diagnoseausgabe ein PrioritĂ€tslevel im Syslog-Stil zu substituieren, was die Verwendung von Utilities wie "logger" und "systemd-cat" zur Verarbeitung der Ausgabe ermöglicht.
- Die UnterstĂŒtzung fĂŒr das Bauwerkzeug Autotools wurde eingestellt. Zur Erstellung wird jetzt das Werkzeug Meson benötigt.
Quelle: opennet.ru
