b. Serveur DNS
Installation
Ubuntu est livré par défaut avec BIND le serveur
DNS le plus utilisé sur Internet. C'est ce serveur BIND, que nous
allons utiliser comme serveur DNS. Nous avons choisi la dernière version
de bind qui est BIND9, disponible dans le dépôt principal. Ce
choix ce justifie par le fait que cette version résout certains bugs des
précédentes versions, ajoute la prise en charge de DNSSEC qui est
le protocole standardisé par l'IETF permettant de résoudre
certains problèmes de sécurité liés au protocole
DNS et bien d'autres points importants tel IPV6. Pour l'installer, il suffit de
saisir la commande apt-get install bind9. Nous avons
opté pour le nom de domaine labs .supemir.ma.
Configuration
La configuration de ce serveur nécessite la
modification de plusieurs fichiers et la création des fichiers de zone.
Ce sont :
/etc/bind/named.conf.local
/etc/bind/named.conf.options
/etc/bind/db.labs.supemir.ma (c'est le
fichier de zone direct que nous avons créé)
/etc/bind/db.192.168.3 (c'est le fichier de
zone inversée que nous avons créé)
/etc/resolv.conf
/etc/hosts
Nous avons édité le fichier
named.conf.local (gedit
/etc/bind/named.conf.local) et l'avons modifié comme
suit :
// Do any local configuration here
// Consider adding the 1918 zones here, if they are not used in
your
// organization
//include "/etc/bind/zones.rfc1918";
# cl(c) que le serveur dhcp utilisera lors de la synchronisation
avec le serveur dns
key dhcp_updater{
algorithm hmac-md5;
secret
"5STvKYJR/wkFEPCoG1BTI8dDAQ2mzYJSTB82jBqHVs3uBYsF3wW1NsMQKq23xTTZMFtXJRY93tnynjZ9Pfa1ZQ==";
};
zone "labs.supemir.ma" {
type master;
file "/etc/bind/db.labs.supemir.ma";
allow-update { key dhcp_updater; };
notify yes;
};
// configuration de la zone invers(c)e
zone "3.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.3";
allow-update { key dhcp_updater; };
notify yes;
};
// fin de fichier
Le fichier suivant nécessitant une modification est
named.conf.options (gedit
/etc/bind/named.conf.options), son contenu est modifié comme
suit :
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.
// autres dns contacter si la resolution local est sans
succ·s
forwarders {
192.168.1.1;
212.217.0.1;
212.217.0.12;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
// fin de fichier
Les fichiers des zones sont utilisés pour lister les
différentes ressources d'un domaine, comme les serveurs de mails (MX),
les serveurs de noms (NS), ou les enregistrements machine/IP (A) et
redirections (CNAME). Voici une petite liste des principaux types
d'enregistrements dont nous avons fait usage dans les fichiers de zone :
NS : Déclare un serveur DNS pour la
zone.
MX : Déclare un serveur mail pour la
zone.
A : Réalise le lien entre le nom d'une
machine et son adresse IP.
PTR : Réalise le lien entre l'IP d'une
machine et son nom. Utilisé pour le fichier de zone inverse.
CNAME : C'est une espèce d'alias,
permettant de définir un nom par rapport à un autre nom.
Nous avons créé les fichiers de la
manière suivante :
gedit /etc/bind/db.labs.supemir.ma, ci
dessous son contenu :
$ORIGIN .
$TTL 604800 ; 1 week
labs.supemir.ma IN SOA srvsupemir4.labs.supemir.ma.
root.labs.supemir.ma. (
16 ; serial
604800 ; refresh (1 week)
86400 ; retry (1 day)
2419200 ; expire (4 weeks)
604800 ; minimum (1 week)
)
NS srvsupemir4.labs.supemir.ma.
A 192.168.3.254
AAAA ::1
$ORIGIN labs.supemir.ma.
srvsupemir4 A 192.168.3.254
dhcp IN CNAME srvsupemir4
dns IN CNAME srvsupemir4
mail IN CNAME srvsupemir4
gedit /etc/bind/db.192.168.3, ci dessous son
contenu :
$ORIGIN .
$TTL 604800 ; 1 week
3.168.192.in-addr.arpa IN SOA srvsupemir4.labs.supemir.ma.
root.labs.supemir.ma. (
11 ; serial
604800 ; refresh (1 week)
86400 ; retry (1 day)
2419200 ; expire (4 weeks)
604800 ; minimum (1 week)
)
NS srvsupemir4.labs.supemir.ma.
MX 10 srvsupemir4.labs.supemir.ma.
254 PTR srvsupemir4.labs.supemir.ma.
Contenu du fichier /etc/resolv.conf (gedit
/etc/resovl.conf)
domain labs.supemir.ma
search labs.supemir.ma
order local,bind
nameserver 192.168.1.1
nameserver 192.168.3.254
nameserver 212.217.0.1
# fin de fichier
Contenu du fichier /etc/hosts (gedit
/etc/hosts), dans fichier nous avons juste ajouté la
première ligne
192.168.3.254 srvsupemir4.labs.supemir.ma srvsupemir4
# Added by NetworkManager
127.0.0.1 localhost.localdomain localhost
::1 srvsupemir4 localhost6.localdomain6 localhost6
127.0.1.1 srvsupemir4
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
# fin de fichier
Lorsqu'une application est installée sur le
système, apparmor la verouille en limitant strictement ses accès
aux seules ressources auxquelles elle a droit sans empêcher son
fonctionnement, ainsi il lui ait attribué un profil standard de
sécurité qui restreint ses capacités. Les profils
standards sont stockés dans /etc/apparmor.d mais les modifications
locales de ces profils sont stockés dans /etc/apparmor/local et les
profils standards incluent les profils locaux. La synchronisation entre le
serveur DHCP et le serveur DNS implique une modification de profil, c'est ainsi
que nous avons ajouté
« <include/usr.sbin.named>» dans le
fichier /etc/apparmor.d/usr.sbin.named avant l'accolade
fermante ; puis nous avons crée le fichier
/etc/apparmor.d/local/usr.sbin.named dont le contenu
est :
/etc/bind/* rw,
/etc/bind rw,
A la suite de ce qui précède, il faut accorder
les droits nécessaire à l'utilisateur bind qui est crée
lors de l'installation de bind. Lorsqu'il est crée, il est ajouté
au groupe root et est propriétaire du répertoire /etc/bind, par
contre le groupe root n'est pas le droit d'écriture dans ce
répertoire par défaut. Nous avons accordé le droit
d'écriture au groupe avec le commande « chmod 774
/etc/bind ».
Test du serveur
Plusieurs outils sont disponibles pour réaliser des
tests de la configuration du serveur et de ses zones tels que named-checkconf,
named-checkzone, nslookup et dig, nous avons utilisé nslookup à
cet effet, voici un aperçu du test :
Figure 6 :
Résultat du test de résolution de nom par le serveur
DNS.
|