Pärast kuue kuu arendustööd projekti väljaanne , mille osalade eraldamiseks graafiliste, konsooli ja serveri rakenduste käitamiseks. Firejail'i kasutamine vähendab peamise süsteemi riskide kompromiteerimist, kui käitatakse usaldamatuid või potentsiaalselt haavatavaid programme. Programm on kirjutatud C keeles, GPLv2 litsentsi all ja see töötab mis tahes Linuxi distributsioonis, mille tuum on versioonist 3.0 vanem. Firejail'i valmis paketid on saadaval deb (Debian, Ubuntu) ja rpm (CentOS, Fedora) formaatides.
Eraldamiseks kasutab Firejail nimed (namespaces), AppArmor ja süsteemitõkestuse filtreerimine (seccomp-bpf) Linuxis. Pärast käivitamist kasutab programm koos selle allprotsessidega eraldi tuumaressursside vaateid, nagu võrgu- jaotis, protsesside tabel ja mount-punktid. Omavahel seotud rakendusi saab ühendada ühte ühisesse liivakasti. Soovi korral saab Firejail'i kasutada ka Docker, LXC ja OpenVZ konteinerite käitamiseks.
Erinevalt konteinerite isolatsioonivahenditest on Firejail äärmiselt konfiguratsioonis ja ei vaja süsteemipildi ettevalmistamist — konteineri sisu moodustatakse jooksvalt põhinedes praegusele failisüsteemile ja eemaldatakse pärast rakenduse lõpetamist. Pakutakse paindlikke vahendeid failisüsteemide juurdepääsureeglite seadmise jaoks, on võimalik määrata, millistele failidele ja katalogidele on juurdepääs lubatud või keelatud, ühendades andmete jaoks ajutised failisüsteemid (tmpfs), piirates juurdepääsu failidele või katalogidele ainult lugemiseks ning kombineerides kataloge läbi bind-mount ja overlayfs.
Paljude populaarsete rakenduste jaoks, sealhulgas Firefox, Chromium, VLC ja Transmission, on valmis süsteemi kõnede isoleerimise. Eriõiguste saamiseks, mis on vajalikud isoleeritud keskkonna seadistamiseks, installitakse käivitatav fail firejail SUID root lipuga (pärast initsialiseerimist tühistatakse õigused). Rakenduse käivitamiseks isoleeritud režiimis piisab, kui märkida rakenduse nimi firejail utiliidi argumendina, näiteks "firejail firefox" või "sudo firejail /etc/init.d/nginx start".
Uues väljaandes:
- Konfiguratsioonifaili /etc/firejail/firejail.config file-copy-limit seade, mis võimaldab piirata mälus kopeeritavate failide suurust, kui kasutatakse valikuid "—private-*" (vaikimisi on piirang seatud 500MB peale).
- Katalooge /usr/share/doc/firejail on lisatud mallid uute rakenduste piiranguprofiilide loomiseks.
- Profiilides on lubatud silurite kasutamine.
- Süsteemi kõnede filtreerimist on parandatud seccomp mehhanismi abil.
- Kompilaatori lipud on automaatselt tuvastatud.
- chrooti kutse ei toimu enam tee põhjal, vaid kasutades failide descriptor'e põhjal koostatud mount-punkte.
- Kataloog /usr/share on valgetesse loenditesse lisatud mitmesuguste profiilide jaoks.
- conrib sektsiooni on lisatud uued abiskripti gdb-firejail.sh ja sort.py.
- Tugevdatud kaitse privileege omava koodi (SUID) täitmisel.
- Profiilide jaoks on rakendatud uusi tingimuslikke märke HAS_X11 ja HAS_NET X-serveri ja võrgupääsuga kontrollimiseks.
- Lisatud on profiile eraldatud rakenduste käivitamiseks (profiilide koguarv on tõstetud 884-ni):
- 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.
Allikas: opennet.ru
