Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
firejail — Linux namespaces e sandbox seccomp-bpf | Kitploit
Strumenti/GitHubGitHub/netblue30/firejail
Strumenti DifensiviVirtualizzazione per la SicurezzaPrivacy
GitHubnetblue30/firejail

firejail

Linux namespaces e sandbox seccomp-bpf

Vedi RepositorySito web
7.6k6703 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Firejail

Build (GitLab) Build (GitHub) Build-extra Test Check-C Check-Profiles Check-Python Codespell Packaging status (Repology)

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.

Video

Collegamenti

  • Sito web del progetto: https://firejail.wordpress.com/
  • IRC: https://web.libera.chat/#firejail
  • Download e installazione: https://firejail.wordpress.com/download-2/
  • Funzionalità: https://firejail.wordpress.com/features-3/
  • Documentazione: https://firejail.wordpress.com/documentation-2/
  • FAQ: https://github.com/netblue30/firejail/wiki/Frequently-Asked-Questions
  • Wiki: https://github.com/netblue30/firejail/wiki
  • GitHub Actions: https://github.com/netblue30/firejail/actions
  • GitLab CI: https://gitlab.com/Firejail/firejail_ci/pipelines
  • Debian CI: https://salsa.debian.org/reiner/firejail
  • Tracker dei pacchetti Debian: https://tracker.debian.org/pkg/firejail
  • Ubuntu PPA: https://launchpad.net/~deki/+archive/ubuntu/firejail
  • Canale video: https://odysee.com/@netblue30:9?order=new
  • Canale video di backup: https://www.bitchute.com/profile/JSBsA1aoQVfW/

Vulnerabilità di sicurezza

Vedi SECURITY.md.

Installazione

Per le versioni supportate, vedi SECURITY.md.

Debian

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:

  • https://github.com/netblue30/firejail/releases/latest

Oppure compilare dai sorgenti.

Vecchie istruzioni

Debian stable (bullseye): consigliamo di usare il pacchetto backports.

Ubuntu

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:

  • https://github.com/netblue30/firejail/releases/latest

Oppure compilare dai sorgenti.

Vecchie istruzioni

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:

root@kitploit:~
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:

  • CVE-2021-26910
  • la versione di firejail in Ubuntu 20.04 LTS è vulnerabile a CVE-2021-26910

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:

  • Dovrei continuare a usare la versione di firejail disponibile nei repository della mia distribuzione?
  • Come installare l'ultima versione su Ubuntu e derivate

Altre distribuzioni

Firejail è disponibile in diverse distribuzioni Linux:

Repology

Packaging status (Repology)

Fatta eccezione per le eccezioni sopra menzionate, se la tua distribuzione fornisce una versione supportata di firejail, in generale è una buona idea installarlo dalla distribuzione.

La versione può essere verificata con firejail --version dopo l'installazione.

Puoi anche installare uno dei pacchetti rilasciati.

Compilazione

Istruzioni per compilare e installare dai sorgenti l'attuale versione di sviluppo.

Si consiglia di usare le istruzioni specifiche per la distribuzione riportate di seguito, quando applicabili, poiché generano pacchetti nativi, che dovrebbero rendere più semplice l'integrazione con il resto del sistema e la gestione dei pacchetti.

Per le altre distribuzioni, vedi le istruzioni generiche.

Vedi anche .gitlab-ci.yml per come vengono eseguite le build specifiche per distribuzione nella CI.

Arch

Nota: il pacchetto AUR non è mantenuto da noi.

Installa firejail-git dall'AUR.

Esempio:

root@kitploit:~
yay -S firejail-git

Debian

Per Debian, Ubuntu e derivate:

Nota: eventuali opzioni di ./configure devono essere passate a mkdeb.sh (ad esempio ./mkdeb.sh --enable-foo).

root@kitploit:~
sudo apt-get update -qy
sudo apt-get install -qy \
  git build-essential fakeroot lintian libapparmor-dev pkg-config gawk
git clone 'https://github.com/netblue30/firejail.git' &&
cd firejail &&
./configure &&
make dist &&
./mkdeb.sh &&
sudo dpkg -i ./*.deb &&
make installcheck

Fedora

Per Fedora e derivate:

Nota: eventuali opzioni di ./configure devono essere passate a mkrpm.sh (ad esempio ./platform/rpm/mkrpm.sh --enable-foo).

root@kitploit:~
sudo dnf update -y
sudo dnf install -y rpm-build gcc make
git clone 'https://github.com/netblue30/firejail.git' &&
cd firejail &&
./configure &&
make dist &&
./platform/rpm/mkrpm.sh &&
sudo rpm -i ./*.rpm &&
make installcheck

Generiche

Istruzioni generiche di compilazione/installazione:

root@kitploit:~
git clone 'https://github.com/netblue30/firejail.git' &&
cd firejail &&
./configure &&
make -j "$(nproc)" &&
sudo make install-strip &&
make installcheck

Su Debian/Ubuntu dovrai installare git e gcc.

Per compilare con il supporto AppArmor (che di solito viene usato su Debian, Ubuntu, openSUSE e derivate), installa le librerie di sviluppo AppArmor e pkg-config e usa l'opzione --enable-apparmor di ./configure:

root@kitploit:~
sudo apt-get install git build-essential libapparmor-dev pkg-config gawk

Per compilare con il supporto SELinux (che di solito viene usato su Fedora, RHEL e derivate), installa libselinux1-dev (libselinux-devel su Fedora) e usa l'opzione --enable-selinux di ./configure.

Informazioni dettagliate sull'uso di firejail da git sono disponibili nella wiki.

Esecuzione della sandbox

Nota: assicurati di usare il percorso completo del programma (ad esempio, firejail /usr/bin/firefox invece di firejail firefox) per evitare potenziali problemi di firejail-in-firejail (vedi #2877).

Per avviare la sandbox, anteponi firejail al tuo comando:

root@kitploit:~
firejail /usr/bin/firefox            # starting Mozilla Firefox
firejail /usr/bin/transmission-gtk   # starting Transmission BitTorrent
firejail /usr/bin/vlc                # starting VideoLAN Client
sudo firejail /etc/init.d/nginx start

Esegui firejail --list in un terminale per elencare tutte le sandbox attive. Esempio:

root@kitploit:~
$ firejail --list
1617:netblue:/usr/bin/firejail /usr/bin/firefox-esr
7719:netblue:/usr/bin/firejail /usr/bin/transmission-qt
7779:netblue:/usr/bin/firejail /usr/bin/galculator
7874:netblue:/usr/bin/firejail /usr/bin/vlc --started-from-file file:///home/netblue/firejail-whitelist.mp4
7916:netblue:firejail --list

Integrazione desktop

Integra la tua sandbox nel desktop eseguendo i seguenti due comandi:

root@kitploit:~
firecfg --fix-sound
sudo firecfg

Il primo comando risolve alcuni bug di memoria condivisa/namespace PID nel software PulseAudio precedente alla versione 9. Il secondo comando integra Firejail nel tuo desktop. Dovrai disconnetterti e riconnetterti per applicare le modifiche a PulseAudio.

Avvia i tuoi programmi come sei abituato: menu del gestore del desktop, file manager, launcher del desktop.

L'integrazione si applica a qualsiasi programma supportato per impostazione predefinita da Firejail. Ci sono oltre 900 applicazioni predefinite nell'attuale versione di Firejail, e il numero aumenta a ogni nuova release.

Manteniamo l'elenco delle applicazioni in src/firecfg/firecfg.config (/etc/firejail/firecfg.config quando installato).

Profili di sicurezza

La maggior parte delle opzioni della riga di comando di Firejail può essere passata alla sandbox tramite i file di profilo.

Puoi trovare i profili per tutte le applicazioni supportate in etc/ (/etc/firejail/ quando installato).

Teniamo anche un elenco di correzioni dei profili per le versioni precedenti in etc-fixes/.

Se mantieni profili di sicurezza Firejail aggiuntivi in un repository pubblico, invitaci un link:

  • https://github.com/chiraag-nataraj/firejail-profiles
  • https://github.com/triceratops1/fe

Usa questo issue per richiedere nuovi profili:

  • Richieste di profili

Puoi anche usare questo strumento per ottenere l'elenco delle syscall necessarie a un programma:

  • contrib/syscalls.sh

Disinstallazione

firecfg crea link simbolici in /usr/local/bin, quindi per rimuovere completamente firejail, esegui quanto segue prima di disinstallare:

root@kitploit:~
sudo firecfg --clean

Vedi man firecfg per i dettagli.

Nota: i link simbolici rotti vengono ignorati durante la ricerca di un eseguibile in $PATH, quindi disinstallare senza eseguire i passaggi precedenti non dovrebbe causare problemi.

Ultima versione rilasciata: 0.9.80

Versione di sviluppo attuale: 0.9.81

Supporto Landlock - in corso/sperimentale

  • Aggiunto in #6078, basato su #5315 di ChrysoliteAzalea/landlock
  • Rilevamento in fase di compilazione basato su linux/landlock.h - se l'header viene trovato, la funzionalità viene compilata
  • Rilevamento in fase di esecuzione basato sul fatto che Landlock sia supportato dal kernel e sia abilitato sul sistema
root@kitploit:~
LANDLOCK
       Landlock is a Linux security module first introduced in version 5.13 of
       the  Linux  kernel.  It allows unprivileged processes to restrict their
       access to the filesystem.  Once imposed, these restrictions  can  never
       be  removed,  and  all child processes created by a Landlock-restricted
       processes inherit these restrictions.  Firejail supports Landlock as an
       additional  sandboxing  feature.  It can be used to ensure that a sand‐
       boxed application can only access files and directories that it was ex‐
       plicitly  allowed  to access.  Firejail supports populating the ruleset
       with both a basic set of rules (see --landlock) and with a  custom  set
       of rules.

       Important notes:

              - A process can install a Landlock ruleset only if it has either
              CAP_SYS_ADMIN in its effective capability set, or  the  "No  New
              Privileges"  restriction enabled.  Because of this, enabling the
              Landlock feature will also cause Firejail to enable the "No  New
              Privileges"  restriction,  regardless  of  the  profile  or  the
              --nonewprivs command line option.

              - Access to the /proc directory is managed through  the  --land‐
              lock.proc command line option.

              -  Access  to  the  /etc directory is automatically allowed.  To
              override this, use the --writable-etc command line option.   You
              can  also use the --private-etc option to restrict access to the
              /etc directory.

       To enable Landlock self-restriction on top of your current Firejail se‐
       curity  features,  pass  --landlock flag to Firejail command line.  You
       can also use --landlock.read, --landlock.write, --landlock.special  and
       --landlock.execute  options  together with --landlock or instead of it.
       Example:

       $ firejail --landlock --landlock.read=/media --landlock.proc=ro /usr/bin/mc

Statistiche dei profili

Un piccolo strumento per stampare le statistiche dei profili. Compila e installa come al solito. Lo strumento viene installato nella directory /usr/lib/firejail.

Eseguilo sui profili in /etc/profiles:

root@kitploit:~
$ /usr/lib/firejail/profstats /etc/firejail/*.profile
No include .local found in /etc/firejail/noprofile.profile
Warning: multiple caps in /etc/firejail/tidal-hifi.profile
Warning: multiple caps in /etc/firejail/tqemu.profile
Warning: multiple caps in /etc/firejail/transmission-daemon.profile
Warning: multiple caps in /etc/firejail/trivalent.profile

Stats:
    profiles			1342
    include local profile	1341   (include profile-name.local)
    include globals		1307   (include globals.local)
    blacklist ~/.ssh		1201   (include disable-common.inc)
    seccomp			1213
    capabilities		1335
    noexec			1214   (include disable-exec.inc)
    noroot			1105
    memory-deny-write-execute	320
    restrict-namespaces		1048
    apparmor			869
    private-bin			817
    private-dev			1172
    private-etc			842
    private-cache		865
    private-lib			86
    private-tmp			1036
    whitelist home directory	662
    whitelist var		975   (include whitelist-var-common.inc)
    whitelist run/user		1305   (include whitelist-runuser-common.inc
					or blacklist ${RUNUSER})
    whitelist usr/share		760   (include whitelist-usr-share-common.inc
    net none			452
    dbus-user none 		766
    dbus-user filter 		206
    dbus-system none 		970
    dbus-system filter 		13


Scarica lo strumento
Avvio rapido
Avvio rapido
Sicurezza avanzata del browser
Sicurezza avanzata del browser
Sicurezza del browser Tor
Sicurezza del browser Tor