Dopo sei mesi di sviluppo rilascio del progetto , nell'ambito del quale si sviluppa un sistema per l'esecuzione isolata di applicazioni grafiche, console e server. L'uso di Firejail consente di ridurre al minimo il rischio di compromissione del sistema host durante l'esecuzione di programmi poco affidabili o potenzialmente vulnerabili. Il programma è scritto in C, sotto licenza GPLv2 e può funzionare su qualsiasi distribuzione Linux con un kernel superiore a 3.0. Sono disponibili pacchetti precompilati di Firejail in formati deb (Debian, Ubuntu) e rpm (CentOS, Fedora).
Per l'isolamento in Firejail spazi dei nomi (namespaces), AppArmor e filtraggio delle chiamate di sistema (seccomp-bpf) su Linux. Dopo il lancio, il programma e tutti i suoi processi figlio utilizzano rappresentazioni separate delle risorse del kernel, come lo stack di rete, la tabella dei processi e i punti di montaggio. Le applicazioni interdipendenti possono essere raggruppate in un unico sandbox. Se desiderato, Firejail può essere utilizzato anche per eseguire contenitori Docker, LXC e OpenVZ.
A differenza degli strumenti di isolamento dei contenitori, firejail è estremamente nella configurazione e non richiede la preparazione di un'immagine di sistema: la composizione del contenitore viene formata al volo sulla base del contenuto dell'attuale FS e viene rimossa dopo il completamento dell'applicazione. Vengono forniti strumenti flessibili per definire le regole di accesso al file system, è possibile stabilire quali file e directory sono accessibili o vietati, collegare file system temporanei (tmpfs) per i dati, limitare l'accesso a file o directory in sola lettura, e montare directory tramite bind-mount e overlayfs.
Per un gran numero di applicazioni popolari, tra cui Firefox, Chromium, VLC e Transmission, sono stati preparati profili Nel file di configurazione /etc/firejail/firejail.config
Nel nuovo rilascio:
- la configurazione file-copy-limit consente di limitare la dimensione dei file che verranno copiati in memoria quando si utilizzano le opzioni «—private-*» (per impostazione predefinita, il limite è fissato a 500MB). impostazione del file-copy-limit, che consente di limitare la dimensione dei file che verranno copiati in memoria quando si utilizzano le opzioni «—private-*» (per impostazione predefinita, il limite è impostato a 500MB).
- Nel catalogo /usr/share/doc/firejail sono stati aggiunti modelli per la creazione di nuovi profili di restrizione delle applicazioni.
- Nei profili è consentito l'uso di debugger.
- Migliorata la filtrazione delle chiamate di sistema tramite il meccanismo seccomp.
- Garantita l'autodeterminazione dei flag del compilatore.
- La chiamata chroot ora viene eseguita non sulla base del percorso, ma utilizzando i punti di montaggio basati su descrittori di file.
- La cartella /usr/share è stata inserita nella whitelist di vari profili.
- Aggiunti nuovi script di supporto gdb-firejail.sh e sort.py alla sezione conrib.
- Rafforzata la protezione in fase di esecuzione del codice con privilegi (SUID).
- Per i profili sono stati implementati nuovi predicati condizionali HAS_X11 e HAS_NET per verificare la presenza del server X e l'accesso di rete.
- Aggiunti profili per l'esecuzione isolata delle applicazioni (il numero totale di profili è stato portato a 884):
- i2p,
- tor-browser (AUR),
- Zulip,
- rsync,
- signal-cli,
- tcpdump,
- tshark,
- qgis,
- OpenArena,
- godot,
- klatexformula,
- klatexformula_cmdl,
- links,
- xlinks,
- pandoc,
- teams-for-linux,
- gnome-sound-recorder,
- newsbeuter,
- keepassxc-cli,
- keepassxc-proxy,
- rhythmbox-client,
- jerry,
- zeal,
- mpg123,
- conplay,
- mpg123.bin,
- mpg123-alsa,
- mpg123-id3dump,
- out123,
- mpg123-jack,
- mpg123-nas,
- mpg123-openal,
- mpg123-oss,
- mpg123-portaudio,
- mpg123-pulse,
- mpg123-strip,
- pavucontrol-qt,
- gnome-characters,
- gnome-character-map,
- Whalebird,
- tb-starter-wrapper,
- bzcat,
- kiwix-desktop,
- bzcat,
- zstd,
- pzstd,
- zstdcat,
- zstdgrep,
- zstdless,
- zstdmt,
- unzstd,
- ar,
- gnome-latex,
- pngquant,
- kalgebra,
- kalgebramobile,
- amuled,
- kfind,
- profanity,
- audio-recorder,
- cameramonitor,
- ddgtk,
- drawio,
- unf,
- gmpc,
- electron-mail,
- gist,
- gist-paste.
Fonte: opennet.ru
