Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| firejail [2021/02/13 16:07] – cyrille | firejail [2021/02/13 18:52] (Version actuelle) – ut cyrille | ||
|---|---|---|---|
| Ligne 14: | Ligne 14: | ||
| Depuis les dépôts | Depuis les dépôts | ||
| + | <code | download> | ||
| apt install firejail | apt install firejail | ||
| + | </ | ||
| + | <code | download> | ||
| sudo apt install firejail | sudo apt install firejail | ||
| + | </ | ||
| Depuis le git | Depuis le git | ||
| + | <code | download> | ||
| git clone https:// | git clone https:// | ||
| cd firejail | cd firejail | ||
| ./configure && make && sudo make install-strip | ./configure && make && sudo make install-strip | ||
| + | </ | ||
| Ligne 27: | Ligne 33: | ||
| + | <code | download> | ||
| firejail < | firejail < | ||
| + | </ | ||
| Par exemple | Par exemple | ||
| + | <code | download> | ||
| firejail mousepad | firejail mousepad | ||
| + | </ | ||
| Ligne 41: | Ligne 51: | ||
| ==== Les fichiers de configuration === | ==== Les fichiers de configuration === | ||
| - | Afin de sécurité | + | Afin de sécuriser |
| - | Lors de l' | + | Lors de l' |
| - | Si aucun profil approprié n'est trouvé, Firejail utilisera un profil par défaut. | + | Si aucun profil approprié n'est trouvé, Firejail utilisera un profil par défaut. |
| - | + | ||
| - | Le profil par défaut est assez restrictif. Au cas où l' | + | |
| Ligne 57: | Ligne 65: | ||
| Ces profils sont localisés dans | Ces profils sont localisés dans | ||
| + | <code | download> | ||
| ls / | ls / | ||
| | | ||
| + | </ | ||
| - | Plus de mille profils sont disponibles... Un profil éponyme à l' | + | Plus de mille profils sont disponibles... Un profil éponyme à l' |
| Ce sont ces profils qui définiront les règles de sécurité d' | Ce sont ces profils qui définiront les règles de sécurité d' | ||
| - | Attention, il ne faut pas modifier ces profils sous /etc car en cas de mise à jour de firejail ils seront écrasés par les nouveaux. Dans ce cas, il suffit de copier le profil | + | Attention, il ne faut pas modifier ces profils sous **/etc/ |
| ==== Lancement sans nom d' | ==== Lancement sans nom d' | ||
| Ligne 70: | Ligne 80: | ||
| + | <code | download> | ||
| firejail | firejail | ||
| Reading profile / | Reading profile / | ||
| Ligne 81: | Ligne 92: | ||
| Parent pid 211751, child pid 211752 | Parent pid 211751, child pid 211752 | ||
| Child process initialized in 78.39 ms | Child process initialized in 78.39 ms | ||
| + | </ | ||
| - | Ainsi lancer, le /home de l' | + | Ainsi lancer, le **/home** de l' |
| - | Pour sortir de ce bac à sable, | + | Pour sortir de ce bac à sable, |
| Pour lister les bacs à sable en cours d' | Pour lister les bacs à sable en cours d' | ||
| + | <code | download> | ||
| firejail --list | firejail --list | ||
| - | 211751: | + | 211751: |
| + | </ | ||
| + | ==== Les fichiers inclus dans les profils ==== | ||
| + | Les lignes commençant par un hachage (#) sont des commentaires. Au début, les profils comprennent des inclusions defichiers, et à la fin on peut en trouver d' | ||
| - | ==== L' | ||
| + | |disable-mgmt.inc | rend les commandes de gestion du système inaccessibles (répertoires / sbin et / usr / sbin, et quelques commandes)| | ||
| + | |disable-secret.inc | rend les fichiers secrets inaccessibles dans votre répertoire personnel (clés SSH, trousseaux de clés Gnome et KDE, clés GPG, etc.)| | ||
| + | |disable-common.inc | rend les fichiers inaccessibles à partir d' | ||
| + | |disable-devel.inc | rend les commandes de développement inaccessibles (comme les compilateurs, | ||
| + | |whitelist-common.inc | rend accessibles les fichiers et répertoires communs dont la plupart des programmes graphiques auront besoin| | ||
| - | Sans doute la plus intéressante. C'est cette option qui va enfermer votre application à l' | ||
| - | En effet, cette option permet de monter /root et /home/$USER dans les systèmes de fichiers temporaires. A la fermeture du bac à sable toutes les modifications seront ignorées. Par conséquent, | + | La ligne " |
| - | Exemple: | + | |" |
| + | |" | ||
| + | |" | ||
| + | |" | ||
| - | firejail | + | ==== L' |
| - | ==== Le cas de Firefox ==== | + | Sans doute la plus intéressante. C'est cette option qui va enfermer votre application à l' |
| + | En effet, cette option permet de monter** /root** et **/ | ||
| + | Exemple: | ||
| + | <code | download> | ||
| + | firejail --private claws-mail | ||
| + | </ | ||
| + | Afin de monter un répertoire dans le bac à sable, il suffit de sélectionner son emplacement dans private | ||
| + | <code | download> | ||
| + | firejail --private --whitelist=/ | ||
| + | </ | ||
| + | Ainsi le répertoire Documents de l' | ||
| + | Les principales options | ||
| + | |--blacklist=dirname | Rend le répertoire ou le fichier inaccessible| | ||
| + | |--cpu=cpu-number| Définit les cœurs de CPU que le programme pourra utiliser| | ||
| + | |--net=none | Refuse l' | ||
| + | |--private | Donne au programme une copie privée de votre répertoire personnel qui est jeté après la fermeture du programme| | ||
| + | |--private=directory | Utilise le répertoire donné comme répertoire personnel du programme, il n'est pas supprimé après la fermeture du programme| | ||
| + | |--tmpfs = dirname - |onne au programme un répertoire vide pour le répertoire donné qui est rejeté après la fermeture du programme| | ||
| - | Vous voudrez sans doute peaufiner tout cela. | ||
| + | ==== Le cas de Firefox ==== | ||
| + | |||
| + | Par exemple, voici les règles de sécurité mises en place par le lancement de firefox dans un bac à sable. | ||
| + | Firejail désactivera plusieurs moyens par lesquels Firefox peut obtenir les privilèges root; | ||
| + | * Cela fait même en sorte que le compte root n' | ||
| + | * Cela rend les profils firejail inaccessibles; | ||
| + | * Cela rend inaccessibles les répertoires binaires système et plusieurs binaires système sur n' | ||
| + | * Il rend les clés secrètes (trousseaux de clés de session, clés GnuPG, clés SSH, etc.) inaccessibles; | ||
| + | * Cela rend vos fichiers utilisateur d' | ||
| + | * Il rend les fichiers d' | ||
| + | * Firefox ne peut pas voir les autres processus sur votre système; | ||
| + | * Firefox ne peut écrire des fichiers que dans les répertoires / home, / tmp et / var (s'il y est autorisé) et tous les autres répertoires sont immuables. | ||