Megjelent a Firejail 0.9.72 projekt frissítése, amely egy olyan rendszert fejleszt, amely lehetővé teszi grafikus, konzolos és szerveralkalmazások elszigetelt végrehajtását, minimalizálva a fő rendszer kompromittálásának kockázatát megbízhatatlan vagy potenciálisan sérülékeny programok futtatásakor. A program C nyelven készült, GPLv2 licenc alatt terjesztik, és bármely, 3.0-t meghaladó kernelű Linux disztribúcióban működhet. 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áló eszközöktől eltérően a Firejail konfigurálása rendkívül egyszerű, és nem igényel rendszerkép elkészítést — a konténer tartalmát a jelenlegi fájlrendszer alapján, valós időben állítják össze, és a program végrehajtása után törlik. Rugalmas eszközök állnak rendelkezésre a fájlrendszer hozzáférési szabályainak megadásához, lehetőség van megadni, hogy mely fájlokhoz és könyvtárakhoz engedélyezett vagy tilos a hozzáférés, ideiglenes fájlrendszerek (tmpfs) csatlakoztatása, valamint a fájlok vagy könyvtárak csak olvasási jogú hozzáférésének korlátozása, valamint a könyvtárak kombinálása 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:
- Biztonsági rendszerhívás-szűrő került hozzáadásra, amely blokkolja a névtér létrehozását (a korlátozáshoz a „—restrict-namespaces” opció lett hozzáadva). Frissítették a rendszerhívások táblázatait és a seccomp csoportokat.
- Javították a force-nonewprivs (NO_NEW_PRIVS) módot, amely megakadályozza, hogy új folyamatokban további jogosultságokat kapjanak.
- Bevezetésre került a saját AppArmor profilok használatának lehetősége (a csatlakozás során elérhető a „—apparmor” opció).
- A nettrace hálózati forgalomkövető rendszerben, amely megjeleníti az IP-címek forgalmának adatait és intenzitását, megvalósították az ICMP támogatását, és elérhetővé váltak a „—dnstrace”, „—icmptrace” és „—snitrace” opciók.
- Eltávolították a —cgroup és —shell parancsokat (alapértelmezés szerint a —shell=none alkalmazandó). Az alapértelmezett beállítás szerint leállították a firetunnel összeállítását. Kikapcsolták a chroot, private-lib és tracelog beállításokat a /etc/firejail/firejail.config fájlban. Megszűnt a grsecurity támogatása.
Forrás: opennet.ru
