Projekti Firejail 0.9.72 versioon on avaldatud, arendades süsteemi isoleeritud käivitamiseks graafiliste, konsooli- ja serverirakenduste jaoks, mis vähendab põhissüsteemi kompromiteerimise riski, kui käivitada usaldamatuid või potentsiaalselt haavatavaid programme. Programm on kirjutatud C keeles, levitatakse GPLv2 litsentsi alusel ja saab töötada igas Linuxi jaotuses, mille tuum on vanem kui 3.0. Valmispaketid Firejaili jaoks on ette valmistatud deb (Debian, Ubuntu) ja rpm (CentOS, Fedora) formaatides.
Firejailis isoleerimiseks kasutatakse nimesüne (namespaces), AppArmor'i ja süsteemikõnede filtreerimist (seccomp-bpf) Linuxis. Pärast käivitamist kasutab programm ja kõik selle tütarprotsessid eraldi tuumaressursside vaateid, nagu võrgu töökeskkond, protsesside tabel ja monteerimispunktid. Omavahel sõltuvaid rakendusi saab gruppi liita ühte ühisse liivakasti (sandbox). Soovi korral saab Firejaili kasutada ka Docker, LXC ja OpenVZ konteinerite käitamiseks.
Erinevalt konteinerite isoleerimise vahenditest on firejail äärmiselt lihtne konfigureerida ning ei nõua süsteemipildi ettevalmistamist — konteineri koostis moodustatakse reaalajas praeguse failisüsteemi põhjal ja hävitatakse pärast rakenduse töö lõppu. Pakutakse paindlikke võimalusi juurdepääsureeglite seadmiseks failisüsteemile, kus saab määrata, millistele failidele ja kaustadele on juurdepääs lubatud või keelatud, ühendades andmetele ajutisi failisüsteeme (tmpfs), piirates faili või kausta juurdepääsu ainult lugemiseks, ja kasutades bind-mount ja overlayfs kaustade kombineerimist.
Paljude populaarsete rakenduste, sealhulgas Firefoxi, Chromiumi, VLC ja Transmissioni jaoks on ette valmistatud valmis süsteemikutsungite isoleerimise profiilid. Nõutavate privileegide saamiseks isoleeritud keskkonna seadistamiseks paigaldatakse firejaili käivitatav fail SUID root lipuga (privileegid lähtestatakse pärast initsialiseerimist). Rakenduse isoleeritud režiimis tööks on piisav, kui tuua rakenduse nimi firejaili tööriista argumendiks, näiteks "firejail firefox" või "sudo firejail /etc/init.d/nginx start".
Uues väljaandes:
- Lisatud seccomp-filtrite süsteemikutsungite jaoks, mis blokeerivad nimede ruumide loomise (lisatud optsiooniga «—restrict-namespaces»). Uuendatud süsteemikutsungite tabelid ja seccomp-grupid.
- Parandatud režiim force-nonewprivs (NO_NEW_PRIVS), mis keelab uutes protsessides täiendavate privileegide saamise.
- Lisatud võimalus kasutada oma AppArmori profiile (ühendamiseks on ette nähtud valik «—apparmor»).
- Võrguliikluse jälgimise süsteemis nettrace, mis kuvab teavet IP aadresside ja liiklusintensiivsuse kohta, on realiseeritud ICMP tugi ning lisatud valikud «—dnstrace», «—icmptrace» ja «—snitrace».
- Kustutatud käsud —cgroup ja —shell (vaikimisi kasutatakse —shell=none). Vaikimisi on lõpetatud firetunneli ehitus. Keelatud on chroot, private-lib ja tracelog seaded failis /etc/firejail/firejail.config. Grsecurity tugi on lõpetatud.
Allikas: opennet.ru
