Installer un environnement chrooté, cela veut tout dire et rien du tout. Concrètement, il s'agit d'installer le nécessaire pour qu'un programme puisse se lancer avec chroot. Qu'est-ce que chroot ? C'est un programme qui change la racine du système de fichiers pour y exécuter un programme spécifié. En réalité, chroot est un appel système, que vous pouvez faire en appelant la fonction chroot() en C par exemple. Et le programme chroot effectue cet appel système. Mais nous ne somme pas ici pour programmer, donc nous utiliserons le programme chroot.
Essayons un peu...
# mkdir /mnt/chroot # mkdir /mnt/chroot/bin # cp /bin/bash /mnt/chroot/bin # chroot /mnt/chroot /bin/bash
Ceci devrait lancer un bash, dans lequel nous ne verrions que /bin/bash dans le système de fichiers. Et si vous essayez, cela ne marche pas.
# chroot /mnt/chroot/ /bin/bash chroot: /bin/bash: No such file or directory
Cet article va vous expliquer comment monter cet environnement pour exécuter bash et quelques commandes. Les problèmes rencontrés engendrent des messages que l'on retrouve sur ma machine de test: Mandrake Cooker, mais ces problèmes sont les mêmes sur une Debian Woody qui m'a servi à vérifier qu'ils n'étaient pas spécifiques à Mandrake. De plus l'article suivant, comme vous le verrez, utilise une Debian comme distribution sur la machine de test.
L'intérêt d'avoir un tel environnement chrooté est grand, et varie suivant les utilisations. En général, cela rajoute un élément de sécurité, car on y fait tourner des serveurs. En cas de faille dans le programme serveur, un pirate peut devenir l'utilisateur qui fait lancer le programme. Et tant que le pirate n'est pas root, il reste dans cet environnement où il dispose de peu de choses. Entre autres, il n'a aucune visibilité sur l'ensemble du système puisque la visibilité se limite à l'environnement chroot (et un peu plus, comme nous le verrons plus loin, mais peu quand même).
Mais attention, chroot n'a pas été prévu pour la sécurité. Chroot ne fait que changer la racine du système de fichiers. Le fait que cela améliore la sécurité est un effet de bord. La sécurité est donc un peu améliorée, mais sachez qu'il suffit de devenir root pour pouvoir à nouveau changer la racine du système de fichiers. Et même sans être root en utilisant certaines failles...
© 2003 Yves Mettier