Zum Inhalt springen

Bubblewrap

Aus Foxwiki

bubblewrap - Dienstprogramm für die Manipulation von nicht privilegierten Chroots und Namensräumen

Beschreibung

bubblewrap verwendet Linux-Namensräume, um nicht privilegierte Container zu starten. Diese Container können verwendet werden, um semi-vertrauenswürdige

Anwendungen wie Flatpak-Apps, Bild-/Video-Miniaturansichten und Webbrowser-Komponenten zu sandboxen oder um Programme in einem anderen

Bibliotheksstapel wie einer Flatpak-Laufzeit oder einer anderen Debian-Version auszuführen.

Standardmäßig basiert dieses Paket auf einem Kernel mit aktivierten Benutzernamensräumen. Offizielle Debian- und Ubuntu-Kernel sind geeignet.

Auf Kerneln ohne Benutzernamensräume können Systemadministratoren bwrap mit Root-Rechten laufen lassen (make the bwrap executable setuid root), sodass nicht privilegierte Container erstellt werden können, obwohl dies bei normalen Benutzerprozessen nicht möglich ist.

Bubblewrap ist ein leichtgewichtiges, unprivilegiertes Tool zur Erstellung von Sandbox-Umgebungen unter Linux. Es nutzt Linux-Namespaces (wie Mount-, PID- oder Netzwerk-Namespaces), um Anwendungen vom restlichen System zu isolieren. Es dient als technisches Fundament für größere Projekte wie Flatpak.

Wofür wird es verwendet?
  • Isolierung: Sandboxen von potenziell unsicheren Anwendungen (z. B. Webbrowser, Bildbetrachter).
  • Dateisystem-Anpassung: Ausführen von Programmen in abweichenden Bibliotheks-Umgebungen oder isolierten Verzeichnisbäumen.
  • Keine Root-Rechte nötig: Dank Linux-User-Namespaces kann Bubblewrap standardmäßig ohne administrative Rechte (root) ausgeführt werden.
Funktionsweise

Bubblewrap wird über den Befehl bwrap aufgerufen. Die Stärke und Sicherheit der Sandbox wird komplett durch die übergebenen Argumente bestimmt. [1]

Typischer Befehlaufbau
  1. Namespaces definieren: Erstellen von isolierten Räumen (z. B. --unshare-all).
  2. Dateisystem einhängen: Definieren, welche Verzeichnisse des Host-Systems für die Anwendung sichtbar sein sollen (z. B. Read-only oder beschreibbar).
  3. Prozess starten: Ausführen der isolierten Anwendung innerhalb der definierten Sandbox.

https://github.com/containers/bubblewrap