Projektveröffentlichung , im Rahmen dessen ein System für die isolierte Ausführung von grafischen, Konsolen- und Serveranwendungen entwickelt wird. Die Anwendung von Firejail minimiert das Risiko einer Kompromittierung des Hauptsystems beim Starten von nicht vertrauenswürdigen oder potenziell anfälligen Programmen. Das Programm ist in der Programmiersprache C geschrieben, unter der Lizenz GPLv2 und kann in jeder Linux-Distribution mit einem Kernel höher als 3.0 laufen. Fertige Pakete mit Firejail in den Formaten deb (Debian, Ubuntu) und rpm (CentOS, Fedora).
Für die Isolation in Firejail Namespaces, AppArmor und Systemaufruffilterung (seccomp-bpf) in Linux verwendet. Nach dem Start verwendet das Programm und alle seine untergeordneten Prozesse separate Ansichten der Kernel-Ressourcen, wie z. B. Netzwerk-Stack, Prozess-Tabelle und Mount-Punkte. Abhängige Anwendungen können in einem gemeinsamen Sandbox zusammengefasst werden. Bei Bedarf kann Firejail auch zum Starten von Docker-, LXC- und OpenVZ-Containern verwendet werden.
Im Gegensatz zu Containermethoden ist Firejail äußerst in der Konfiguration und erfordert keine Vorbereitung eines Systembildes — der Inhalt des Containers wird zur Laufzeit basierend auf dem aktuellen FS-Inhalt gebildet und nach dem Ende der Applikation gelöscht. Es stehen flexible Mittel zur Verfügung, um Zugriffsregeln für das Dateisystem festzulegen, man kann bestimmen, auf welche Dateien und Verzeichnisse der Zugriff erlaubt oder verweigert wird, temporäre Dateisysteme (tmpfs) für Daten anwenden, den Zugang zu Dateien oder Verzeichnissen nur zum Lesen einschränken sowie Verzeichnisse über bind-mount und overlayfs kombinieren.
Für eine Vielzahl beliebter Anwendungen, einschließlich Firefox, Chromium, VLC und Transmission, wurden vorbereitete Systemaufrufisolierungen. Um das Programm im Isolationsmodus auszuführen, genügt es, den Namen der Anwendung als Argument des Firejail-Tools anzugeben, z.B. „firejail firefox“ oder „sudo firejail /etc/init.d/nginx start“.
In der neuen Version:
- Eine Schwachstelle wurde behoben, die es böswilligen Prozessen ermöglicht, die Systemaufrufbeschränkungen zu umgehen. Das Wesen der Schwachstelle besteht darin, dass die Seccomp-Filter in das Verzeichnis /run/firejail/mnt kopiert werden, das im isolierten Umfeld beschreibbar ist. Böswillige Prozesse, die im Isolationsmodus ausgeführt werden, können diese Dateien ändern, was dazu führt, dass neue Prozesse, die in derselben Umgebung gestartet werden, ohne Anwendung des Systemaufruffilters ausgeführt werden.
- Im Filter memory-deny-write-execute wurde der Aufruf von „memfd_create“ blockiert;
- Eine neue Option „private-cwd“ wurde hinzugefügt, um das Arbeitsverzeichnis für das Jail zu ändern;
- Die Unterstützung für CentOS 6 wurde zurückgebracht;
- Unterstützung für Pakete in den Formaten
- Es wurde angegeben und .
Neue Profile für die Isolierung von 87 zusätzlichen Programmen wurden hinzugefügt, darunter mypaint, nano, xfce4-mixer, gnome-keyring, redshift, font-manager, gconf-editor, gsettings, freeciv, lincity-ng, openttd, torcs, tremulous, warsow, freemind, kid3, freecol, opencity, utox, freeoffice-planmaker, freeoffice-presentations, freeoffice-textmaker, inkview, meteo-qt, ktouch, yelp und cantata. - Die Veröffentlichung des Projekts Firejail wurde bekanntgegeben.
Quelle: opennet.ru
