Bonjour à tous,
Je cherche à mettre en cage une appli en la lançant dans un jail avec systemd.
Faut-il utiliser pour ça la commande systemd-nspawn ?
Les exemples sur le web parlent de systemd-nspawn pour démarrer un second OS sur la machine, en parallèle de l'OS principal. Ça me paraît inutilement lourd pour mettre en cage un seul exécutable dont les dépendances dont déjà satisfaites sur la machine.
Connaissez vous un billet de blog bien fichu qui me permettrait de fermer les mauvaises portes ? Ou quelqu'un fait-il tourner une appli dans un jail avec systemd et pourrait m'en parler ?
Merci.
Hello Frédéric,
Je verrais en solution à ton problème : - LXC/LXD : mais même fonctionnement que nspawn - SELinux : correspond vraiment à la problématique et tu peux le faire sur tout ton OS - AppArmor : jamais fait cette chose, concurrent de SELinux
Bonne journée
On Mon, Dec 9, 2019, 09:45 Frederic Dumas f.dumas@ellis.siteparc.fr wrote:
Bonjour à tous,
Je cherche à mettre en cage une appli en la lançant dans un jail avec systemd.
Faut-il utiliser pour ça la commande systemd-nspawn ?
Les exemples sur le web parlent de systemd-nspawn pour démarrer un second OS sur la machine, en parallèle de l'OS principal. Ça me paraît inutilement lourd pour mettre en cage un seul exécutable dont les dépendances dont déjà satisfaites sur la machine.
Connaissez vous un billet de blog bien fichu qui me permettrait de fermer les mauvaises portes ? Ou quelqu'un fait-il tourner une appli dans un jail avec systemd et pourrait m'en parler ?
Merci.
-- Frederic Dumas f.dumas@ellis.siteparc.fr
Liste de diffusion du FRsAG http://www.frsag.org/
Il y a aussi nsjail dans les possibilités d’isolation.
Le 9 décembre 2019 16:41:59 GMT+01:00, "Florent CARRÉ" colundrum@gmail.com a écrit :
Hello Frédéric,
Je verrais en solution à ton problème :
- LXC/LXD : mais même fonctionnement que nspawn
- SELinux : correspond vraiment à la problématique et tu peux le faire
sur tout ton OS
- AppArmor : jamais fait cette chose, concurrent de SELinux
Bonne journée
On Mon, Dec 9, 2019, 09:45 Frederic Dumas f.dumas@ellis.siteparc.fr wrote:
Bonjour à tous,
Je cherche à mettre en cage une appli en la lançant dans un jail avec systemd.
Faut-il utiliser pour ça la commande systemd-nspawn ?
Les exemples sur le web parlent de systemd-nspawn pour démarrer un second OS sur la machine, en parallèle de l'OS principal. Ça me
paraît
inutilement lourd pour mettre en cage un seul exécutable dont les dépendances dont déjà satisfaites sur la machine.
Connaissez vous un billet de blog bien fichu qui me permettrait de fermer les mauvaises portes ? Ou quelqu'un fait-il tourner une appli dans un jail avec systemd et pourrait m'en parler ?
Merci.
-- Frederic Dumas f.dumas@ellis.siteparc.fr
Liste de diffusion du FRsAG http://www.frsag.org/
On 09/12/2019 15:42, Frederic Dumas wrote:
Bonjour à tous,
Je cherche à mettre en cage une appli en la lançant dans un jail avec systemd.
Tu peus limiter les ressource, mais cela n'isole pas du namespace "global" (tu peus aussi construire un cgroup à la main pour cela)
systemd-run --remain-after-exit --property=CPUShares=200 --property=MemoryLimit=4G --property=BlockIOWeight=100 --user -t bash -c "DISPLAY=:0.0 LANG=fr_FR.UTF-8 nice -3 time thunderbird
Faut-il utiliser pour ça la commande systemd-nspawn ?
ca fonctionne de facon similaire a lxc: il te faut un system entier (sans le kernel et le boot) ca démarre des lxc sans probleme fonctionnellement, c'est du chroot plus complet
Les exemples sur le web parlent de systemd-nspawn pour démarrer un second OS sur la machine, en parallèle de l'OS principal. Ça me paraît inutilement lourd pour mettre en cage un seul exécutable dont les dépendances dont déjà satisfaites sur la machine.
tu peus construire une arborescence copié à coup de mount --bind ( je ne suis pas alle au dela de l'expérimental ) ou te faire un "slim" systeme
Connaissez vous un billet de blog bien fichu qui me permettrait de fermer les mauvaises portes ? Ou quelqu'un fait-il tourner une appli dans un jail avec systemd et pourrait m'en parler ?
En expérimental, tu peus tenter le start en global puis le changement de namespace ( pour l'isolation) apres démarrage de l'application. ( par contre faut plus avoir besoin de charger quoi que ce soit (.so...) apres.
* https://firejail.wordpress.com/ o tres prometteur, mais je me suis limité à des expérimentations
Tiens nous au courant, je pense que y'a du potentiel dans ce genre de manip.