Bylo zveřejněno vydání projektu Firejail 0.9.72, který vyvíjí systém pro izolované spouštění grafických, konzolových a serverových aplikací, umožňující minimalizovat riziko ohrožení hlavního systému při spouštění nedůvěryhodných nebo potenciálně zranitelných programů. Program je napsán v C, distribuován pod licencí GPLv2 a lze jej spustit na libovolné distribuci Linuxu s jádrem starším než 3.0. Hotové balíčky Firejail jsou připraveny ve formátech deb (Debian, Ubuntu) a rpm (CentOS, Fedora).
Pro izolaci používá Firejail jmenné prostory, AppArmor a filtrování systémových volání (seccomp-bpf) na Linuxu. Po spuštění program a všechny jeho podřízené procesy používají samostatné pohledy na prostředky jádra, jako je síťový zásobník, tabulka procesů a přípojné body. Aplikace, které jsou na sobě závislé, lze kombinovat do jednoho společného sandboxu. V případě potřeby lze Firejail použít také ke spuštění kontejnerů Docker, LXC a OpenVZ.
Na rozdíl od nástrojů pro izolaci kontejnerů je konfigurace firejail extrémně jednoduchá a nevyžaduje přípravu obrazu systému – složení kontejneru se tvoří za běhu na základě obsahu aktuálního souborového systému a po dokončení aplikace se smaže. K dispozici jsou flexibilní prostředky pro nastavení pravidel přístupu k systému souborů; můžete určit, ke kterým souborům a adresářům je povolen nebo odepřen přístup, připojit dočasné souborové systémy (tmpfs) pro data, omezit přístup k souborům nebo adresářům pouze pro čtení, kombinovat adresáře pomocí bind-mount a overlayfs.
Pro velké množství populárních aplikací, včetně Firefoxu, Chromia, VLC a Transmission, byly připraveny hotové profily izolace systémových volání. Chcete-li získat oprávnění nezbytná k nastavení prostředí v izolovaném prostoru, je spustitelný soubor firejail nainstalován s kořenovým příznakem SUID (oprávnění jsou resetována po inicializaci). Chcete-li spustit program v režimu izolace, jednoduše zadejte název aplikace jako argument obslužnému programu firejail, například „firejail firefox“ nebo „sudo firejail /etc/init.d/nginx start“.
V novém vydání:
- Přidán filtr seccomp pro systémová volání, který blokuje vytváření jmenných prostorů (pro povolení byla přidána možnost „--restrict-namespaces“). Aktualizované tabulky systémových volání a skupiny seccomp.
- Vylepšený režim force-nonewprivs (NO_NEW_PRIVS), který zabraňuje novým procesům získat další oprávnění.
- Přidána možnost používat vlastní profily AppArmor (pro připojení je nabízena možnost „--apparmor“).
- Systém sledování síťového provozu nettrace, který zobrazuje informace o IP a intenzitě provozu z každé adresy, implementuje podporu ICMP a nabízí možnosti "--dnstrace", "--icmptrace" a "--snitrace".
- Příkazy --cgroup a --shell byly odstraněny (výchozí nastavení je --shell=none). Sestavení Firetunelu je ve výchozím nastavení zastaveno. Zakázáno nastavení chroot, private-lib a tracelog v /etc/firejail/firejail.config. podpora grsecurity byla ukončena.
Zdroj: opennet.ru