Rilascio del sistema di isolamento delle applicazioni Firejail 0.9.72

È stato pubblicato il rilascio del progetto Firejail 0.9.72 che sviluppa un sistema per l'esecuzione isolata di applicazioni grafiche, console e server, consentendo di ridurre al minimo il rischio di compromettere il sistema principale durante l'esecuzione di programmi non affidabili o potenzialmente vulnerabili. Il programma è scritto in C, distribuito sotto licenza GPLv2 e può funzionare su qualsiasi distribuzione Linux con kernel precedente alla 3.0. I pacchetti Firejail già pronti sono preparati nei formati deb (Debian, Ubuntu) e rpm (CentOS, Fedora).

Per l'isolamento, Firejail utilizza gli spazi dei nomi, AppArmor e il filtro delle chiamate di sistema (seccomp-bpf) su Linux. Una volta avviato, il programma e tutti i suoi processi secondari utilizzano visualizzazioni separate delle risorse del kernel, come lo stack di rete, la tabella dei processi e i punti di montaggio. Le applicazioni che dipendono l'una dall'altra possono essere combinate in un unico sandbox comune. Se lo si desidera, Firejail può essere utilizzato anche per eseguire contenitori Docker, LXC e OpenVZ.

A differenza degli strumenti di isolamento del contenitore, Firejail è estremamente semplice da configurare e non richiede la preparazione di un'immagine di sistema: la composizione del contenitore viene formata al volo in base al contenuto del file system corrente e viene eliminata una volta completata l'applicazione. Vengono forniti mezzi flessibili per impostare le regole di accesso al file system; è possibile determinare a quali file e directory è consentito o negato l'accesso, connettere file system temporanei (tmpfs) per i dati, limitare l'accesso a file o directory in sola lettura, combinare directory tramite rilegatura e sovrapposizioni.

Per un gran numero di applicazioni popolari, tra cui Firefox, Chromium, VLC e Transmission, sono stati preparati profili di isolamento delle chiamate di sistema già pronti. Per ottenere i privilegi necessari per configurare un ambiente sandbox, l'eseguibile firejail viene installato con il flag SUID root (i privilegi vengono ripristinati dopo l'inizializzazione). Per eseguire un programma in modalità isolamento, è sufficiente specificare il nome dell'applicazione come argomento dell'utilità firejail, ad esempio "firejail firefox" o "sudo firejail /etc/init.d/nginx start".

Nella nuova versione:

  • Aggiunto un filtro seccomp per le chiamate di sistema che blocca la creazione di namespace (è stata aggiunta l'opzione “--restrict-namespaces” per abilitarli). Tabelle delle chiamate di sistema e gruppi seccomp aggiornati.
  • Modalità force-nonewprivs migliorata (NO_NEW_PRIVS), che impedisce ai nuovi processi di ottenere privilegi aggiuntivi.
  • Aggiunta la possibilità di utilizzare i propri profili AppArmor (per la connessione viene offerta l'opzione “--apparmor”).
  • Il sistema di tracciamento del traffico di rete nettrace, che visualizza informazioni sull'IP e sull'intensità del traffico da ciascun indirizzo, implementa il supporto ICMP e offre le opzioni "--dnstrace", "--icmptrace" e "--snitrace".
  • I comandi --cgroup e --shell sono stati rimossi (il valore predefinito è --shell=none). La compilazione di Firetunnel viene interrotta per impostazione predefinita. Impostazioni chroot, private-lib e tracelog disabilitate in /etc/firejail/firejail.config. il supporto di grsecurity è stato interrotto.

Fonte: opennet.ru

Aggiungi un commento