BSD Jail
Les BSD Jails (« jail » signifie prison en anglais) sont une architecture logicielle propre au système d'exploitation FreeBSD, qui permettent de compartimenter des processus et leurs descendants.
En pratique, les jails sont souvent utilisées pour répondre à deux besoins :
- contraindre l'exécution d'une application sensible (une application tournant avec des privilèges importants, comme un serveur FTP par exemple) ; cela permet de garder le système hôte sain en cas de problèmes avec l'application « emprisonnée » à la suite d'une activité malveillante ou tout simplement lors de tests/débogage ;
- faire une « image virtuelle du système » permettant l'exécution de multiples applications ; les objectifs sont les mêmes que précédemment, mais à plus large échelle.
Souvent, une installation assez complète du système est nécessaire au bon fonctionnement des applications placées dans une jail : bibliothèques, fichiers de configuration, etc.
Les jails BSD rappellent le chroot, tout en offrant plus de sécurité et de plus grandes possibilités de configuration.
Historique
Le besoin de jails a été ressenti par de petits hébergeurs d'environnements partagés. Ils désiraient établir une séparation nette entre leurs services et ceux de leurs clients, surtout pour des raisons de sécurité et de facilité d'administration. La solution adoptée par Poul-Henning Kamp a été de compartimenter le système — aussi bien ses fichiers que ses ressources — de telle sorte que seuls les bons utilisateurs ont accès aux bons compartiments.