chroot
est une des possibilités les plus puissantes pour
restreindre un démon ou un utilisateur ou un autre service. Imaginez juste une
prison autour de votre cible, dont votre cible ne peut s'échapper (normalement,
mais il y a encore beaucoup de conditions qui permettent de s'échapper d'une
telle prison). Si vous ne faites pas confiance à un utilisateur, vous pouvez
créer un environnement à racine modifiée pour lui. Cela peut utiliser pas mal
d'espace disque comme vous avez besoin de copier tous les exécutables
nécessaires, ainsi que les librairies, dans la prison. Même si l'utilisateur
fait quelque chose de malveillant, la portée des dégâts sera limitée à la
prison.
Un bon exemple pour ce cas est, si vous n'authentifiez pas avec
/etc/passwd
mais utilisez LDAP ou MySQL à la place. Donc votre
daemon-ftp a seulement besoin d'un binaire et peut être de quelques librairies.
Un environnement chrooté serait une excellent amélioration de la
sécurité ; si un nouvel exploit est découvert pour ce daemon-ftp, alors
les attaquants pourront seulement exploiter l'UID de l'utilisateur-daemon-ftp
et rien d'autre.
Bien sur, beaucoup d'autres démons pourraient bénéficier de ce genre d'aménagement aussi.
Cependant, soyez averti qu'une prison chroot peut être brisée si l'utilisateur
qui y évolue est le super-utilisateur. Donc, vous devez faire s'exécuter le
service comme un utilisateur non-privilégié. En limitant son environnement
vous limitez les fichiers lisibles/inscriptibles par tout le monde auxquels le
service peut accéder, ainsi, vous limitez les possibilités d'élévation de
privilège en utilisant des vulnérabilités du système local. Même si dans cette
situation vous ne pouvez être complètement sur qu'il n'y a aucun moyen pour un
attaquant intelligent de s'échapper d'une façon ou d'une autre de la prison.
L'utilisation des seuls programmes serveurs qui ont la réputation d'être surs
est une bonne mesure de sécurité supplémentaire. Même des failles minuscules
comme des références de fichier ouverts peuvent être utilisées par un attaquant
talentueux pour s'introduire dans le système. Après tout chroot
n'a pas été conçu comme un outil de sécurité mais comme un outil de test.
Note additionnelle, le BIND par défaut de la Debian (le service de nom Internet) n'est pas livré chrooté par défaut; en fait, aucun démon n'est chrooté. Cela pourrait changer dans la version woody (3.0).
Il y a aussi des logiciels (pas dans la Debian actuellement mais qui pourraient
fournis dans le futur) qui peuvent aider à configurer des environnements
chroot. makejail
par exemple, peut créer et mettre à jour une
prison chroot avec de petits fichiers de configuration. il essaie aussi de
deviner et d'installer dans la prison tous les fichiers requis par le démon.
Plus d'information à http://www.floc.net/makejail/
.
Jailer
est un outil similaire qui peut être récupéré sur http://www.balabit.hu/downloads/jailer/
Manuel de sécurisation de Debian
2.95 5 marzo 2004Vendredi 4 juillet 2003 23:13:42 +0100jfs@computer.org