Die Veröffentlichung der Firejail 0.9.78 ist erfolgt. Dieses Projekt entwickelt ein System fĂŒr die isolierte AusfĂŒhrung von grafischen, Konsolen- und Serveranwendungen, das das Risiko einer Kompromittierung des Hauptsystems bei der AusfĂŒhrung von unsicheren oder potenziell anfĂ€lligen Programmen minimiert. Die Software ist in C geschrieben, wird unter der GPLv2-Lizenz vertrieben und kann in jeder Linux-Distribution mit einem Kernel ab Version 3.0 verwendet werden. Vorgefertigte Pakete von Firejail sind in den Formaten deb (Debian, Ubuntu) und rpm (CentOS, Fedora) verfĂŒgbar.
FĂŒr die Isolation in Firejail werden Namespaces, AppArmor und system call filtering (seccomp-bpf) in Linux verwendet. Nach dem Start verwendet das Programm sowie alle seine Kindprozesse separate Ansichten der Systemressourcen, wie etwa den Netzwerkstack, die Prozessliste und die Mount-Punkte. AbhĂ€ngige Anwendungen können in einem gemeinsamen Sandbox zusammengefĂŒhrt werden. Bei Bedarf kann Firejail auch zum Starten von Docker-, LXC- und OpenVZ-Containern verwendet werden.
Im Gegensatz zu Containerisolationstools ist Firejail extrem einfach zu konfigurieren und erfordert kein Abbild des Systems â der Inhalt des Containers wird dynamisch basierend auf dem aktuellen Dateisystem erstellt und nach Beendigung des Programms gelöscht. Flexible Werkzeuge zur Festlegung von Zugriffsrechten auf das Dateisystem ermöglichen es, festzulegen, auf welche Dateien und Verzeichnisse der Zugriff erlaubt oder verboten ist, temporĂ€re Dateisysteme (tmpfs) fĂŒr Daten anzubinden, den Zugriff auf Dateien oder Verzeichnisse nur zum Lesen zu beschrĂ€nken sowie Verzeichnisse ĂŒber Bind-Mount und OverlayFS zusammenzufĂŒhren.
FĂŒr eine Vielzahl beliebter Anwendungen, einschlieĂlich Firefox, Chromium, VLC und Transmission, wurden vorgefertigte Profile zur Isolation von Systemaufrufen erstellt. Um die fĂŒr die Konfiguration einer isolierten Umgebung erforderlichen Berechtigungen zu erhalten, wird die ausfĂŒhrbare Datei firejail mit dem SUID-Root-Flag installiert (nach der Initialisierung werden die Berechtigungen zurĂŒckgesetzt). Um das Programm im Isolationsmodus auszufĂŒhren, genĂŒgt es, den Namen der Anwendung als Argument der firejail-Utility anzugeben, zum Beispiel âfirejail firefoxâ oder âsudo firejail /etc/init.d/nginx startâ.
In der neuen Version:
- In die Konfigurationsdatei firejail.config wurden die Optionen arg-max-count, arg-max-len, env-max-count und env-max-len hinzugefĂŒgt, um die Limits fĂŒr die Anzahl und die GröĂe von Kommandozeilen- und Umgebungsvariablen zu Ă€ndern. StandardmĂ€Ăig ist die Anzahl der Argumente auf 128 begrenzt, die Anzahl der Umgebungsvariablen auf 256, und die GröĂe jedes Arguments entspricht PATH_MAX aus limits.h (in Linux 40196) + 32.
- Die Option ââxephyr-extra-paramsâ wurde hinzugefĂŒgt, um zusĂ€tzliche Optionen fĂŒr Xephyr (verwendet zum Erstellen von Sandbox-Umgebungen X11 mit einem eigenen X-Server, der in einem Fenster lĂ€uft) in der Kommandozeile festzulegen, ohne die firejail.config zu Ă€ndern.
- Das im Sandbox-Umgebung verwendete Tool bwrap (bubblewrap) wurde durch die Schicht fbwrap ersetzt, die Programme ohne Isolation ausfĂŒhrt, um Probleme beim Start von Firefox, Thunderbird, GIMP aufgrund des Aufrufs von glycin 2.0.0 aus gdk-pixbuf2 mit bwrap zu lösen. Um bwrap anstelle der Schicht zu kopieren, wurde die Option ââallow-bwrapâ hinzugefĂŒgt.
- Die Tabellen der Systemaufrufe fĂŒr seccomp wurden aktualisiert. Neue Systemaufrufe wie epoll_pwait2 und futex_wait wurden hinzugefĂŒgt.
- Die Build-Option ââdisable-globalcfgâ wurde entfernt, die UnterstĂŒtzung fĂŒr overlayfs (ââoverlayâ) und den IDS-Modus (Intrusion Detection System, ââidsâ) wurde eingestellt.
- Isolation Profile fĂŒr den Texteditor ne (Texteditor), den Browser Trivalent und die Spiele-Engines OpenRA, quakespasm, gzdoom, lzdoom, uzdoom wurden hinzugefĂŒgt.
- Die Profile fĂŒr thunderbird, wine, qutebrowser, firefox, godot, wusc, mullvad-browser, blink, steam, ssh, brave und hashcat wurden aktualisiert.
Quelle: opennet.ru
