![]() |
![]() |
![]() |
|||||||||
| Vous êtes ici : Logiciels Libres > Bind9 chrooté | |
|
Bind9 chrooté jeudi 21 mars 2002, par Pascal Brugier Chrooter bind est devenu quelque chose de simple :
deb http://www.floc.net/debian ./ cette adresse ne contient qu’un seul et unique package : makejail
ceci installera le package makejail et les paquets dont il depend : strace python stat Pour info l’auteur de ce paquet essaye de devenir un mainteneur Debian afin d’intégrer son travail à la woody ( distribution sous laquelle ce paquet a été testé et installé). Cet utilitaire a pour but de chrooter un service (bind apache mysql postgresql ntpd) déjà installé et configuré. Ici nous allons nous occuper de bind9. Vous trouverez dans /usr/share/doc/makejail/example/ des fichiers de configuration tout prêts.
Pour notre exemple : chroot="/var/chroot/bind" : le répertoire dans lequel va être installé bind forceCopy=["/etc/bind/*","var/cache/bind"] preserve=["/var/cache/bind"] testCommandsInsideJail=["start-stop-daemon \ --start --quiet --pidfile var/run/named.pid \
--exec usr/sbin/named"] processNames=?["named"] testCommandsOutsideJail=["dig @127.0.0.1 yahoo.com","dig @127.0.0.1 -x 127.0.0.1","dig @127.0.0.1 -x 198.186.203.20",ping -c 1 www.google.com"]
Le script va vérifier que tout ce qui lui est nécessaire est bien installé sur le système, puis commence son travail en vous affichant tout ce qu’il est en train d’effectuer. Vérifiez que tout c’est bien passé puis, comme l’indiquent les deux messages à la fin de l’exécution, il nous reste à faire quelques mises au point :
Après avoir relancé syslogd vérifiez la présence du fichier log dans /var/chroot/bind/dev/. Ceci permettra à bind de continuer à envoyer ses logs dans /var/log/syslog. Nous allons maintenant modifier le script /etc/init.d/bind9 afin de démarrer bind chrooté. Pour ce il suffit juste d’éditer ce fichier avec votre éditeur préféré. La doc de makejail propose de rajouter chroot /var/chroot/bin au début de la ligne : start-stop-daemon --start --quiet --pidfile \ /var/run/named.pid --exec /usr/sbin/named --$OPTS Mais ceci fait que bind s’exécute sous l’identité de root, ce qui pose quelques problêmes pour un service chrooté. Nous allons donc créer un utilisateur sous l’identité du quel s’exécutera bind et utiliser la variable OPTS de ce même fichier afin de sécuriser un peu plus notre prison.
groupadd -g 530 bind useradd -u 530 -g bind -d /var/chroot/bind -s /bin/false -c "chrooted bind" bind pas de shell pour cet utilisateur et un /home correspondant à son répertoire chrooté.
chown -R bind.bind /var/chroot/bind
Il ne reste plus qu’à redémarer bind et le tour est joué /etc/init.d/bind9 restart Si vous laissez tous les fichiers servant à bind en mode "normal" sur le système, vous pourrez faire des mises à jour de celui-ci sans problèmes et répercuter cette mise à jour sur le bind chrooté en exécutant makejail "PATH/fichier de configuration" tout simplement.
Nous pouvons remercier Alain Tésio alain@onesite.org pour le travail qu’il a effectué et la création de makejail. Son site : http://www.floc.net/makejail/
|
Dans la même rubrique :
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Proposer un article | Nous contacter | Plan du site | Admin | Accueil |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||