Rilascio del sistema di isolamento delle applicazioni Firejail 0.9.60

Ho visto la luce rilascio del progetto Firejail 0.9.60, nell'ambito del quale si sta sviluppando un sistema per l'esecuzione isolata di applicazioni grafiche, console e server. L'utilizzo di Firejail consente 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 linguaggio C, distribuito da concesso in licenza con GPLv2 e può essere eseguito su qualsiasi distribuzione Linux con un kernel precedente alla 3.0. Pacchetti pronti con Firejail preparato nei formati deb (Debian, Ubuntu) e rpm (CentOS, Fedora).

Per l'isolamento in Firejail sono usati spazi dei nomi, AppArmor e filtro delle chiamate di sistema (seccomp-bpf) in 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 per l'isolamento dei container, il firejail è estremamente semplice nella configurazione 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, già pronte profili isolamento delle chiamate di sistema. 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:

  • È stata risolta una vulnerabilità che consente a un processo dannoso di aggirare il meccanismo di restrizione delle chiamate di sistema. L'essenza della vulnerabilità è che i filtri Seccomp vengono copiati nella directory /run/firejail/mnt, che è scrivibile all'interno dell'ambiente isolato. I processi dannosi eseguiti in modalità isolamento possono modificare questi file, provocando l'esecuzione di nuovi processi in esecuzione nello stesso ambiente senza applicare il filtro delle chiamate di sistema;
  • Il filtro memory-deny-write-execute garantisce che la chiamata "memfd_create" sia bloccata;
  • Aggiunta la nuova opzione "private-cwd" per cambiare la directory di lavoro per jail;
  • Aggiunta l'opzione "--nodbus" per bloccare i socket D-Bus;
  • Restituito il supporto per CentOS 6;
  • Interrotto supporto per pacchetti in formati Flatpak и scattare.
    Indicatoche questi pacchetti dovrebbero utilizzare i propri strumenti;

  • Sono stati aggiunti nuovi profili per isolare 87 programmi aggiuntivi, tra cui mypaint, nano, xfce4-mixer, gnome-keyring, redshift, font-manager, gconf-editor, gsettings, freeciv, lincity-ng, openttd, torcs, tremulous, warsow, freemind, kid3, freecol, opencity, utox, freeoffice-planmaker, freeoffice-presentazioni, freeoffice-textmaker, inkview, meteo-qt, ktouch, yelp e cantata.

Fonte: opennet.ru

Aggiungi un commento