Megjelent a Firejail 0.9.78 projekt frissítése, amely egy olyan rendszert fejleszt, amely grafikális, konzolos és szerver alkalmazások elszigetelt futtatására szolgál, minimalizálva a fő rendszer kompromittálásának kockázatát gyanús vagy potenciálisan sebezhető programok futtatásakor. A program C nyelven íródott, GPLv2 licenc alatt terjesztik, és bármely Linux disztribúción működhet, amelynek magja 3.0 vagy újabb. A Firejail kész csomagjai deb (Debian, Ubuntu) és rpm (CentOS, Fedora) formátumban érhetők el.
A Firejail izolációjához névtér (namespaces), AppArmor és a rendszerhívások szűrése (seccomp-bpf) használatos Linux alatt. A program elindítása után a program és minden származtatott folyamata különböző kernel erőforrás-áttekintéseket használnak, mint például a hálózati verem, a folyamatok táblázata és a csatolási pontok. Az egymással összefüggő alkalmazásokat egy közös sandboxba lehet csoportosítani. A Firejail-t Docker, LXC és OpenVZ tartályok futtatásához is alkalmazhatjuk, ha szükséges.
A konténerizált elszigetelés eszközeivel ellentétben a Firejail konfigurálása rendkívül egyszerű, és nem igényel rendszerképet — a konténer összetétele a jelenlegi fájlrendszer tartalma alapján, futás közben alakul ki, és az alkalmazás futtatásának befejezésével eltávolításra kerül. Rugalmas fájlrendszer-hozzáférési szabályok megadását teszi lehetővé, lehetővé téve a fájlokhoz és könyvtárakhoz való hozzáférés engedélyezését vagy letiltását, ideiglenes fájlrendszerek (tmpfs) csatlakoztatását, a fájlok vagy könyvtárak olvasásra korlátozását, valamint könyvtárak összekapcsolását bind-mount és overlayfs segítségével.
Számos népszerű alkalmazás, például Firefox, Chromium, VLC és Transmission számára előkészítették a rendszerhívások izolálásához szükséges profilokat. Az izolált környezet beállításához szükséges jogosultságok megszerzéséhez a firejail végrehajtható állományt SUID root zászlóval telepítik (a jogosultságok inicializálása után visszaállnak). Az alkalmazás izolált módon való végrehajtásához elegendő megadni az alkalmazás nevét a firejail eszköz argumentumaként, például: „firejail firefox” vagy „sudo firejail /etc/init.d/nginx start”.
Az új kiadásban:
- A firejail.config konfigurációs fájlhoz hozzáadva lettek az arg-max-count, arg-max-len, env-max-count és env-max-len opciók, amelyek lehetővé teszik a parancssori opciók és környezeti változók számára vonatkozó limitáknak a megváltoztatását. Alapértelmezés szerint az argumentumok száma 128-ra, a környezeti változók száma 256-ra, míg az egyes argumentumok mérete — PATH_MAX a limits.h-ból (Linuxban 40196) + 32.
- Hozzáadva a „—xephyr-extra-params” opció, amely lehetővé teszi a Xephyr számára (amely az X11 sandbox környezetek létrehozására szolgál saját X-kiszolgálóval, amely egy ablakban fut) további opciók megadását parancssorban anélkül, hogy megváltoztatnánk a firejail.config fájlt.
- A sandbox környezetbe telepített bwrap (bubblewrap) eszköz helyett egy fbwrap réteg került bevezetésre, amely programokat indít elszigetelés nélkül, hogy megoldja a Firefox, Thunderbird, GIMP indításával kapcsolatos problémákat, amelyek a glycin 2.0.0 hívásával kapcsolatban merültek fel a gdk-pixbuf2-ben bwrap használatával. A bwrap másolására a réteg helyett hozzáadva lett a „—allow-bwrap” opció.
- Frissítve lettek a seccomp rendszerhívás-táblák. Új rendszerhívások, mint az epoll_pwait2 és futex_wait lettek hozzáadva.
- Eltávolítva a „—disable-globalcfg” fordítási opció, leállítva a overlayfs („—overlay”) és IDS (Intrusion Detection System, „—ids”) mód támogatását.
- Hozzáadva elszigetelt profilok a ne szövegszerkesztőhöz, a Trivalent böngészőhöz és az OpenRA, quakespasm, gzdoom, lzdoom, uzdoom játék motorokhoz.
- Frissítve a thunderbird, wine, qutebrowser, firefox, godot, wusc, mullvad-browser, blink, steam, ssh, brave és hashcat profilok.
Forrás: opennet.ru
