
Linux namespaces e sandbox seccomp-bpf
Firejail è uno strumento di sicurezza leggero pensato per proteggere un sistema Linux creando un ambiente ristretto per eseguire applicazioni (potenzialmente non affidabili).
Più precisamente, è un programma sandbox SUID che riduce il rischio di violazioni della sicurezza utilizzando i namespace Linux, seccomp-bpf e le capabilities Linux. Consente a un processo e a tutti i suoi discendenti di avere una propria visione privata delle risorse del kernel condivise globalmente, come lo stack di rete, la tabella dei processi e la tabella dei mount. Firejail può funzionare in un ambiente SELinux o AppArmor ed è integrato con i Control Groups di Linux.
Scritto in C e praticamente senza dipendenze, il software gira su qualsiasi computer Linux con una versione del kernel 3.x o successiva. Può mettere in sandbox qualsiasi tipo di processi: server, applicazioni grafiche e persino sessioni di login degli utenti. Il software include profili di sandbox per molti dei programmi Linux più comuni, come Mozilla Firefox, Chromium, VLC, Transmission, ecc.
La sandbox è leggera e l'overhead è basso. Non ci sono file di configurazione complicati da modificare, nessuna connessione socket aperta, nessun demone in esecuzione in background. Tutte le funzionalità di sicurezza sono implementate direttamente nel kernel Linux e sono disponibili su qualsiasi computer Linux.
Avvio rapido |
Sicurezza avanzata del browser |
Sicurezza del browser Tor |
Vedi SECURITY.md.
Per le versioni supportate, vedi SECURITY.md.
Nota: le versioni presenti in Debian stable e backports sono probabilmente obsolete, quindi al momento consigliamo di scaricare e installare il pacchetto .deb dall'ultima release:
Oppure compilare dai sorgenti.
Debian stable (bullseye): consigliamo di usare il pacchetto backports.
Nota: le versioni dalla distribuzione e dalla PPA sono probabilmente obsolete, quindi al momento consigliamo di scaricare e installare il pacchetto .deb dall'ultima release:
Oppure compilare dai sorgenti.
Nota: la raccomandazione sulla PPA riguarda principalmente firejail stesso; è comunque possibile installare firetools e gli strumenti correlati a firejail direttamente dalla distribuzione se non sono presenti nella PPA, dato che tendono a essere aggiornati meno frequentemente.
Per Ubuntu 18.04+ e derivate (come Linux Mint), si consiglia vivamente di usare la PPA.
Come aggiungere e installare dalla PPA:
sudo add-apt-repository ppa:deki/firejail
sudo apt-get update
sudo apt-get install firejail firejail-profiles
Motivo: il pacchetto firejail per Ubuntu 20.04 è rimasto vulnerabile a CVE-2021-26910 per mesi dopo che una patch era stata pubblicata su Launchpad:
Vedi anche https://wiki.ubuntu.com/SecurityTeam/FAQ:
Quale software è supportato dal team di sicurezza di Ubuntu?
Ubuntu è attualmente suddiviso in quattro componenti: main, restricted, universe e multiverse. Tutti i pacchetti binari in main e restricted sono supportati dal team di sicurezza di Ubuntu per l'intera vita di una release di Ubuntu, mentre i pacchetti binari in universe e multiverse sono supportati dalla community di Ubuntu.
Inoltre, la versione della PPA è probabilmente più recente e contiene più correzioni ai profili.
Vedi le seguenti discussioni per i dettagli:
Firejail è disponibile in diverse distribuzioni Linux: