J'ai beaucoup entendu/lu beaucoup sur la prison chroot sous linux mais je ne l'ai encore jamais utilisée (j'utilise Fedora au quotidien), alors qu'est-ce qu'une « prison » chroot ? Quand et pourquoi puis-je l'utiliser/ne pas l'utiliser et y a-t-il autre chose que je devrais savoir ? Comment ferais-je pour en créer un ?
Réponse acceptée :
Une prison chroot est un moyen d'isoler un processus et ses enfants du reste du système. Il ne doit être utilisé que pour les processus qui ne s'exécutent pas en tant que root, car les utilisateurs root peuvent sortir de la prison très facilement.
L'idée est que vous créez une arborescence de répertoires dans laquelle vous copiez ou liez tous les fichiers système nécessaires à l'exécution d'un processus. Vous utilisez ensuite le chroot()
appel système pour changer le répertoire racine pour qu'il soit à la base de cette nouvelle arborescence et démarrer le processus en cours d'exécution dans cet environnement chrooté. Puisqu'il ne peut pas réellement référencer des chemins en dehors de la racine modifiée, il ne peut pas effectuer d'opérations (lecture/écriture, etc.) de manière malveillante sur ces emplacements.
Sous Linux, l'utilisation d'un montage lié est un excellent moyen de remplir l'arborescence chroot. En utilisant cela, vous pouvez extraire des dossiers comme /lib
et /usr/lib
sans extraire /usr
, par exemple. Liez simplement les arborescences de répertoires que vous souhaitez aux répertoires que vous créez dans le répertoire jail.