L'objectif de cette section est de présenter les mécanismes de contrôle d'accès offerts par le service Berkeley Internet Name Domain à un niveau très modeste. On se contente ici de définir les adresses IP ou les réseaux qui sont autorisés à émettre des requêtes récursives sur le service DNS ainsi que les adresses IP ou les réseaux qui sont autorisés à émettre des requêtes de transfert de zone.
Les éléments de configuration présentés ci-après sont à appliquer sur tous les serveurs DNS quel que soit leur rôle.
On commence par la définition des listes de contrôle d'accès dans le
fichier /etc/bind/named.conf.options. Ces listes
permettent de définir des groupes d'adresses IP ou de réseaux. Ces groupes
peuvent ensuite être réutilisés autant de fois que nécessaire au niveau
global de la configuration du service ou bien dans les déclarations de
zones.
Ici, on se limite à la définition de deux groupes.
Le groupe xfer donne la liste des adresses IP à
partir desquelles les opérations de transfert de zone sont
possibles.
Le groupe trusted donne la liste des réseaux de
confiance qui sont habilités à utiliser le service.
Ces définitions se retrouvent au début du fichier de configuration global du service DNS.
# cat /etc/bind/named.conf.options
acl "xfer" {
localhost;
192.200.0.1;
192.200.0.3;
192.200.0.4;
};
acl "trusted" {
localhost;
192.200.0.0/27;
};
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
forwarders {
192.200.0.1;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
allow-transfer {
none;
};
allow-query {
trusted;
};
allow-query-cache {
trusted;
};
};
C'est dans la section options que l'on trouve la
première utilisation des listes de contrôle d'accès. Ce niveau est dit global
puisqu'il est examiné avant les déclarations de zone qui sont effectuées dans
le fichier /etc/bind/named.conf.local. Dans l'exemple
donné ci-dessus, les opérations de transfert sont interdites au niveau global
et les requêtes récursives pour des enregistrements sur lesquels le serveur
n'a pas autorité ne sont autorisées que pour les réseaux de confiance.
Il faut noter que la section forwarders a été
décomentée et configurée avec l'adresse IP du serveur de niveau supérieur
dans l'arborescence DNS. Cette configuration est
nécessaire pour garantir la «continuité» de l'arborescence factice de travaux
pratiques. Il faut que les communications inter zones soient effectives pour
mettre en œuvre les autres services internet qui s'appuient sur la résolution
des noms.
On retrouve les listes de contrôle d'accès dans le fichier de déclaration de zone.
# cat /etc/bind/named.conf.local
//
// Do any local configuration here
//
zone "0.200.192.in-addr.arpa" {
type master;
file "192.200.0";
allow-query {
any;
};
allow-transfer {
xfer;
};
};
zone "stri.lab" {
type master;
file "stri.lab";
allow-query {
any;
};
allow-transfer {
xfer;
};
};
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
Les choix effectués ici reviennent à autoriser sans restriction les
requêtes directes et inverses sur les enregistrements de la zone
stri.lab. Les transferts sur les mêmes enregistrements ne
sont autorisés que pour les serveurs dont les adresses IP figurent dans la
liste xfer.
Comme dans les sections précédentes, ces options de configuration sont à valider avec la suite des tests utilisant les différents types de requêtes à l'aide de la commande dig. À titre d'exemple, voici ce que l'on peut lire dans les journaux système lors d'une requête de transfert de zone non autorisée.
named[1524]: client 192.200.0.4#58025: zone transfer 'stri.lab/AXFR/IN' denied
Pour être plus complète, la sécurisation de la configuration devrait utiliser la notion de vue interne et externe du service de résolution des noms. Ce niveau de configuration dépasse «quelque peu» le cadre de ces travaux pratiques d'introduction. Le contenu de cette section n'est qu'une première prise de contact avec les fonctionnalités de sécurité d'un serveur DNS.
Vous êtes ici :