Nach sechs Monaten Entwicklungszeit 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 NamensrĂ€ume (namespaces), AppArmor und die Filterung von Systemaufrufen (seccomp-bpf) in Linux. Nach dem Start verwendet das Programm und alle seine untergeordneten Prozesse separate Ansichten der Kernel-Ressourcen, wie z. B. den Netzwerkstack, die Prozess-Tabelle und die Mount-Punkte. AbhĂ€ngige Anwendungen können in einem gemeinsamen Sandbox vereinigt werden. Firejail kann auch verwendet werden, um Docker-, LXC- und OpenVZ-Container zu starten.
Im Gegensatz zu Containermethoden ist Firejail Ă€uĂerst In der Konfiguration ist keine Vorbereitung eines Systemabbilds erforderlich â der Container wird zur Laufzeit basierend auf dem Inhalt des aktuellen Dateisystems gebildet und nach dem Ende der Anwendung 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 verboten ist, temporĂ€re Dateisysteme (tmpfs) fĂŒr Daten einbinden, den Zugriff auf Dateien oder Verzeichnisse nur lesend einschrĂ€nken und Verzeichnisse ĂŒber bind-mount und overlayfs kombinieren.
FĂŒr eine Vielzahl beliebter Anwendungen, einschlieĂlich Firefox, Chromium, VLC und Transmission, wurden vorbereitete Isolation von Systemaufrufen. Um die erforderlichen Berechtigungen zur Einrichtung einer isolierten Umgebung zu erhalten, wird die ausfĂŒhrbare Datei firejail mit dem SUID-Root-Flag gesetzt (nach der Initialisierung werden die Berechtigungen zurĂŒckgesetzt). Um das Programm im isolierten Modus auszufĂŒhren, genĂŒgt es, den Namen der Anwendung als Argument fĂŒr das firejail-Dienstprogramm anzugeben, z. B. âfirejail firefoxâ oder âsudo firejail /etc/init.d/nginx startâ.
In der neuen Version:
- In die Konfigurationsdatei /etc/firejail/firejail.config die Einstellung file-copy-limit, die die GröĂe der Dateien begrenzt, die bei Verwendung der Optionen ââprivate-*â in den Speicher kopiert werden sollen (StandardmĂ€Ăig ist die Begrenzung auf 500 MB festgelegt).
- Im Verzeichnis /usr/share/doc/firejail wurden Vorlagen zum Erstellen neuer Anwendungsprofile hinzugefĂŒgt.
- In den Profilen ist die Verwendung von Debuggern erlaubt.
- Die Filterung von Systemaufrufen wurde durch den Mechanismus seccomp verbessert.
- Es wurde eine automatische Erkennung der Compiler-Flags sichergestellt.
- Der chroot-Aufruf erfolgt jetzt nicht mehr auf Basis des Pfades, sondern unter Verwendung von Mount-Punkten auf Basis des Dateideskriptor.
- Das Verzeichnis /usr/share wurde in die Whitelist verschiedener Profile aufgenommen.
- In den Abschnitt contrib wurden neue Hilfsskripte gdb-firejail.sh und sort.py hinzugefĂŒgt.
- Der Schutz in der AusfĂŒhrungsphase privilegierten Codes (SUID) wurde verstĂ€rkt.
- FĂŒr die Profile wurden neue bedingte Merkmale HAS_X11 und HAS_NET zur ĂberprĂŒfung der VerfĂŒgbarkeit eines X-Servers und des Netzwerkzugriffs implementiert.
- Profile fĂŒr den isolierten Start von Anwendungen hinzugefĂŒgt (insgesamt wurden 884 Profile erreicht):
- i2p,
- tor-browser (AUR),
- Zulip,
- rsync,
- signal-cli,
- tcpdump,
- tshark,
- qgis,
- OpenArena,
- godot,
- klatexformula,
- klatexformula_cmdl,
- links,
- xlinks,
- pandoc,
- teams-for-linux,
- gnome-sound-recorder,
- newsbeuter,
- keepassxc-cli,
- keepassxc-proxy,
- rhythmbox-client,
- jerry,
- zeal,
- mpg123,
- conplay,
- mpg123.bin,
- mpg123-alsa,
- mpg123-id3dump,
- out123,
- mpg123-jack,
- mpg123-nas,
- mpg123-openal,
- mpg123-oss,
- mpg123-portaudio,
- mpg123-pulse,
- mpg123-strip,
- pavucontrol-qt,
- gnome-characters,
- gnome-character-map,
- Whalebird,
- tb-starter-wrapper,
- bzcat,
- kiwix-desktop,
- bzcat,
- zstd,
- pzstd,
- zstdcat,
- zstdgrep,
- zstdless,
- zstdmt,
- unzstd,
- ar,
- gnome-latex,
- pngquant,
- kalgebra,
- kalgebramobile,
- amuled,
- kfind,
- profanity,
- audio-recorder,
- cameramonitor,
- ddgtk,
- drawio,
- unf,
- gmpc,
- electron-mail,
- gist,
- gist-paste.
Quelle: opennet.ru
