Efter sex månaders utveckling projektets release , inom vilket ett system utvecklas för isolerad körning av grafiska, konsol- och serverapplikationer. Användningen av Firejail minimerar risken för att huvudsystemet komprometteras vid körning av otillförlitliga eller potentiellt sårbara program. Programmet är skrivet i C-språket, under licens av GPLv2 och kan köras på vilken Linux-distribution som helst med en kärna äldre än 3.0. Färdiga paket med Firejail i deb-format (Debian, Ubuntu) och rpm (CentOS, Fedora).
För isolering i Firejail namnrymder (namespaces), AppArmor och filtrering av systemanrop (seccomp-bpf) i Linux. Efter att programmet har startats använder det och alla dess barnprocesser separata vyer av kärnresurser, såsom nätverksstacken, process tabellen och monteringspunkter. Sammanlänkade applikationer kan samlas i en gemensam sandbox. Om så önskas kan Firejail också användas för att köra Docker-, LXC- och OpenVZ-containrar.
Till skillnad från kontainisolering är firejail ytterst att konfigurera och kräver ingen förberedelse av systemavbilden — behållaren formas i realtid baserat på innehållet i det aktuella filsystemet och tas bort efter att programmet har avslutats. Flexibla medel för att ange åtkomsträttigheter till filsystemet tillhandahålls, man kan definiera vilka filer och kataloger som har tillgång till eller inte, koppla tillfälliga filsystem (tmpfs) för data, begränsa åtkomst till filer eller kataloger till endast läsning, och kombinera kataloger via bind-mount och overlayfs.
För ett stort antal populära program, inklusive Firefox, Chromium, VLC och Transmission, finns färdiga för isolering av systemanrop. För att erhålla de privilegier som krävs för att konfigurera den isolerade miljön installeras den körbara filen firejail med SUID root-flaggan (efter initiering återställs privilegierna). För att köra programmet i isoleringsläge räcker det med att ange applikationens namn som argument för firejail-verktyget, till exempel "firejail firefox" eller "sudo firejail /etc/init.d/nginx start".
I den nya utgåvan:
- I konfigurationsfilen /etc/firejail/firejail.config inställningen file-copy-limit, som gör att storleken på filer som kopieras till minnet vid användning av alternativet "—private-*" kan begränsas (som standard är begränsningen 500MB).
- I katalogen /usr/share/doc/firejail har mallar lagts till för att skapa nya profiler för applikationsbegränsning.
- I profilerna är användning av felsökare tillåten.
- Filtreringen av systemanrop har förbättrats med hjälp av seccomp-mekanismen.
- Automatisk detektering av kompilatorflaggor har implementerats.
- Chroot-anropet utförs nu inte baserat på sökvägen, utan med hjälp av monteringspunkter baserade på filhandtag.
- Katalogen /usr/share har lagts till i vita listan för olika profiler.
- Nya hjälpskript gdb-firejail.sh och sort.py har lagts till i sektionen contrib.
- Skyddet vid körning av privilegierad kod (SUID) har stärkts.
- Nya villkorliga egenskaper HAS_X11 och HAS_NET har implementerats i profilerna för att kontrollera närvaro av X-server och nätverksåtkomst.
- Profiler för isolerad körning av applikationer har lagts till (det totala antalet profiler har nått 884):
- 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.
Källa: opennet.ru
