23.7. BIND9 et FreeBSD

Ecrit par Tom Rhodes.

L'arrivée de FreeBSD 5.3 a apporté le serveur DNS BIND9 dans la distribution. De nouvelles fonctionnalités concernant la sécurité, une nouvelle organisation des fichiers, une configuration chroot(8) automatisée, font partie des nouveautés. Cette section est divisée en deux parties, la première abordera les nouvelles fonctionnalités et leur configuration, la seconde traitera des mises à jours en vue d'aider la migration vers FreeBSD 5.3. A partir de cet instant, il sera fait référence au serveur à l'aide du nom named(8) à la place de BIND. Cette section fait l'impasse sur la terminologie présentée dans la section précédente tout comme sur une partie de la théorie, par conséquent il est recommandé de consulter la section précédente avant d'aller plus loin.

Les fichiers de configuration pour named se trouvent dans le répertoire /var/named/etc/namedb/ et devront être adaptés avant toute utilisation. C'est là où la majeure partie de la configuration se fera.

23.7.1. Configuration d'une zone maître

Pour configurer une zone maître, il faut se rendre dans le répertoire /var/named/etc/namedb/ et exécuter la commande suivante:

# sh make-localhost

Si tout s'est bien passé, un nouveau fichier devrait apparaître dans le répertoire master. Le nom du fichier devrait être localhost.rev pour le nom de domaine local et localhost-v6.rev pour les configurations IPv6. Tout comme le fichier de configuration par défaut, une configuration pour son utilisation sera déjà présente dans le fichier named.conf.

23.7.2. Configuration d'une zone esclave

La configuration de domaines supplémentaires ou de sous-domaines peut être faite sous la forme d'une zone esclave. Dans la plupart des cas, le fichier master/localhost.rev peut être directement copié dans le répertoire slave et y être modifié. Une fois complétés, les fichiers doivent être ajoutés dans le fichier named.conf comme dans la configuration suivante pour example.com:

zone "example.com" {
        type slave;
        file "slave/example.com";
        masters {
                10.0.0.1;
        };
};

zone "0.168.192.in-addr.arpa" {
        type slave;
        file "slave/0.168.192.in-addr.arpa";
        masters {
                10.0.0.1;
        };
};

Notez que dans cet exemple, l'adresse IP du maître est celle du serveur primaire du domaine à partir duquel les zones sont transférées; il ne joue pas nécessairement le rôle de serveur DNS en tant que tel.

23.7.3. Configuration de l'initialisation du système

Afin de lancer le “daemon” named au démarrage du système, l'option suivante doit être présente dans le fichier rc.conf:

named_enable="YES"

Alors que d'autres options existent, cela représente le minimum nécessaire. Consultez la page de manuel de rc.conf(5) pour une liste des autres options disponibles. Si rien n'est présent dans le fichier rc.conf alors named peut être exécuté à partir de la ligne de commande en invoquant:

# /etc/rc.d/named start

23.7.4. La sécurité et BIND9

Bien que FreeBSD enferme automatique named dans un environnement chroot(8), il exite plusieurs autres mécanismes de sécurité présents qui pourraient aider à se prémunir contre de possibles attaques DNS.

23.7.4.1. Listes de contrôle d'accès des requêtes

Une liste de contrôle d'accès des requêtes peut être employée pour restreindre les requêtes sur certaines zones. La configuration de cette liste fonctionne en définissant le réseau concerné à l'intérieur d'une directive acl puis en listant les adresses IP dans la configuration de zone. Pour autoriser des domaines à envoyer des requêtes à la machine utilisée en exemple, effectuez la définition suivante:

acl "example.com" {
        192.168.0.0/24;
};

zone "example.com" {
        type slave;
        file "slave/example.com";
        masters {
                10.0.0.1;
        };
    allow-query { example.com; };
};

zone "0.168.192.in-addr.arpa" {
        type slave;
        file "slave/0.168.192.in-addr.arpa";
        masters {
                10.0.0.1;
        };
    allow-query { example.com; };
};

23.7.4.2. Restreindre l'accès au numéro de version

Autoriser les requêtes sur le numéro de version du serveur DNS peut ouvrir les portes à un agresseur. Un utilisateur malveillant peut utiliser cette information pour rechercher les exploits connus ou les bogues à utiliser contre la machine. Une fausse chaîne de caractères de version peut être placée dans la section options du fichier named.conf:

options {
        directory       "/etc/namedb";
        pid-file        "/var/run/named/pid";
        dump-file       "/var/dump/named_dump.db";
        statistics-file "/var/stats/named.stats";
    version     "None of your business";

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:13