Avalikkusele on antud Firejail 0.9.78 väljaanne, mis arendab süsteemi graafiliste, konsooli- ja serverirakenduste isoleeritud käitamiseks, võimaldades vähendada peamise süsteemi kompromiteerimise riski, kui käivitada usaldamatud või potentsiaalselt haavatavad programmid. Programm on kirjutatud C keeles, levitatakse GPLv2 litsentsi alusel ja toimib igas Linuxi jaotustes, mille tuum on vanem kui 3.0. Firejail on saadaval deb (Debian, Ubuntu) ja rpm (CentOS, Fedora) pakettidena.
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 tööriistadest on Firejail äärmiselt lihtne seadistada ja ei nõua süsteemi kuvandi ettevalmistamist — konteineri koosseis moodustatakse jooksvalt, tuginedes käesoleva failisüsteemi sisule, ja kustutatakse pärast rakenduse käivitamise lõpetamist. Pakutakse paindlikke juurdepääsureeglite määramise vahendeid failisüsteemile, mis võimaldavad määrata, millistele failidele ja kaustadele on juurdepääs lubatud või keelatud, liita ajutisi failisüsteeme (tmpfs) andmete jaoks, piirata juurdepääsu failidele või kaustadele ainult lugemisõigustega, ning ühendada kaustu bind-mount ja overlayfs kaudu.
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:
- firejail.config konfiguratsioonifaili on lisatud arg-max-count, arg-max-len, env-max-count ja env-max-len valikud, et muuta käsurea ja keskkonnamuutujate arvu ja suuruse piire. Vaikimisi on argumentide arv piiratud 128 ja keskkonnamuutujate arv 256, samas kui iga argumendi suurus on PATH_MAX (limits.h failis, Linuxis 40196) + 32.
- Lisatud on valik „—xephyr-extra-params“, et määrata täiendavaid valikuid Xephyrile (kasutatakse X11 liivakastikeskkondade loomiseks, kus oma X-server töötab aknas) käsureal ilma firejail.config-i muutmata.
- Liivakastikeskkonda installitud utiliit bwrap (bubblewrap) on asendatud fbwrapi kihiga, mis käivitab programme ilma isoleerimiseta, et lahendada probleeme Firefoxi, Thunderbirdi ja GIMPi käivitamisega, mis on seotud glycin 2.0.0 kutsega gdk-pixbuf2-st bwrapi kasutamisel. bwrapi asemel kihina lisati valik „—allow-bwrap“.
- Seccompi süsteemikutsungite tabelid on värskendatud. Lisatud on uusi süsteemikutsungeid, nagu epoll_pwait2 ja futex_wait.
- Kogumise valik „—disable-globalcfg“ on eemaldatud, overlayfs („—overlay“) ja IDS režiim (Intrusion Detection System, „—ids“) ei ole enam toetatud.
- Lisatud isolatsiooniprofiilid redaktorile ne (tekstiredaktor), brauserile Trivalent ja mängumootoritele OpenRA, quakespasm, gzdoom, lzdoom, uzdoom.
- Uuendatud profiilid thunderbird'i, wine'i, qutebrowser'i, firefox'i, godot'i, wusc'i, mullvad-brauseri, blink'i, steam'i, ssh, brave ja hashcat'i jaoks.
Allikas: opennet.ru
