Veröffentlichung von Bubblewrap 0.12, einer Schicht zur Erstellung isolierter Umgebungen

Eine neue Version des Tools zur Organisation isolierter Umgebungen Bubblewrap 0.12 wurde veröffentlicht, das zur Einschränkung einzelner Anwendungen von nicht privilegierten Benutzern verwendet wird. In der Praxis wird Bubblewrap von dem Projekt Flatpak als Schicht zur Isolierung von Anwendungen, die aus Paketen gestartet werden, eingesetzt. Für die Isolierung kommen traditionelle Linux-Technologien der Container-Virtualisierung zum Einsatz, die auf cgroups, Namespaces, Seccomp und SELinux basieren. Der Projektcode ist in C geschrieben und wird unter der Lizenz LGPLv2.1+ 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 Identifikatoren von Benutzern und Prozessen aus der erstellten isolierten Umgebung auszuschließen, können die Modi CLONE_NEWUSER (User-Namespace) und CLONE_NEWPID (PID-Namespace) verwendet werden. Um das Erlangen neuer Berechtigungen zu verhindern, wird der Modus PR_SET_NO_NEW_PRIVS eingesetzt. Für das Erlangen der erforderlichen Berechtigungen kommt der 'User-Namespace' zum Einsatz.

In der neuen Version:

  • Die Lizenz für den Code wurde von LGPL 2.0+ auf LGPL 2.1+ geändert.
  • Die Unterstützung für die Erstellung einer ausführbaren Datei, die zusätzliche Berechtigungen mittels des Flags suid root erhält, wurde eingestellt. Die Unterstützung des 'User-Namespace' ist nun erforderlich. Als Grund wird die Aufwendigkeit der Pflege der Version mit dem suid-Flag genannt, da der 'User-Namespace' in den Distributionen weit verbreitet ist.
  • Eine Option '—not-a-security-boundary' wurde hinzugefügt, bei Aktivierung dieser treten einige Fehler bei der Konfiguration der isolierten Sandbox-Umgebung, wie das Neumontieren von Unterverzeichnissen, nicht zu einem Absturz.
  • Eine Build-Option 'assume_kernel' wurde hinzugefügt, die die Rückwärtskompatibilität mit Linux-Kernen, die älter sind als die angegebene Version, deaktiviert. Die Angabe von Versionen 5.6.0+ führt beispielsweise zur Ausschluss einer alternativen Implementierung der Funktionalität 'openat2(RESOLVE_IN_ROOT)'.

Quelle: opennet.ru

Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server 🔥 Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster