Bind et DNS
Le 29-03-2008 par Collectif Alsacreations dans Administration serveur dédié.
Configuration de Bind en chroot
Bind
BIND est le serveur DNS le plus utilisé sur Internet. Nous n'allons pas détailler sa configuration complète ici car elle nécessite beaucoup de développements, mais nous allons modifier son exécution pour qu'elle se fasse de façon plus sécurisée, dans une prison (en environnement chrooté). BIND est parfois exécuté avec des droits root, afin d'utiliser le port privilégié 53 (TCP, UDP), inférieur à 1024. Dans un environnement restreint, il ne pourra pas voir ou avoir accès aux fichiers à l'extérieur de sa propre arborescence. Cela permet de limiter la quantité d'accès que n'importe quel individu malveillant pourrait gagner en exploitant une vulnérabilité de BIND.
Cela suffira dans le cadre de cet ensemble de tutoriels qui visent à mettre en place un serveur d'hébergement. L'utilisation éventuelle d'un panel d'administration se chargera elle-même de la configuration plus avancée avec gestion des zones des sites hébergés, sinon il sera amplement suffisant avec gestion de vos zones DNS chez un registrar externe (tel que Gandi ou OVH).
Chroot est une commande des systèmes d'exploitation UNIX permettant de changer pour un programme le répertoire racine de la machine hôte.
Commencez par arrêter le service :
/etc/init.d/bind9 stop
Editez le fichier /etc/default/bind9 pour ajouter l'option -t suivie du chemin dans lequel nous voulons stocker l'environnement bind en chroot.
vi /etc/default/bind9
OPTIONS="-u bind -t /var/lib/named"
La suite des commandes permettra de mettre en place cet environnement et ses droits dans /var/lib/named/ :
mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run
mv /etc/bind /var/lib/named/etc
ln -s /var/lib/named/etc/bind /etc/bind
mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind
Editez la configuration de syslogd le daemon principal de log pour indiquer le nouveau chemin employé par bind :
vi /etc/default/syslogd
SYSLOGD="-a /var/lib/named/dev/log"
Redémarrez le tout :
/etc/init.d/sysklogd restart
/etc/init.d/bind9 start
Note : Avec le panel DTC, les fichiers de zone DNS sont stockés dans /var/lib/dtc/etc/zones/
Une question ? Une suggestion ? Consultez le forum Alsacreations : Hébergement et administration serveur dédié



