Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
firejail — Namespaces Linux et sandbox seccomp-bpf | Kitploit
Outils/GitHubGitHub/netblue30/firejail
Outils DéfensifsVirtualisation de SécuritéProtection de la Vie Privée
GitHubnetblue30/firejail

firejail

Namespaces Linux et sandbox seccomp-bpf

Voir le dépôtSite web
7.6k67011il y a 1 jourVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Firejail

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

Télécharger l’outil

Firejail est un outil de sécurité léger destiné à protéger un système Linux en mettant en place un environnement restreint pour l'exécution d'applications (potentiellement non fiables).

Plus précisément, il s'agit d'un programme sandbox SUID qui réduit le risque de failles de sécurité en utilisant les namespaces Linux, seccomp-bpf et les capabilities Linux. Il permet à un processus et à tous ses descendants d'avoir leur propre vue privée des ressources du noyau partagées globalement, telles que la pile réseau, la table des processus et la table des montages. Firejail peut fonctionner dans un environnement SELinux ou AppArmor, et il est intégré aux Linux Control Groups.

Écrit en C avec pratiquement aucune dépendance, le logiciel fonctionne sur n'importe quel ordinateur Linux avec une version de noyau 3.x ou plus récente. Il peut mettre en sandbox tout type de processus : serveurs, applications graphiques, et même les sessions de connexion des utilisateurs. Le logiciel inclut des profils de sandbox pour un certain nombre de programmes Linux courants, tels que Mozilla Firefox, Chromium, VLC, Transmission, etc.

Le sandbox est léger, la surcharge est faible. Il n'y a pas de fichiers de configuration compliqués à éditer, aucune connexion socket ouverte, aucun démon tournant en arrière-plan. Toutes les fonctionnalités de sécurité sont implémentées directement dans le noyau Linux et disponibles sur n'importe quel ordinateur Linux.

Vidéos

Démarrage rapide
Démarrage rapide
Sécurité avancée du navigateur
Sécurité avancée du navigateur
Sécurité du navigateur Tor
Sécurité du navigateur Tor

Liens

  • Page web du projet : https://firejail.wordpress.com/
  • IRC : https://web.libera.chat/#firejail
  • Téléchargement et installation : https://firejail.wordpress.com/download-2/
  • Fonctionnalités : https://firejail.wordpress.com/features-3/
  • Documentation : 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
  • CI Debian : https://salsa.debian.org/reiner/firejail
  • Suivi des paquets Debian : https://tracker.debian.org/pkg/firejail
  • PPA Ubuntu : https://launchpad.net/~deki/+archive/ubuntu/firejail
  • Chaîne vidéo : https://odysee.com/@netblue30:9?order=new
  • Chaîne vidéo de secours : https://www.bitchute.com/profile/JSBsA1aoQVfW/

Vulnérabilités de sécurité

Voir SECURITY.md.

Installation

Pour les versions prises en charge, voir SECURITY.md.

Debian

Remarque : Les versions de Debian stable et de backports sont susceptibles d'être obsolètes, c'est pourquoi nous recommandons actuellement soit de télécharger et d'installer le paquet .deb de la dernière version :

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

Soit de compiler à partir des sources.

Anciennes instructions

Debian stable (bullseye) : nous recommandons d'utiliser le paquet backports.

Ubuntu

Remarque : Les versions de la distribution et du PPA sont susceptibles d'être obsolètes, c'est pourquoi nous recommandons actuellement soit de télécharger et d'installer le paquet .deb de la dernière version :

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

Soit de compiler à partir des sources.

Anciennes instructions

Remarque : La recommandation du PPA concerne principalement firejail lui-même ; il est tout à fait acceptable d'installer firetools et les outils liés à firejail directement depuis la distribution s'ils ne sont pas dans le PPA, car ils ont tendance à être mis à jour moins fréquemment.

Pour Ubuntu 18.04+ et ses dérivés (tels que Linux Mint), il est fortement recommandé aux utilisateurs d'utiliser le PPA.

Comment ajouter et installer depuis le PPA :

root@kitploit:~
sudo add-apt-repository ppa:deki/firejail
sudo apt-get update
sudo apt-get install firejail firejail-profiles

Raison : Le paquet firejail d'Ubuntu 20.04 est resté vulnérable à la CVE-2021-26910 pendant des mois après qu'un correctif a été publié sur Launchpad :

  • CVE-2021-26910
  • La version de firejail dans Ubuntu 20.04 LTS est vulnérable à la CVE-2021-26910

Voir aussi https://wiki.ubuntu.com/SecurityTeam/FAQ :

Quels logiciels sont pris en charge par l'équipe de sécurité d'Ubuntu ?

Ubuntu est actuellement divisé en quatre composants : main, restricted, universe et multiverse. Tous les paquets binaires de main et restricted sont pris en charge par l'équipe de sécurité d'Ubuntu pendant toute la durée de vie d'une version d'Ubuntu, tandis que les paquets binaires de universe et multiverse sont pris en charge par la communauté Ubuntu.

De plus, la version du PPA est susceptible d'être plus récente et de contenir plus de correctifs de profils.

Voir les discussions suivantes pour plus de détails :

  • Dois-je continuer à utiliser la version de firejail disponible dans les dépôts de ma distribution ?
  • Comment installer la dernière version sur Ubuntu et ses dérivés

Autres

Firejail est disponible dans de nombreuses distributions Linux :

Repology

Packaging status (Repology)

En dehors des exceptions susmentionnées, tant que votre distribution fournit une version prise en charge de firejail, il est généralement recommandé de l'installer depuis la distribution.

La version peut être vérifiée avec firejail --version après l'installation.

Vous pouvez également installer l'un des paquets publiés.

Compilation

Instructions pour compiler et installer la version de développement actuelle à partir des sources.

Il est recommandé d'utiliser les instructions spécifiques à la distribution ci-dessous lorsque c'est applicable, car elles génèrent des paquets natifs, ce qui devrait faciliter l'intégration avec le reste du système et la gestion des paquets.

Pour les autres distributions, voir les instructions génériques.

Voir aussi .gitlab-ci.yml pour savoir comment les compilations spécifiques aux distributions sont effectuées en CI.

Arch

Remarque : Le paquet AUR n'est pas maintenu par nos soins.

Installez firejail-git depuis l'AUR.

Exemple :

root@kitploit:~
yay -S firejail-git

Debian

Pour Debian, Ubuntu et leurs dérivés :

Remarque : Tous les paramètres de ./configure doivent être transmis à mkdeb.sh (par exemple ./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

Pour Fedora et ses dérivés :

Remarque : Tous les paramètres de ./configure doivent être transmis à mkrpm.sh (par exemple ./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

Générique

Instructions génériques de compilation/installation :

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

Sur Debian/Ubuntu, vous devrez installer git et gcc.

Pour compiler avec le support d'AppArmor (généralement utilisé sur Debian, Ubuntu, openSUSE et leurs dérivés), installez les bibliothèques de développement AppArmor et pkg-config, puis utilisez l'option ./configure --enable-apparmor :

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

Pour compiler avec le support de SELinux (généralement utilisé sur Fedora, RHEL et leurs dérivés), installez libselinux1-dev (libselinux-devel sur Fedora) et utilisez l'option ./configure --enable-selinux.

Des informations détaillées sur l'utilisation de firejail depuis git sont disponibles sur le wiki.

Exécution du sandbox

Remarque : Assurez-vous d'utiliser le chemin complet vers le programme (par exemple, firejail /usr/bin/firefox au lieu de firejail firefox) pour éviter d'éventuels problèmes de firejail-dans-firejail (voir #2877).

Pour démarrer le sandbox, faites précéder votre commande de firejail :

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

Exécutez firejail --list dans un terminal pour lister tous les sandbox actifs. Exemple :

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

Intégration au bureau

Intégrez votre sandbox à votre bureau en exécutant les deux commandes suivantes :

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

La première commande corrige certains bugs de mémoire partagée/espaces de noms PID dans les logiciels PulseAudio antérieurs à la version 9. La seconde commande intègre Firejail à votre bureau. Vous devrez vous déconnecter puis vous reconnecter pour appliquer les modifications PulseAudio.

Lancez vos programmes comme vous en avez l'habitude : menus du gestionnaire de bureau, gestionnaire de fichiers, lanceurs du bureau.

L'intégration s'applique à tout programme pris en charge par défaut par Firejail. Il existe plus de 900 applications par défaut dans la version actuelle de Firejail, et ce nombre augmente à chaque nouvelle version.

Nous maintenons la liste des applications dans src/firecfg/firecfg.config (/etc/firejail/firecfg.config une fois installé).

Profils de sécurité

La plupart des options de ligne de commande de Firejail peuvent être transmises au sandbox à l'aide de fichiers de profils.

Vous trouverez les profils de toutes les applications prises en charge dans etc/ (/etc/firejail/ une fois installé).

Nous tenons également une liste de correctifs de profils pour les versions précédentes dans etc-fixes/.

Si vous conservez des profils de sécurité Firejail supplémentaires dans un dépôt public, merci de nous fournir un lien :

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

Utilisez ce ticket pour demander de nouveaux profils :

  • Demandes de profils

Vous pouvez également utiliser cet outil pour obtenir la liste des appels système nécessaires à un programme :

  • contrib/syscalls.sh

Désinstallation

firecfg crée des liens symboliques dans /usr/local/bin, donc pour supprimer complètement firejail, exécutez la commande suivante avant de désinstaller :

root@kitploit:~
sudo firecfg --clean

Voir man firecfg pour plus de détails.

Remarque : Les liens symboliques cassés sont ignorés lors de la recherche d'un exécutable dans $PATH, donc désinstaller sans faire ce qui précède ne devrait pas poser de problème.

Dernière version publiée : 0.9.80

Version de développement actuelle : 0.9.81

Prise en charge de Landlock - en cours/expérimentale

  • Ajoutée via la #6078, qui est basée sur la #5315 de ChrysoliteAzalea/landlock
  • Détection à la compilation basée sur linux/landlock.h - si l'en-tête est trouvé, la fonctionnalité est compilée
  • Détection à l'exécution basée sur le fait que Landlock est pris en charge par le noyau et activé sur le système
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

Statistiques des profils

Un petit outil pour afficher les statistiques des profils. Compilez et installez comme d'habitude. L'outil est installé dans le répertoire /usr/lib/firejail.

Exécutez-le sur les profils dans /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