Classer
Répartir les applications entre confiance N0, exposition Internet N1 et traitement de fichiers N2.
Politique Firejail pragmatique sur Arch Linux: applications de confiance, clients Internet et outils de traitement de fichiers isolés sans casser FIDO2 ou Wayland.
Répartir les applications entre confiance N0, exposition Internet N1 et traitement de fichiers N2.
Conserver les profils officiels en N1 et couper le réseau explicitement en N2.
Versionner et reconstruire les lanceurs desktop, puis contrôler aussi leurs actions secondaires et raccourcis rapides.
Ouvrir les contenus réellement suspects dans une VM dédiée.
Une sandbox uniforme casse WebAuthn, FIDO2 ou certaines applications modernes. À l'inverse, une règle trop permissive donne un faux sentiment de sécurité.
Les applications sont classées par besoin fonctionnel et exposition.
N0 trusted secrets, FIDO2, administration -> sans Firejail
N1 Internet clients réseau -> profil officiel + private-tmp
N2 fichiers lecteurs et éditeurs -> private-tmp + net=none, profil selon compatibilité
suspect malware, scripts, documents -> VM dédiée
Un lanceur N2 coupe explicitement le réseau; MPV conserve son profil officiel compatible.
[Desktop Entry]
Name=<APPLICATION>
Exec=firejail --noprofile --private-tmp --net=none <APPLICATION_BINARY> <ARGS>
Terminal=false
Type=Application
Une application lancée hors Firejail n'est pas protégée.
firejail --list
firejail --tree
ps aux | rg '<APPLICATION>'
attendu:
l'application apparaît sous le processus firejail
Les commandes ci-dessous sont volontairement anonymisées: chemins, noms de machines, interfaces, dépôts, périphériques et actions destructrices sont remplacés par des placeholders.
firejail --version
firejail --help
firejail --list
firejail --tree
Firejail est installé
la sandbox apparaît dans la liste active
l'arbre des processus confirme le wrapper
inspect <DESKTOP_FILE>
verify N1 uses --private-tmp
verify N2 uses --noprofile --private-tmp --net=none
verify N0 has no Firejail wrapper
les applications de confiance restent fonctionnelles
les clients Internet gardent leur profil officiel
les outils de traitement de fichiers n'ont pas de réseau
les exceptions sont documentées
inspect <SYSTEM_DESKTOP_FILE>
copy <SYSTEM_DESKTOP_FILE> <USER_DESKTOP_FILE>
edit Exec=firejail <APPLICATION_BINARY> <ARGS>
update-desktop-database <USER_APPLICATIONS_DIR>
firejail --list
le fichier desktop utilisateur surcharge le lanceur système
la ligne Exec utilise firejail
le cache des lanceurs est rafraîchi
l'application apparaît dans la liste firejail après lancement
Firefox, Bitwarden, KeePassXC, VS Code, Virt-Manager, Mullvad, Kitty et Nemo restent hors Firejail.
Discord, Steam et Tor Browser utilisent leur profil officiel avec un espace temporaire privé.
MPV et GThumb conservent leur profil officiel; GIMP et OnlyOffice Sandbox désactivent les profils incompatibles. Tous utilisent un espace temporaire privé sans réseau.
firejail --list et --tree confirment que le lancement passe réellement par la sandbox.
Supplément de documentation privée anonymisé
Guide public pour isoler les applications avec Firejail. Les chemins utilisateur, profils privés, scripts locaux et lanceurs réels sont remplacés par des placeholders.
Firejail est un outil de sandboxing user-space qui restreint l'environnement d'exécution des applications avec namespaces, seccomp, capabilities et isolation du système de fichiers.
| Solution | Type | Usage |
|---|---|---|
| Firejail | Sandbox user-space | Applications desktop |
| AppArmor | MAC kernel | Services et profils système |
| bubblewrap | Sandbox minimaliste | Conteneurs légers |
| VM | Virtualisation | Isolation forte |
| Niveau | Applications | Politique |
|---|---|---|
| N0 — Trusted | Firefox, Bitwarden, KeePassXC, VS Code, Virt-Manager, Mullvad, Kitty, Nemo | Sans Firejail |
| N1 — Internet | Discord, Steam, Tor Browser | Profil officiel + espace temporaire privé |
| N2 — Fichiers | MPV, GThumb, GIMP, OnlyOffice Sandbox | Réseau coupé et espace temporaire privé; profil selon compatibilité |
VLC a été supprimé au profit de MPV. Les contenus réellement suspects sont ouverts dans une VM dédiée.
Poste Arch Linux avec environnement Wayland. Firejail est utilisé pour les applications utilisateur; AppArmor reste la couche MAC principale pour services et profils système.
pacman -S firejail
firejail --version
firejail --help
ls <GLOBAL_FIREJAIL_PROFILE_DIR>
firejail <APPLICATION>
firejail --profile=<PROFILE_PATH> <APPLICATION>
firejail --debug <APPLICATION>
firejail --list
firejail --tree
firejail --top
firejail --shutdown=<SANDBOX_PID>
ls <GLOBAL_FIREJAIL_PROFILE_DIR>/*.profile
firejail --profile=<PROFILE_PATH> <APPLICATION>
firejail --noprofile <APPLICATION>
cp <GLOBAL_PROFILE> <USER_PROFILE>
edit <USER_PROFILE>
firejail --debug --profile=<USER_PROFILE> <APPLICATION>
N1 conserve les profils officiels. N2 conserve également un profil officiel lorsqu'il est compatible; --noprofile reste limité aux applications dont le profil empêche réellement le démarrage.
Les lanceurs N1/N2 doivent appeler Firejail, tandis que les lanceurs N0 doivent rester natifs. La règle s'applique à chaque action secondaire du fichier desktop et aux raccourcis Waybar ou du compositeur.
inspect <SYSTEM_DESKTOP_FILE>
copy <SYSTEM_DESKTOP_FILE> <USER_DESKTOP_FILE>
edit Exec=firejail <APPLICATION_BINARY> <ARGS>
verify every Exec= entry follows the assigned level
update-desktop-database <USER_APPLICATIONS_DIR>
firejail --list
Les sources sont versionnées et installées par un reconstructeur avec validation, dry-run et sauvegarde. Cela évite qu'une action de menu ou un raccourci rapide contourne silencieusement la politique principale.
N0 préserve les applications qui manipulent des secrets, FIDO2, WebAuthn, polkit ou des fonctions d'administration. N1 cible les clients réseau avec leur profil officiel. N2 cible les lecteurs et éditeurs de fichiers avec un réseau coupé.
N0 <TRUSTED_APPLICATION>
N1 firejail --private-tmp <INTERNET_APPLICATION>
N2 firejail --private-tmp --net=none <MPV_BINARY>
N2 firejail --noprofile --private-tmp --net=none <INCOMPATIBLE_FILE_HANDLER>
VM <SUSPICIOUS_CONTENT>
Le double lanceur OnlyOffice sépare les documents de confiance des documents inconnus. Un document suspect reste traité dans une VM.
firejail --net=none <APPLICATION>
firejail --private <APPLICATION>
firejail --private=<PRIVATE_HOME> <APPLICATION>
firejail --private-tmp <APPLICATION>
firejail --dns=<DNS_SERVER> <APPLICATION>
firejail --caps.drop=all --seccomp --nonewprivs <APPLICATION>
firejail --debug <APPLICATION>
firejail --debug <APPLICATION> | rg 'Seccomp|Capabilities|Namespace'
dmesg | rg -i firejail
ausearch -m SECCOMP -ts recent
firejail --private-tmp <DISCORD_BINARY>
firejail --private-tmp <STEAM_BINARY> <URI_ARGS>
firejail --private-tmp <TOR_BROWSER_LAUNCHER> <URI_ARGS>
firejail --private-tmp --net=none <MPV_BINARY> <FILE_ARGS>
firejail --private-tmp --net=none <COMPATIBLE_IMAGE_VIEWER> <FILE_ARGS>
firejail --noprofile --private-tmp --net=none <IMAGE_EDITOR> <FILE_ARGS>
firejail --noprofile --private-tmp --net=none <OFFICE_SUITE> <FILE_ARGS>
Exec=, y compris les actions secondaires.firejail --list.firejail --debug <APPLICATION>
firejail --noseccomp <APPLICATION>
firejail --noprofile <APPLICATION>
firejail --debug <APPLICATION> | rg -i 'denied|error|not permitted'
edit <USER_PROFILE>
Si AppArmor et Firejail se recouvrent, passer le profil AppArmor concerné en complain peut aider à isoler la cause sans supprimer la couche globale.
--noprofile retire les restrictions du profil par défaut; N2 ne constitue pas une isolation complète du système de fichiers.firejail --private-tmp <N1_APPLICATION>
firejail --noprofile --private-tmp --net=none <N2_APPLICATION>
firejail --debug <APPLICATION>
firejail --list
firejail --tree
firejail --top
firejail --shutdown=<SANDBOX_PID>
ls <GLOBAL_FIREJAIL_PROFILE_DIR>/*.profile