Sécurité

firejail : Lancez vos applications en bac à sable

Table des matières

Introduction



Firejail est un logiciel de sandboxing pour les systèmes d'exploitation Linux. Il permet d'exécuter des applications dans un environnement isolé du système d'exploitation hôte.
Cela fonctionne quelque soit le type d'application (en ligne de commande ou graphique)

Le principe de Firejail est de créer un environnement de sécurité en lançant une application dans une boîte isolée (sandbox) où elle ne peut accéder qu'aux ressources autorisées. Ce logiciel repose sur les fonctionnalités du noyau Linux.

Exécuter du code non sûr, même à travers une sandbox n'est pas la garantie d'une sécurité à 100%

Les possibilités techniques



Selon le site officiel ainsi que la doc de firejail, l'outil permet de gérer les autorisations d'accès suivantes :

- blacklisting : refuser l'accès aux fichiers et aux répertoires. Les tentatives d'accès sont signalées à syslog.
- whitelisting : autoriser les fichiers et les répertoires spécifiés par l'utilisateur.
- read-only, read-write, noexec : définir les attributs des fichiers et dossiers
- temporary filesystem : monter un système de fichiers temporaire au-dessus d'un répertoire.
- bind : monter un fichier ou un répertoire au-dessus d'un autre fichier ou répertoire.
- private : isoler les fichiers de la sandbox.
- restricted user home : conserver seulement le répertoire personnel de l'utilisateur actuel à l'intérieur du bac à sable
- reduced system information leakage : restreindre l'accès à des répertoires tels que /boot, /proc et /sys contenant des infos systèmes.


Installation



Pour installer firejail, il suffit d'installer le paquet correspondant :

Fedora + Red Hat et dérivées (EPEL Nécessaire) :
Code BASH :
dnf install firejail


Debian / Ubuntu :
Code BASH :
apt install firejail


Gentoo :
Code BASH :
emerge -av sys-apps/firejail


Utilisation



De manière très simple, on va préfixer la commande à exécuter par "firejail".

Pour lancer Firefox dans un environnement bac à sable :

Code BASH :
firejail firefox


On constate que si on télécharge un fichier depuis le navigateur, dans notre /home, nous n'avons accès qu'à Téléchargements. Cela est géré via un profil prédéfini dans /etc/firejail/firefox-common.profile

On peut autoriser via la ligne de commande des options permettant d'autoriser l'accès à un dossier supplémentaire :

Code BASH :
firejail --whitelist=~/Documents firefox


On peut interdire l'accès au réseau :

Code BASH :
firejail --net=none firefox


On peut aussi lancer une application en mode privé. Votre dossier personnel est monté dans un espace temporaire pour l'application, c'est comme si vous lanciez l'appli pour la première fois :

Code BASH :
firejail --private firefox


Il y a bien sûr plein d'autres utilisations de firejail, mais voici les petites astuces que je souhaitais vous partager :)
Cette page a été vue 8414 fois