Vous êtes sur la page 1sur 18

Page 210 Chapitre 7 Résolution de noms ONS Page 211

Pré-requis A. Généralités
les connaissances acquises lors de la certification LPI niveau l, notamment: Le système ONS est le support de nombreuses fonctionnalités sur internet allant de la navigation à
l'envoi de courriers électroniques. Sa bonne configuration est essentielle dans le cadre d'un réseau
lEI Savoir éditer des fichiers lexte. local, et primordiale sur internet.
lE! Avoir des connaissances générales IP.
1. Les débuts de la résolullon de noms et l'apparition du ONS
Oblecllfs Depuis le début des réseaux IP. le principe de la résolution de noms est de faire correspondre un
A la fin de ce chapitre, vous serez en mesure de : nom facile à mémoriser à une adresse IP, seule information réellement exploitable pour contacter
une machine distante.
~ Connaître l'architecture et le principe de la résolution ONS.
nom-de-machine <-> 130.130.28.12
~ Connaitre les principaux types d'enregistrements ONS.
~ Configurer un client ONS. Tant que les machines publiques sur intemet étaient peu nombreuses. toutes les résolutions se fai-
saient au moyen d'un fichier appelé hasts qu'on téléchargeait à intervalle régulier pour se tenir au
~ Configurer un serveur de cache DNS. courant des nouveautés.
~ Configurer une redirection de la résolution ONS. le ONS a été conçu pour pallier les limites du fichier hasts téléchargé, et devait répondre à cer.
~ Exploiter la commande de pilotage mdc. tains impératifs de conception.

~ Gérer des zones ONS directes et inverses.


Le ONS esl dynamique
~ Créer des enregistrements de ressources dans des zones ONS.
les enregistrements doivent pouvoir être ajoutés de façon unique dans le système, et devenir rapi-
lE Gérer des zones ONS secondaires. dement disponibles pour tous.
~ Configurer une délégation de zone ONS.
lE Connaître les principaux outils de test de résolution ONS. Le ONSest répliqué
lE Sécuriser un serveur ONS. On ne peut se permettre de dépendre d'un seul serveur. et les informations existent toujours en plu.
sieurs exemplaires.

Le ONSest hiérarchisé
les informations sont classées en une arborescence qui permet leur organisation. Chaque niveau
de la hiérarchie esl appelé Il zone », et le sommet de cette hiérarchie est la zone « • ».

Le ONS est distribué


les informations sont réparties en une multitude de « sous-bases» (les zones ONS). et l'ensemble
de ces petites bases d'informations compose l'intégralité des enregistrements ONS. Ce fonctionne-
ment a l'avantage de faciliter l'administration en répartissant la charge sur des milliers de serveurs.

~ Le ONS est sécurisé


~ Cet impératif est apparu plus tardivement. et n.est pas encore implémenté sur tous les serveurs
~ ONS. On a toutefois désormais la possibilité de sécuriser de bout en bout les opérations du ONS.
.8' les services de sécurité disponibles sont l'authentification, le contrôle d'accès el le contrôle
=l d'intégrité.

~
j
Il

LINUX - Préparation à la certificallon LPIC-2 Elamens LPI 201 et LPI 202


Page 212 Chapitre 7 Résolution de noms DNS Page 213

2. Concept de zones ONS 3. Mécanisme de la résolution de nom


Le nombre pléthorique d'enregistrements ONS ne permettrait pas leur gestion sans aucune forme Quand une application d'une machine doit faire une résolution de nom, elle s'adresse au composant
d'organisation (cela reviendrait à avoir un fichier hasts contenant des millions de lignes). Leur orga- resolver de son système d'exploitation. Le resolver va alors envoyer une requête de résolution de
nisation hiérarchique était donc indispensable. et c'est la raison d'être des zones ONS. Chaque nom au serveur ONS référencé sur cette machine. Les requêtes de cHent à serveur se font sur le
niveau de la hiérarchie est une zone. Chaque arborescence est un domaine. port 53 et sont transportées par le protocole UOP.
On a arbitrairement créé une zone appelée « • » (point), qui est à la racine de la hiérarchie, et qui Si te serveur interrogé dispose localement de l'information, il répond directement. On dit qu'il fait
contient tous les t1d : top level dama in (domaine de niveau supérieur). Les t1d sont les extensions une réponse authoritatlve (autorilaire).
bien connues telles que corn, fr, net, be, etc. Tous les domaines que nous connaissons et utilisons
Si le serveur interrogé ne dispose pas de l'information, il va consulter la seule zone qu'il connait, la
sont des sous-arborescences des tld.
zone « . », qui lui donnera l'adresse d'un des 13 serveurs racines de l'internet. Le serveur interroge-
ra alors ce serveur racine pour connaître l'adresse d'un serveur de la zone du t1d : top level
damain (domaine de premier niveau). Lequel serveur sera interrogé à son tour pour connaître
1 l'adresse d'un serveur de nom gérant la zone directement sous le tld. Enfin, ce serveur sera interro-

~I gé pour savoir s'il dispose de l'enregistrement voulu dans ce domaine.

1: www.abC.tr?

8: 62.193.202.6

Dans l'exemple ci-dessus, la zone france contient les sous-zones rhone, nord et idf. Mais on peut
aussi dire que la zone « . » contient les sous-zones fr, corn et edu. Les zones situées hiérarchique-
ment sous une zone sont appelées zones -enfant-.
L'intérêt de cette organisation est de dédier un serveur (en fait au moins deux pour des raisons de
tolérance de pannes) à la gestion d'une zone. Et comme la hiérarchie ONS est virtuellement illi-
mitée, en largeur comme en profondeur, un serveur ONS ne gère en fait qu'une petite portion de
l'espace de nom. Toujours dans notre exemple, si un serveur ONS héberge les données de la zone
Schéma simplifié de la résolution de nom:
france, il est consulté pour toute résolution de nom se terminant par « france.fr », mais il n'héberge
pas nécessairement les données des zones mone, nord et idf, et peut se contenter de rediriger la 1. Le client à son serveur de référence (fournisseur d'accès ou serveur local) : quelle est l'adresse
requête vers le serveur de la zone enfant. On parle alors de délégation dans le sens où on pour le nom www.abc.fr ?
délègue la gestion d'une zone enfant à un autre serveur.
i.~ 2. Le serveur local à un serveur racine: donne-moi l'adresse d'un serveur connaissant la zone fr.
Pour des raisons de tolérance de panne, les données de chaque zone ONS doivent être répliquées
au moins une fois, c'est-à-dire exister à au moins deux exemplaires. Un serveur aura autorité sur la 3. Tiens, le serveur à l'adresse 193.176.144.6 pourra te renseigner. Il possède les informations de
zone et sera responsable des mises à jour. On dit qu'il est SOA : Start Of Autharlty. Les zones ~ la zone fr.
.~
hébergées sur ce serveur sont de type master, et ceux qui hébergent une réplique de la zone sont ~ 4. Le serveur local au serveur de la zone fr : donne-moi l'adresse d'un serveur connaissant la zone
configurés en tant que slave, abc.fr.
~ 5. Tiens: le serveur à l'adresse 213.41.120.195 pourra te renseigner.
!
I.U
6. Le serveur local au serveur de la zone abc.fr : possèdes-tu un enregistrement
domaine abc.fr ?
www dans ton

••
LINUX. Préparation à la certillcation LPIC-2 Examens LPI 2D1 et LPI 2D2
Page 214 Chapitre 7 Résolution de noms ONS Page 215

7. Oui, voici son adresse IP: 62.193.202.6. Le nom normalisé de ta zone sera formé par tes octets de ta partie réseau de l'adresse IP ordonnés
en sens inverse, suivi de la chaine de caractères « .in-addr.arpa ».
8. Le serveur local à la slation cliente: tu m'as demandé www.abc.fr et son adresse IP est
62.193.202.6. Résolutions dans la zone 1.168.192.in-addr.arpa
10 -Jo serveur1.enlreprise.local (pour serveur1.enfreprise.local_ 192.168.1.10)
4. Les enregistrements
15 _ prinler1.enfreprise.locaf (pour prinler1.entreprise./ocal _ 192.168.1.15)
les zones n'ayant qu'un rOle structurant, il faudra pour assurer les résolutions de nom créer des en-
registrements qui feront correspondre un nom à une adresse IP ou à une autre information. Ces en- Résolutions dans la zone 85.in-addr.arpa
registrements sonl appelés Ressources Records (enregistrement de ressources), souvent notés
RR et constituent les informations fondamentales du ONS.
25.8.92 _ www.abc.!r(pourwww.abc.!r_ 85.92.8.25)

le FQON, Fully Qualified Domain Name (Nom de Domaine Pleinement Qualifié) représente le
29.123.65 -+ www.def.nel(pourwww.def.net_ 85.65.123.29)
nom d'hôte, avec toute son arborescence parente, jusqu'à la zone « . » . Par exemple. www.salnl~
marcelln.fr représente l'enregistrement www dans la zone salntmarcelln.fr, fr étant la dernière d. Enregistrement de type CNAME
zone avant la zone point. Quand on ne veul aucune ambiguïté quant à ta nature d'un nom ONS, on Canonlcal Name (alias ou surnom). Ce type d'enregistrement fait correspondre un nom à un autre
représente te FQON avec la zone point matérialisée, c'esH!t-dire qu'on écrit un point comme dernier nom. Par exempte si vous créez un serveur web pour tes usages internes de votre entreprise sur un
caractère du FaON. On obtient donc« www.salntmarcelln.fr. ». Cette notation est courante, voire serveur existant qui s'appellerait « production1.maboite.com », vous pouvez créer un CNAME « in-
indispensabte dans tes fichiers de configuration du serveur ONS. tranet » plus intuitif pour tes utilisateurs.
Le système ONS a pour vocation première d'assurer un service de résolution de nom. C'est-à-dire Résolutions dans la zone maboite.com
de faire correspondre à un nom d'hôte une adresse IP. Ses créateurs ont toutefois prévu que le
système ONS serait capable d'assurer ta résolution pour différents types de noms et d'améliorer intranel -+ production1
ainsi la finesse du service.
imprimanle1 -+ printer1
a. Enregislrement de type A e. Enreglstremenl de type MX
Le plus facile à appréhender et te plus courant. C'est l'enregistrement qui fait correspondre une Mail Exchanger (Indicateur de serveur de messagerie pour un domaine). Ce type d'enregistrement
adresse tP à un nom. Par exemple quand on tape http://www.site.fr. www est un enregistrement de fait savoir à des agents de transfert de messagerie quet est te serveur destinataire finat d'un cour-
type A dans la zone site.fr. It correspond à une adresse IP qui est cette du serveur web hébergeant rief. L'exemple ci-dessous est à titre d'illustration et ne présage pas du format d'un enregistrement
te site en question.
MX.
Résolutions dans la zone domaine.fr Résolution dans la zone domaine.fr
www-+ 82.25.120.5 @domaine.fr--Jo smtp.domaine.fr --Jo 82.25.120.6
supporl-+ 125.12.43.2
1. Enregistrement de type SOA
vpn --Jo 82.25.120.6
Star1 Of Authorlty (début d'autorité). Indique le serveur ayant la responsabilité de ta zone. Toute
b. Enregistrement de type MAA zone fonctionnelle a un enregistrement SOA

Récent mais de plus en plus fréquent. Cel enregistrement fait correspondre à un nom une adresse Résolution dans la zone domaine.!r
IPv6. domaine.fr -+ nS.hebergeur.nel
Résolutions dans la zone domaine.fr
~.~ g. Enregislrement de type NS
www--Jo 2001:610:12:123a:28:15ff:fed9:97e6
Name Server (serveur de nom). Indique les serveurs de noms pour ta zone. Toute zone fonction-
suppor1--Jo 2001:610:12:123a:28:15ff:fed9:97e8 •.• nelte a au moins un enregistrement NS.
~
Résolution dans la zone domaine.fr
C. Enregistrement de type PlR ~
1::
---------
domaine.!r --Jo ns.hebergeur.nel
Pointer, te contraire de A Si les enregistrements de type A font correspondre une adresse IP à un
nom d'Mte, tes PTR font exactement le contraire. Ils existent dans des zones un peu particulières ~
nommées IN-ADOR.ARPA
.~
;B
9

LINUX - Préparation à la certification LPIC.2 Examens lPI 201 et lPI 202


Page216 Chapitre 7 Résolution de noms ONS Page 217

Format simplifié de named.conf


5. ONS sur Linux
include ,,/ chemin/fichier";
a. Le serveur ONS options 1
directory "/ chemin/repertoiredetravail";
les services ONS s'exécutant sur Linux sont presque exclusivement basés sur le logiciel SIND forwarders 1 A.8.C.D };
(Berkeley Internet Name Domain). Comme son nom l'indique, il a été conçu dans l'université de };
Berkeley en Californie. les premiers développements datent des années 80 et son maintien est ac- zone "NOMDEZONEl" 1
tuellement assuré par 1'(( Internet System Consortium» (ISe), une association à but non lucratif qui type type;
gère un certain nombre de logiciels structurants de l'internet et des réseaux locaux. file "/CHEMIN/NQMfICllIERl";
};
Si des alternatives existent à l'usage de SIND pour la résolution de noms sur Linux (maradns, zone "NOMDEZONE2" 1
djbdns par exemple), seule la connaissance de SIND est exigée pour la certification lPI. type type;
file" /CHEMINfNOMflCllIER2";
b. Le client ONS );
Les machines Linux disposent nativement d'un client ONS appelé resalver. Toute application fonc-
tionnant sur Linux et ayant besoin de faire une requête ONS s'appuiera sur ce composant. Fichier named.conf : principales directives utlllsltes

Il exploite le fichier de configuration simple letclresolv.conf. include Indique le nom d'un "sous-fichier" de configuration. Ëvite d'avoir un fichier named.conf
trop grand pour être administré confortablement.
Format simplifié du fichier /etclresolv.conf
options Conteneur pour certains mots-clés, notamment directory et forwarders.
search domaine
domain domaine directory Dans une directive option. Indique le répertoire utilisé pour le stockage sur disque des
nameserver A.S.C.D données de cache du serveur.

Fichier letc/resolv.conf: directives et variables utilisées forwarders Placé dans une directive option pour les configurations simples (redirection incondi-
tionnelle). Si le serveur ne dispose pas dans ses fichiers de la résolution demandée,
search Facultatif: indique le suffixe de recherche employé sur le poste Linux. Permet de ne renvoyer la demande vers le serveur dont l'adresse IP est donnée en référence.
pas taper l'intégralité du FQDN dans les applications. le fichier letclresolv.conf
zone Conteneur pour le nom d'une zone ONS gérée par le serveur.
admet plusieurs domaines de recherches précisés par search.
type Dans une directive zone. Indique le type de zone stockée. les principales valeurs
domain Facultatif et obsolète: indique un suffixe de recherche unique employé sur le poste
sont hint (serveurs racine), master (serveur maUre d'une zone), et slave (réplique de-
Linux. puis un master).
domaine le FQDN du domaine constituant le suffixe de recherche.
file Dans une directive zone. Indique le fichier contenant les informations de zone.
nameserver Indique l'adresse IP du serveur ONS qui assurera les résolutions. le fichier letcl
resolv.conf admet plusieurs serveurs ONS précisés par nameserver. b. Les fichiers de définition de zone pré.lnstallés
Selon les implémentations, un certain nombre de zones sont présentes par défaut à l'installation du
serveur pour assurer un fonctionnement standard et permettre les résolutions courantes. Par
B. Configuration de base du serveur exemple, la zone localhost qui permet de résoudre le nom localhost en 127.0.0.1, y compris au sein
du service ONS et pas seulement dans le fichier hosts.
1. Fonctionnement du serveur DINO
Le serveur ONS SIND repose
named.conf.
sur un exécutable named et sur un fichier de configuration 1
'il Ces fichiers
named.conf.
de zones sont créés à l'installation, et correctement référencés dans le fichier

a. Structure du fichier named.confet principaux éléments de contiguration ~


Ci-dessous un exemple générique de fichier named.conf. Selon les cas, on le trouvera sous une ~
forme entière et monolithique, mais il est fréquent de le trouver éclaté en plusieurs morceaux pour
des raisons de lisibilité. Les sous-fichiers sont alors appelés par la directive Include. Le rOle princi-
pal du fichier est de déclarer les zones qui seront gérées par ce serveur, mais également de préci-
ser tout élément de configuration.

ExamensLPI 201 et LPI 202


LINUX- Préoaralion à la certification LPIC-2
Page 218 Chapitre 7 Résolulion de noms ONS Page 219

Exemple de fichier named.conf sur une distribution Debian : b. Redirection


Notez fa déclaration des zones par défaut, ainsi que J'appel de deux sous.fichiers de configuration Nous savons qu'un serveur de cache n'héberge pas localement d'enregistrements de ressources.
appelés par la directive include. S'il doit faire une résolution, il va s'adresser aux seuls serveurs qu'il connaisse, à savoir les ser-
veurs racine. Cetle méthode de résolution n'est pas forcément la plus rapide, et on pourrait souhai-
inc!ude "/etc/bind/named. conf. options";
ter tirer parti du cache de serveurs déjà en fonctionnement, comm~ ceux d'un hébergeur ou d'un
fournisseur d'accès. Il faut pour cela indiquer à notre serveur l'adresse d'autres serveurs vers les-
zone"." {
type hint; quels il pourra rediriger ses requêtes. Ce type de redirection est appelé inconditionnelle car toutes
file "/etc/bind/db.root"; les résolutions non lourdes sont redirigées.
},
Configuration de la redirection dans nBmed.conf
zone "localhost" 1 options j
type master; forwarders
file "/etc/bind/db.!oca!"; A.B.e.D;
}, },
},
zone "12ï.in-addr.arpa" 1
type master; Fichier named.conf : directives utilisées pour la redlreetlon
file ";etc/bind/db.127";
}, options Annonce la section options dans le fichier named.conf. les redirections Inconditionnel-
les sont annoncées dans une section options.
zone "O. in-addr. arpa" 1
type master; forwarders Dans une directive options. Annonce la ou les adresse(s) IP du ou des redirecteur(s).
file "/etc/bind/db. 0" i
},
3. Commande de pilotage rode
zone "255.in-addr.arpa" {
Comme tous les services Unix ou Linux, BIND est lancé ou arrêté par un script dans letcllnlt.d.
type master;
Pour une gestion précise du service, on dispose d'une commande de pilotage: rode. Cette com-
file "/etc/bind/db.255";
},
mande associée à quelques mots-clés permet de transmettre au serveur diverses instructions.
Il n'est pas obligatoire d'utiliser rode dans le cadre d'une administration courante. Mais alors toute
include "/etc/bind/named.conf .local"; modification d'un fichier de configuration quel qu'il soit imposerait le redémarrage complet du ser-
vice, et donc son interruption temporaire. rodc devrait donc être utilisé systématiquement, surtout si
Notez les directives Include, qui renvoient vers deux fichiers vides à l'installation (ils ne contiennent le serveur gère un grand nombre de zones, comme c'est le cas pour un hébergeur par exemple.
que des commentaires). le reste de la configuration se résume à la déclaration de zones, dont la
seule indispensable à la résolution de nom publique est la zone « . » évoquée plus haut. Syntaxe
rndc action [paramètre]
2. Serveur de cache
Un serveur ONS de cache assure une résolution de nom. mais n'héberge aucune donnée de réso- Commande rodc : actions possibles
lution locale et s'appuie sur une infrastructure déjà existante. Il se contente de relayer les demandes reload Recharge les fichiers de configuration et les informations de zone.
vers d'autres serveurs. Ce faisant, ce serveur mettra en cache pour une durée déterminée toutes
les résolutions enregistrées. reload zone zone Recharge les fichiers d'une zone unique.
Par définition, un serveur de cache ne dispose pas localement de zones ONS personnalisées. reconfig Charge les fichiers de configuration pour les nouvelles zones uniquement.
C'est-à-dire qu'il n'assurera pas lui~même de résolution de type « Quelle est l'adresse IP correspon-
dant au nom W'NW.sitegenial.com ? » : Il n'héberge tout simplement pas ce type d'information, et flush Efface le cache du serveur.
devra pour répondre aux requêtes s'en remettre à d'autres serveurs mieux renseignés. flush zone Efface le cache du serveur pour la zone spécifiée.

a. Configuralion du serveur de cache status Affiche l'état du serveur

C'est la bonne nouvelle : un serveur BIND fraîchement installé est naturellement un serveur de
cache. Il n'y a donc pas de configuration particulière à réaliser. Quand on parle d'installer et de
configurer un serveur de cache, comme dans les objectifs de la certification lPI, il s'agit simplement
d'instalier un serveur fonctionnel sans information de zone locale.

LINUX. Préparation à la certificalion lPIC.2 ExamenslPI 201 eilPI 202


Page 220 Chapilre 7 Résolution de nom. DNS Page 221

C. Gestion de zones ONS Fichier de zone directe: format type de l'en-tête

1. Gestion de zones locales retry Valeur numérique. Utilisé quand la zone est répliquée. S'il est impossible pour l'es-
clave de contacter le serveur maître, indique au bout de combien de temps réessayer.
a. Créalion d'un fichier de zone direcle expire Valeur numérique. Utilisé quand la zone est répliquée. S'il est impossible pour l'es-
Les informations nécessaires à la résolution devront se trouver dans un fichier de déclaration clave de contacter le serveur maître, indique au bout de combien de temps les enre-
de zone. L'emplacement de ce fichier est libre, puisqu'il est défini dans une section zone de gistrements non rafraîchis perdent leur validité et ne doivent plus être utilisés.
named.conf. Toutefois, un usage établi veut que ce fichier soit placé dans le répertoire Ivar/na- negative Valeur numérique. Indique combien de temps le serveur doit conserver en cache une
med. Notez que selon les distributions, il peut aussi se trouver dans le répertoire letc ou dans réponse négative.
letclblnd. Pour la certification LPI, retenez plutôt Ivar/named.
NS Enregistrement indiquant quel est le serveur de nom pour cette zone.
Ce fichier aura le format très strict indiqué ci-dessous. Dans la plupart des cas, un refus de démar-
rer est da à un fichier de zone mal formé. Il est composé des déclarations de durée de vie en
cache des informations, du serveur ayant autorité sur la zone, des serveurs de noms desservant b. Création d'un fichier de zone inverse
cette zone. et de l'ensemble des enregistrements de ressources (RR) de cette zone. Le fichier de zone inverse aura la même structure qu'un fichier de zone directe. Comme indiqué
Format type du fichier de zone directe plus haut, le nom normalisé de la zone est formé par les octets de la partie réseau de l'adresse IP
ordonnés en sens inverse, suivi de la chaine de caractères « .in-addr.arpa ». Par exemple, la zone
$TTL ttl inverse pour le réseau 192.168.99.0 sera: 99.168.192.1n-addr.arpa, et c'est ce nom qui devra être
nomzone IN SOA serveur mailadmin employé dans le fichier de zone et dans le fichier named.conf.
seriaI
refresh Format type du fichier de zone inverse
retry $TTL ttl
expire nomzoninv IN SOA serveur mailadmin
negative seriaI
refresh
nomzone IN NS serveur retry
expire
Fichier de zone directe: format type de l'en-tête negative

NI Time Ta Live (durée de vie) : indique la durée de conservation en secondes des don- nornzoneinv IN NS serveur
nées en mémoire cache. Cette valeur est précédée par la directive $TTL.
nomzone FaON de la zone gérée par ce fichier. Souvent remplacé par un arobase (@) pour Fichier de zone Inverse: format type de l'en-tête
alléger le fichier. Attention, puisqu'il s'agit d'un FaON, le nom de la zone doit se termi-
nomzoneinv Nom normalisé de la zone inverse: subnet-inversé.in-addr.arpa. Où subnet-inversé
ner par un point.
représente les octets du subnet en ordre inversé. Attention, le nom de la zone in-
IN Obsolète mais courant: classe Internet (aucune autre classe n'est plus utilisée). verse est un FaON, il doit donc se terminer par un point.

SOA Start Of Authority. Enregistrement obligatoire pour indiquer que ce serveur est légitime SOA Start Of Authority. Enregistrement obligatoire pour Indiquer que ce serveur est légi-
sur cette zone. Ume sur cette zone.

setVsur FaON du serveur ayant autorité sur la zone. setVeur FaON du serveur ayant autorité sur la zone.

mailadmin Adresse e-mail de l'administrateur du serveur. L'arobase étant un caractère réservé


dans les fichiers de zone, il est conventionnellement
admin@saintmarcelin.fr devient donc admin.saintmarcelin.fr.
remplacé par un point. ~.~ NS Enregistrement indiquant quel est le serveur de nom pour cette zone.

Constatez que c'est rigoureusement la même chose que pour la zone directe. C'est le format des
i'1 enregistrements qui fait l'essentiel de la différence.
seriaI Valeur numérique. Numéro de série du fichier. Utile quand la zone est répliquée sur .2'
d'autres serveurs pour savoir si les données ont changé et si la réplication doit être
faite.
refresh Valeur numérique. Utilisé quand la zone est répliquée. Indique au serveur esclave à
quel intervalle tester la validité de sa zone.

LINUX. Préparation à la certilicalion LPIC-2 Examens LPI 201 el LPI 202


Page 222 Chapilre 7 Résolution de noms DNS Page 223

C. Création d'enregistrements dans les fichIers de zone Fichier named.conf : directives et syntaxe de la déclaration de zone
Une fois les fichiers de zone créés. il suffit d'ajouter autant d'enregistrement de ressource que l'on
souhaite, à raison d'un par ligne. nomzone Le FQON de la zone gérée par le serveur.

Format d'un enregistrement de ressource dans un fichier de zone directe type master Précise qu'il s'agit d'une zone maîtresse à synchroniser éventuellement vers des
serveurs esclaves.
nom IN typeRR valeur-résolue
fichier Chemin absolu du fichier à lire pour prendre connaissance des éléments propres à
Format d'un enregistrement de ressource dans un fichier de zone inverse la zone (configuration, RR, etc.).
adresse-hdte IN PTR nom
e. Prise en compte de la nouvelle configuration
Fichier de zone directe: format des enregistrements Il faut ensuite faire en sorte que le serveur ONS recharge ses fichiers de configuration afin de
prendre en compte les nouveautés. Deux solutions pour cela : le redémarrage du service ou le
nom Nom simple ou FQON auquel il faut faire correspondre une adresse IP.
chargement de la nouvelle zone par commande de pilotage mdc.
IN Obsolète mais nécessaire: classe Internet.
Rechargement du service
typeRR Type d'enregistrement. Souvent de type A : fait correspondre une adresse IP à un letc/init.d/bind9 restart
nom. Valeurs courantes: A, CNAME, MX.
Chargement de la nouvelle zone par mdc
valeur-résolue Ce à quoi on fait correspondre le nom. Dans le cas d'un enregistrement de type
A, une adresse IP. rndc reload saintmarcelin.fr

adresse.h6te L'octet ou les octets qui associés à l'adresse du réseau de la zone inverse forme-
ront l'adresse IP à résoudre. 2. Gestion de zones secondaires
PTR Une zone ONS ne devrait pas dépendre d'un serveur unique et il est courant de créer sur un
Type pointeur: fait correspondre un nom à une adresse IP, Hors enregistrements
SOA et NS, c'est le seul type qu'on rencontre dans les zones inverses. deuxième serveur des zones secondaires, strictement identiques aux zones primaires, et synchronf.
sées à intervalles réguliers.
L'ajout d'un grand nombre d'enregistrements est évidemment fastidieux, et gagnera à être réalisé
sous forme de script. a. Déclaralion de la zone secondaire dans named.conl
Exemple de script simple d'alimentation d'un fichier de zone: Il n'est évidemment pas nécessaire de créer les fichiers de zones, puisqu'ils seront synchronisés
depuis le serveur autoritaire. On parle couramment de serveur maître et de serveurs esclaves.
Les hébergeurs et autres DNS gérant de gros volumes d'enregistrement utilisent naturelfement des
scripts beaucoup plus éfaborés. Le chargement de la zone esdave se fait avec une déclaration de zone normalisée dans le fichier
named,conf.
'!/bin/bash
echo "Nom à ajouter à la zone 7" Format type de fa déclaration de zone secondaire dans named.conf
read nom zone "nomzone" (
echo "Adresse IP correspondant 7" type slave;
read ip masters 1 adresse maitre
echo "Snom IN A Sipn» Ivar/named/saintmarcelin.fr file "fichier"; -
1;
d. DéclaraUon de zone principale dans le lichier named.conl
Une fois que l'on dispose d'un fichier de zone, il faut faire savoir au serveur qu'il doit le charger au Fichier named.conf : directives et syntaxe de la déclaration de zone
démarrage. Ceci se fera avec une déclaration de zone normalisée dans le fichier named.conf.
nomzone Le FQON de la zone gérée par le serveur.
Format type de la déclaration de zone dans named.conf
type slave Précise qu'il s'agit d'une zone esclave à synchroniser depuis un serveur maître.
zone "nomzone" 1
type master; adresse_maitre Adresse IP du serveur autoritaire.
file" fichier";
1;
fichier Chemin absolu du fichier dans lequel stocker les éléments synchronisés. Le
compte de service doit avoir les droits d'écriture sur le répertoire de travail.

LINUX - Préparation à la certilicaUon LPIC-2 Examens LPI 201 el LPI 202


Page 224 Chapitre 7 Résolution de noms ONS Page 225

1
b. Prise en compte de la nouvelle configuration
li Il faut ensuite faire en sorte que le serveur ONS recharge ses fichiers de configuration afin de
Utifisation de ping pour tester une résolution de nom
Quand on utilise ping pour tester une résofution de noms. c'est la traduction de l'adresse qui im-
prendre en compte les nouveautés. Deux solutions pour cela : le redémarrage du service ou le porle et non fa réponse ICMP de fa machÎne distante.
chargement de la nouvelle zone par commande de pilotage rndc.
donald:/etc/bind8 ping donald.formation.fr
Rechargement du service PING donald.formation.fr (192.168.1.1) 56(84) bytes
/etc/init.d/bind9 restart 64 bytes fram donald.formation.fr (192.168.1.1): icmp
64 bytes fram dona1d.formation.fr (192.168.1.1): icmp
Chargement de la nouvelle zone par mdc 64 bytes from donald.formation.fr (192.168.1.1): icmp
rode reload saintmarcelin.fr
b. nslookup
nslookup est l'outil le plus populaire pour l'interrogation des serveurs ONS. Il est présent sur la
3. Délégation de zone grande majorité des plates.formes Unix et Windows.
Une délégation de zone consiste à faire gérer par un serveur tiers une zone enfant d'une zone
nslookup est utilisé la plupart du temps en mode interactif. C'est-à-dire qu'après avoir tapé nslook.
hébergée par un serveur parent. C'est te principe de la délégation qui permet de distribuer l'en-
up, on se trouve dans son interface oû on tapera des commandes spécifiques. Les serveurs de
semble de l'espace de nom ONS sur des milliers de serveurs. La délégation se configurera sur le
serveur parent. noms interrogés par défaut sont ceux référencés dans letclresolv.conf. Ceci pourra éventuellement
être modifié par la suite.
On ajoutera dans le fichier de zone du parent deux Ressources Record: l'un de type NS pour in.
Utilisation de nsfookup pour une résolution de nom
diquer qu'il existe un serveur de nom pour la zone enfant. et l'autre de type A pour connaître
l'adresse IP de ce serveur de nom. L'enregistrement NS assurant la délégation est appelé glue Par défaut, nslookup adresse aux serveurs DNS des requêtes de type A
record (enregistrement colle).
donald:/etc/bindf nslookup
Configuration de fa défégation dans f8 fichier de fa zone parente > server
zone enfant IN NS dns enfant
Defau1t server: 192.168.1.1
dns_ënfant IN A A.B.C~D Address: 192.168.1.1153
> colncoln.formation.fr
Server: 192.168.1.1
Éléments Address: 192.168.1.1153

zone enfant Nom simple de la zone enfant.


IN colncoln. formation. fr canonlca1 name M donald.formatlon.fr.
Obsolète mais obligatoire: classe internet.
Name: dona1d.formation.fr
NS Cet enregistrement est de type Name Server (serveur de nom). Address: 192.168.1.1
>
dns enfant Nom du serveur ONS qui gère la zone enfant.
A C'est un enregistrement de type A. nslookup
A.B.C.D Adresse IP du serveur de nom pour la zone enfant. nom Taper un nom ONS directement dans l'interface nSlookup revient à en demander
la résolution. nslookup indiquera alors quel serveur ONS il a interrogé, et la
réponse qui lui a été faite. Il peut s'agir d'un nom complet (FQON) ou d'un nom
4. Outils de test simple si on s'appuie sur un suffixe de recherche défini dans Jetclresolv.conf.
a. plng server AB.C.D La commande server suivie de l'adresse IP d'un serveur à interroger indique à
nslookup que toutes les interrogations futures devront être adressées à ce
Même si ça n'est pas sa fonction première, plng peut tout à fait servir de test rudimentaire pour la
serveur,
résolution de noms. On sera alors limité à tester la réponse des serveurs par défaut, renseignés
dans letclresolv.conf. set type= TYPE Par défaut, nslookup fait des requêtes de type A (résolution ordinaire de nom en
adresse IPv4). La commande set type permet d'adresser des requêtes d'un autre
type. On s'en sert couramment pour connaître par exemple les serveurs de noms
ou de messagerie assodés à une zone.

LINUX. Préparation à la certification LPIC.2 Examens LPI 201 et LPI 202


Page 226 Chapitre 7 Résolution de noms ONS Page 227

Utilisation de nslookup pour trouver l'adresse d'un serveur de messagerie ;coineoin.formation.fr. IN A

On peut utiliser nsfookup pour tous 'es types d'enregistrements courants (ici MX). ;; ANSWER SECTION:
donald:/etc/bindl nalookup eoincoin. formation. fr. 86400 IN CNAME donald.formation.fr.
> set type-MX donald. formation. fr. 86400 IN A 192.168.1.1
> elysee.org
Server: 192.168.1.1 ;; AUTHORITY SECTION:
formation.tr. 86400 IN NS donald.formation.fr.
Address: 192.168.1.1153
" Ouery time: 9 msee
Réponse ne faisant pas autorité : " SERVER: 127.0.0.1'53(127.0.0.1}
,. WHEN: Thu Jun 15 19:49:45 2006
elysee.org MX preference - 10, mail eKchanger - mail.elysee.org
., MSG SIZE rcvd: 90
mail.elysee.org internet address - 64.182.1.213
> d. hos'
hast est un outil simple pour faire une requête ONS en mode non interactif.
c. dig
Syntaxe simplifiée pour la commande host
dlg est le nouvel outil proposé par l'ISe pour l'interrogation et le diagnostic des serveurs ONS. Pas-
sant pour être le plus précis et abouti des outils de test, il devrait éventuellement finir par s'imposer host nom
comme solution de référence. Toutefois, les habitudes prises par les administrateurs ONS laissent
présager encore de beaux Jours pour nslookup. host nom -t type A.a.C.D

dlg est utilisé en mode non interactif, c'est-à-dire que chaque utilisation de dlg devra donner l'en- Éléments
semble des paramètres nécessaires à la résolution.
Syntaxe simplifiée de dig
nom Le nom ONS dont il faut assurer la résolution. Il peut s'agir d'un FQON ou du nom
simple qui sera complété par le suffixe de recherche s'il est défini dans lete/resolv.conf.
dig nom
-t type Facultatif: le type de requête qui est adressée. Par défaut le type est sélectionné auto-
dig A.a.C.D nom TYPE matiquement parmi les types A, AAAA et MX.
A.B.C.D Facultatif: l'adresse IP du selVeur ONS à interroger. Si cet élément n'est pas rensei-
Éléments gné, ce sont les selVeurs présents dans letclresolv.conf qui sont utilisés.
nom le nom complet (FQON) dont on veut assurer la résolution. Utilisation de host pour tester une résolution de nom
A.B.C.D L'adresse IP du selVeur ONS à interroger. En cas d'omission, les selVeurs de noms in. host présente un résultat concis.
tarrogés sont ceux référencés dans lete/resolv.conf.
donald:/ete/bind' hoat coincoin.formation.fr
TYPE Par défaut, dig fait des requêtes de type A (résolution ordinaire de nom en adresse eoincoin.formation.tr i5 an alias for donald.formation.fr.
IPv4). le paramètre type s'il est précisé permet d'adresser des requêtes d'un autre type. donald.formation.fr has address 192.168.1.1
On s'en sert couramment pour connaître par exemple les seIV8urs de noms ou de mes.
sagene associés à une zone. donald:/ete/blnd'

Exemple d'utilisation de dig Utifisation de host pour récupérer 'es enregistrements NS


De foin la plus précise des commandes de diagnostic ONS. donald:/etc/bindl hoat -t NS formation.fr
formation.fr name server donald. formation. fr.
donald:/etc/bind' diq @127.0.0.1 coincoin.formation.fr
donald:/ete/bind'
; «» OiG 9.2.4 «» @127.0.0.1 coincoin.formation.fr
., global options: printcmd
., Got answer:
" -»HEADER«- opcode: QUERY, status: NOERROR, id: 18067
" flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTlIORITY: 1, ADDITIONAL: 0

., QUESTION SECTION:

LINUX. Préparation à la certification LPIC-2 Examens LPI 201 et LPI 202


Page 228 Chapitre 7 Résolution de noms DNS Page 229

e. Mesure des performances La plupart des implémentations modernes de blnd exploitent nativement l'utilisation d'un compte de
service.
la commande tlme qui mesure le temps consommé par une application permet de mesurer la per~
formance d'une résolution ONS. Elle indique le temps total consommé par la commande. et le Compte de service "amad sur une distn'bution Red Hat
temps consommé par les processus dans les espaces d'exécution système et utilisateur.
Le compte est créé automatiquement à l'installation du service.
Observation du temps pris par une résolution DNS
(root@RH9 rootj' grep named /etc/passwd
Les temps mesurés dépendent de la bande passante disponible, de la disponibilité du serveur, et named:x:25:25:Named:/var/named:/sbin/nologin
de fa rapidité de la machine cliente.

toto@serveur:~S time nslookup www.eni-editions.fr


b. lancement de named avec un compte de service
Server: 127.0.0.1 Encore une fois, toutes les implémentations de blnd utilisées dans des distributions modernes de
Address: 127.0.0.1.53 Linux exploitent nativement un compte de service. La démarche indiquée ici est donc nativement in.
cluse dans les scripts de lancement de service.
Non-authoritative answer:
Name: www.eni-editions.fr Syntaxe simplifiée de la commande named pour utilisation d'un compte de service
Address: 81.80.245.20
named -u utilisateur

real OmO.256s Éléments


user OmO.OOOs
sys OmO.OIOs named L'exécutable principal de bind. Dans la plupart des implémentations, lancé depuis le
toto@serveur:~$ script de gestion du service.
utilisateur Appelé par le paramètre -.u-, indique le compte de service propriétaire du processus.
Ce compte doit naturellement être défini dans le fichier letclpasswd.
O. Sécurisation du ONS

1. Limitation des clients 3. Bind en mode chroot


Il est possible de limiter tes requêtes autorisées. La directive allow-query dans le fichier de configu- a. Pourquoi entermer le processus?
ration permet de définir les hôtes ou réseaux auxquels un serveur acceptera de répondre.
Nous avons vu plus haut qu'une utilisation malencontreuse du processus named pouvait entrainer
Limitation des clients autorisés dans le fichier named.conf le risque d'actions dangereuses pour le système. L'enfermement du processus dans un répertoire
dédié permet de limiter les risques. Le but est de faire croire au processus qu'il s'exécute dans un
allow-query 1 réseaux-autorisés; };
système ordinaire, alors qu'il est cantonné dans une arborescence parallèle. et qu'il ne peut en au.
Où réseaux~autorisés représente la ou les adresses de réseaux ou d'hôte qui pourront s'adresser cun cas interagir avec le reste du système. Le terme « enfermement JO n'est pas usurpé, on parle
au serveur. en anglais de le mettre « in jail lO, c'est~à-dire en prison.
On dit alors qu'on utilise blnd en mode chroot. contraction de change root (changement de
2. Utilisation d'un compte de service racine).

a. Pourquoi un compte de service? Il est recommandé d'utifiser le mode chroot avec un compte de service. Un processus qui aurait les
prérogatives de root pourrait s'octroyer le droit de sortir du répertoire où il est enfermé.
Aux origines, li était fréquent de faire tourner un serveur blnd sous l'identité du compte d'adminis-
tration root. C'est.à-dire que le compte root était propriétaire du processus. Les conséquences Créallon de l'environnement nécessaire
pouvaient être fâcheuses: si du code sensible (dangereux) était envoyé au processeur par l'exécu-- ~.~ b.
table named, il l'était au nom de root, c'est-à.dire avec les pleins pouvoirs sur le système. Or, Dans la mesure où le processus est bemé et qu'il croit s'exécuter dans un environnement ordinaire,
cette situation présente des risques. 11peut s'agir de bogues contenus dans le code exécutable de •• Il doit avoir à sa disposition tous les éléments nécessaires à son fonctionnement. li faut bien com.
named, ou bien de vulnérabilités du programme qui permettraient à une personne mal intentionnée ~ prendre que le processus n'aura aucun moyen d'aUer chercher quoique ce soit en dehors de son
d'envoyer du code exécutable via le processus. :( répertoire. La mise en place d'un blnd en mode chroot suppose donc une phase préliminaire de
création de son environnement de travail.
La solution retenue est en général d'exécuter named sous une identité différente de rool, et d'utili-
ser un compte de service: un compte uUlisateur ne permettant pas de connexion directe au sys.
tème, mais qui sera propriétaire du processus. Ainsi, si du code malicieux venait à être exécuté via
le processus named, il n'aurait pas plus de pouvoir que ceux du compte de service, et ne pourrait
donc pas mettre en périt le système.

LINUX. Préparation à la certitlcation LPIC.2 Examens LPI 201 et LPI 202


Page 230 Chapitre 7 Résolution de noms DNS Page 231

1 4. Échange sécurisé enlre serveurs


De nombreuses fonctions d'internet reposent sur le DNS, depuis la simple navigation jusqu'à l'envoi
;?/"". d'e-mails. Les tentatives de phishing, de plus en plus nombreuses, montrent bien les dangers que
peut présenter une incertitude sur la résolution de noms. Si quelqu'un se connecte au site de sa

_/
etc
~/
//.usr
boot bin
~.
"-.
var
banque en ligne en utilisant l'urt exacte mais que le nom est résolu en l'adresse IP d'un faussaire,
les conséquences peuvent évidemment être dramatiques. Dans le cas du DNS, la sécurisation
reposera surtout sur l'authentification et l'intégrité des données. C'est-à-dire qu'on veut être certain
que c'est bien le bon serveur qui nous répond. et que les données ne subissent pas de modification
1 pendant le trajet.
named Nous allons utiliser ici le mécanisme TSIG : Transaction SIGnature (signature des transactions).
Ce mécanisme repose sur la présence d'un secret partagé par les serveurs qui échangent des
données.
~

{
Sous-arborescence contenant
IOU5les éléments de configuration etc var dey a. Génération du secret partagé
nécessaires à l'exécution de named
1 Il existe un outil de génération des clés: dnssec-keygen.
verrons Ici dans re cadre d'une exploitation TSIG.
Il a de nombreux usages, mais nous le
run
Syntaxe dnssee-keygen pour utilisation dans le cadre de TSIG
dnssec-keygen -a HMAC-MD5 -b taillecle -n nametype nomsecret
Étapes de création de l'environnement de t,avail :
dnssec-keygen : variables et paramètres
Création du répertoire de chroot.
-a HMAC-MD5 -a définit la méthode de cryptage. HMAC-MD5 est la seule valeur supportée pour
Création de la fausse arborescence -,. dans le répertoire de chroot. Tous les répertoires utilisés
TSIG.
par le processus named doivent s'y trouver.
Copie des fichiers de configuration dans le répertoire de chroot. -b tail/ec/e -b définit la valeur de la clé employée. Pour HMAC-MD5, laiffeele doit être com-
Lancement du processus en mode chroot. pris entre 1 et 512. 128 est une valeur courante généralement satisfaisante.
-n nametype -n définit le propriétaire de la clé. Dans le cadre d'un fonctionnement TSIG,
c. lancement du programme en mode chroot nametype aura généralement la valeur HOST pour signifier que la sécurisation
Il n'est pas vraiment difficile de lancer blnd en mode chroot. se passe de machine à machine.
nomsecret Le nom du secret. Peut être n'importe Quelle chaine alphanumérique.
Syntaxe de fa commande named pour utilisation en mode chroot
named -c config -u utilisateur -t repertoire La commande aboutit à la génération de deux fichiers Knomsecret.+xxx.yyyyy,key et Knomse-
cret. +xxx. yyyyy .prlvate.
éléments employés dans la syntaxe: Exemple d'utilisation de dnssec-keygen
named L'exécutable principal de bind. Dans la plupart des implémentations, lancé depuis le donald:~' dnssec-keYgen -a HMAC-MDS -b 128 -n HOST supersecret
script d~ !::lestion du service. Ksupersecret.+157+2682Q
conflÇ Facultatif. Indique le fichier de configuration à employer au chargement. En principe
donald:-' cat ~supersecret.+1S7+26824.key
letclnamed.conf ou letclbind/named.conf.
supersecret. IN KEY 512 3 157
utilisateur Le compte de service propriétaire du processus. Ce compte doit naturellement être yI tYGIAOtGCM7VqGjZdJAg-.
défini dans le fichier letcJpasswd.
donald:~1 cat Ksupersecret.+157+26824.private
repertoire Le répertoire dans lequel named sera enfermé. Souvent Ivar/named. private-key-format: vI.2
Algorithm: 157 (HMAC MD5)
Il sera bon de vérifier dans les journaux que le processus parvient bien à démarrer dans son nouvel Key: yltYGlAQtGcM7vqGjZdJAg-.
environnement. En général, quelques essais sont nécessaires.

LINUX - Préparation à la certilication LPIC-2 Examens LPI 201 et LPI 202


Page 232 Chapitre 7 Résolution de noms ONS Page 233

b. Déclaration du secret dans named.conf E. Validation des acquis


Sur les serveurs concernés par la sécurisation, on inclura dans le fichier named.conf la définition Testez vos connaissances en répondant aux questions suivantes. Ces questions n'appellent pas
du secret. toujours des réponses définitives. Les questions posées en certification, bien qu'abordant les
Syntaxe de /a déclaration de secret dans named. conf mêmes sujets. seront pour la plupart posées sous forme de questionnaire à choix multiples, ou bien
demanderont une réponse courte, tapée en toules lettres au clavier.
key nomsecret {
algorithm hmac-md5;
secret "yItYGIAQtGcM7VqGjZdJAg--";
QuesUons
1; 1 Pourquoi exisle+it plusieurs types d'enregistrements ONS?
2 Quel tien existe entre la messagerie et la résolution ONS?
t:léments employés dans cette syntaxe:
3 En quoi un serveur de cache améliore-t-i11e fonctionnement global d'un réseau?
key Annonce la déclaration de la clé. 4 Comment installer le composant resolver ONS sur un système Linux standard?
nomsecret Le nom du secret utilisé à la génération. 5 Peut-on se passer de la directive include dans le fichier named.conf?
algorithm A pour paramètre le type d'algorithme utilisé. 6 Comment un serveur ONS local au sein d'une entreprise peut-il tirer parti du cache d'un serveur
plus sollicité comme celui de son fournisseur d'accès par exemple?
hmae-md5 Obligatoire pour TSIG.
1 Comment peut-on prendre en compte des éléments nouveaux sur un serveur ONS, comme des
secret A pour paramètre te secret généré dans le fichier Knomsecrel.+xxx.yyyyy.key <la enregistrements nouvellement créés sans recourir au rechargement complet du service?
chaine de caractères entIe guillemets). 8 De toutes les commandes de test de résolution ONS, laquelle donnera les résultats les plus précis
et les plus circonstanciés?
c. Les deux serveurs doivent utiliser la clé 9 Comment se mettre à l'abri d'une vulnérabilité du code exécutable ONS quand on craint une intru-
La clé partagée étant déclarée sur les deux serveurs, il faut maintenant leur faire savoir qu'ils doi- sion ou malveillance par exploitation de cette vulnérabilité?
vent l'utiliser pour garantir la sécurité de certaines communications. Il faudra donc ajouter une nou. 10 Dans le cadre d'une délégation, pourquoi est-il indispensable d'avoir une communication possible
velle commande dans named.conf. entre le serveur délégant et le serveur délégué?
Syntaxe d'utilisation de la clé dans named.conf
server ip dest 1
Réponses
keys {-nomsecret; }; 1 Pourquoi existe-t.11 plusieurs types d'enregistrements ONS?
1; Pour stocker des informations de natures différentes. Ainsi, il est possible pour un client de deman.
der à son selVeur ONS une information précise. Par exemple: Quel est le serveur maTtre pour telle
Éléments employés dans cette syntaxe: zone ? Quels sont les Serveurs DNS disponibles pour telle zone?
server 2 Quel lien exista entre la messagerie et la résolution ONS?
Annonce un comportement pour un serveur déterminé.
Les enregistrements MX référencent pour un domaine DNS le ou les selVeurs de messagerie. Un
ip_dest L'adresse IP du serveur pour lequel directive s'applique. selVeur de messagerie fonctionnel peut ne recevoir aucun message de l'extérieur si son enregistre-
ment MX n'est pas correctement référencé.
keys Annonce le secret utilisé pour sécuriser les échanges.
3 En quoi un serveur de cache améliora-t-il I~ fonctionnement global d'un réseau?
nomsecret Le nom du secret utilisé à la génération. En conservant en mémoire les résolutions déjà effectuées, le serveur répond beaucoup plus vite
'i aux requêtes suivantes. Dans la mesure où sur un réseau ordinaire, la plupart des requêtes portent
d. Tout service est relusé en l'absence de signature !.l!l sur les mêmes enregistrements courants (goog'e, sncf, ebay, etc.), tous les clients qui obtiennent
une réponse mise en cache ont une réponse immédiate sans que le serveur ait besoin de relancer
Le paragraphe précédent a donné aux serveurs la capacité de communiquer de façon sécurisée. Il
faut ensuite rendre obligatoire cette sécurisation pour les requêtes entre serveurs dans le cadre ~ une résolution publique.
d'une délégation par exemple. .g. 4 Comment installer le composant resolver ONS sur un système Linux standard?
~ Le resolver fait partie de la pile IP sur toutes les distributions Linux, et il n'est donc pas besoin de
Syntaxe
- l'installer.
zone « trUC.fr » { ~
type master; .~
file « db.truc.fr »:
allow-recursion { key supersecret; }; ~
1;
"
LINUX. Préparation à la certilication LPIC.2 Examens LPI 201 et LPI 202
Page 234 Chapitre 7 Résolulion de noms ONS Page 235

?
5 Peul-on se passer de la directive include dans le fichier named.conl
Bien sûr. Cette directive permet d'appeler des fichiers contenant des éléments de configuration
F. Travaux pratiques
annexe et de les intégrer dans la configuration du seN8ur. Toutefois, si on choisit de placer tous les
éféments de configuration dans un seul fichier named.conf, cela ne pose aucun problème, si ce
n'est celui d'avoir a gérer un fichier un peu fang.
1. Installation d'un serveur ONS
Pour accélérer la navigation internet au sein du réseau, vous décidez de mettre en place un serveur
B Commenl un serveur DNS local au sein d'une entreprise peut-il lirer parti du cache d'un serveur plus sollicité
comme celui de son foumlsseur d'accès par exemple? ONS interne à votre entreprise. Ainsi, tous les clients Qui font les résolutions ONS les plus couran-
tes profileront du cache du serveUr local.
En le déclarant dans une redirection (directive forwarriers). Le seN8Uf résoudra alors fui~méme tous
les enregistrements appartenant à des zones locales. et s'en remettra au serveur de son fournis.
seur d'accés pour toute autre résolution. a. Inslallallon des services applicalifs
J Comment peut-on prendre en comple des élémenls nouveaux sur un serveur ONS, comme des enregistre. Sur le serveur alpha, installez le serveur bind avec la commande suivante:
ments nouvellement créés sans recourir au rechargement complet du service ?
apt-get insta11 bind9
GrAce à la commande de pilotage rndc, qui permet justement de prendre en compte des évolutions
de la configuration ou des données hébergées en agissant sur une seule zone et en évitant donc le Le service doit déjà être installé sur le serveur beta.
rechargement complet du service qui sofliciterait bien davantage de ressources.
• De Ioules les commandes de lest de résolution ONS, laquelle donnera les résultats les plus précis et les plus b. Vérificallon
circonstanciés? •
C'est la commande dig, considérée comme le fleuron des outils de diagnostics ONS. Si certaines
distributions ont présenté dig comme l'outil universel destiné à remplacer avantageusement tous les
Commandes utiles
autres, fa plupart des utilisataurs préfèrent toujours aujourd'hui la commande nsJookup. pgrep
• Comment se mettre A l'abri d'une vulnérabililé du code el(éculable ONS quand on craint une intrusion ou mal.
ps
veillance par el(ploitation de cette vulnérabilité?
Deux techniques sont exploitables et elfes sont souvent utilisées conjointement. D'abord en mde
enfermant le processus named dans un environnement d'exécution étanche. On dit qu'on met le
processus en prison (in jaU) par un changement de racine (chroot). La prison en question est une Manipulations
arborescence contenant une copie de tous les éléments dont aura besoin le processus pour son
fonctionnement comme les bibliothèques ou fichiers de configuration. Par aifleurs, on exécute le 1. Vérifiez que le service est en COurSd'exécution en observant les processus actifs.
processus BU nom d'un compte de service aux pouvoirs limités, si bien que l'exploitation d'une 2. Vérifiez que le service est en cours d'exécution en interrogeant le script de lancement.
éventuelle vulnérabifité ne donnerait pas à l'attaquant plus de droits que ceux du compte en
question. 3. Vérifiez que le service est en cours d'exécution en utilisant la commande de pilotage mdc.
11 Dans le cadre d'une délégation, pourquoi est-il Indispensable d'avoir une communication possible entre le
serveur délégant et Je serveur délégué? Résumé des commandes el résullal à l'écran
Le principe d'une délégation est en quelque sorte de sous.traiter la gestion d'une zone enfant à un
autre serveur. Toutes les requêtes faites au serveur parent pour fa zone enfant seront dynamique. Observation du processus:
ment dirigées vers le serveur de la zone enfant. S'il ny a pas de communication, cette redirection
n'est tout simplement pas possible. 101PhO'-' pgrep -1
4491 named
named
a1pha:-'

Interrogation du script:

alpha:-' letc/init.d/bind9 statua


bind9 is running.
alpha:-'

alpha:-I rndc statua


version: 9.6-ESV-Rl
CPUs found: 1
worker threads: 1
number of zones: 14

LINUX. Préparalion à la cerlilicalion LPIC-2 Examens LPI 201 el LPI 202


Page 236 Chapilre 7 Résolulion de noms DNS Page 237

debug level: 0 Résumé des commandes el résullal à l'écran


xfers running: 0
xfers deferred: 0 Ping sur une adresse publique:
SOd queries in progress: 0
query 1099109 15 OFf alpha:-I ping www.gnu.org
recursive clients: 0/0/1000 PING gnu.org (199.232.41.10) 56(84) bytes of data.
tep clients: 0/100 64 bytes from www.gnu.org (199.232.41.10): icmp seq-l ttl-52 time-136 ms
server 15 up and running 64 bytes from www.gnu.org (199.232.41.10): icmp-seq-2 ttl-52 tirne-140 ms
alpha:~1 alpha:~' -

N'oubliez pas que lors du lest d'une résolution avec la commande ping, c'est la première ligne qui
c. Configuration des clienls nous intéresse, celle qui traduit le nom en adresse IP. et non l'éventuelle réponse au ping, qui peut
par ailleurs être filtrée.
Commandesel fichiers utiles
letcJresolv.conf b. Essais de mise en cache (facullatll)
vi
Commandes utiles
Manipulalions ~ ping

t Modifiez la configuration du serveur alpha afin qu'il s'interroge lui-même pour toute requête Manipulalions
DNS.
t Modifiez la configuration de la station de travail Ubuntu afin qu'elle utilise le serveur alpha pour t Juste après une résolution réussie, faites en sorte que votre serveur ne puisse plus quitter le ré-
toute requête ONS. seau, en débranchant le routeur de votre switch par exemple.
2. Refaites le même ping alors que le serveur n'accède plus à l'extérieur.
Fichiers modifiés
3. Faites un ping sur un autre nom quelconque.
fichier letcJresolv.conf sur le serveur alpha

Inameserver 192.168.200.101 Résumé des commandes el résullal à l'écran


Fichier letclresolv.conf sur la station de travail Ping sur une valeur conservée en cache:

Inameserver 192.168.200.101 alpha:-' ping www.gnU.org


PING gnu.arg (199.232.41.10) 56(84) bytes af data.
alpha:.'
2. ConDguraUon du serveur de cache Ping sur une valeur nouvelle:
Si l'installation s'est bien passée, que votre serveur connaît une route vers l'extérieur, et que le port
alpha:-' ping www.kernel.org
UDP 53 n'est pas filtré. votre serveur doit pouvoir faire n'importe quelle résolution dans l'espace de
ping unknawn hast www.kernel.org
nom public.
alpha:-'

a. Vérification de la résolution des noms dans l'espace de noms public

Commandes utiles
1
'"
c. Redlreclion
Vous disposez maintenant d'un serveur capable de faire des résolutions de noms. Afin que votre
~ serveur puisse à son tour bénéficier du cache du serveur de votre fournisseur d'accès, dédarez une
- ping < redirection.

Manipulations ~ Commandesel fichiers uliles


t Faites un ping sur une adresse publique connue.
i"' named.conf (named.conf.options)
vi
"
LINUX. Préparation à la certificalion LPIC.2 Examens LPI 201 el LPI 202
Page ~•• Chapitre 7 Résolufion de noms ONS Page 239

Manipulations Commandeset fichiers utiles


t Ëdilez le fichier letclbind/named,conf.options. fichiers de zone
2. Décommentez la ligne forwarders en supprimant le double slash ainsi que les deux lignes direc~ vi
tement en dessous.
3. Remplacez 0.0.0.0 par j'adresse IP du serveur DNS de votre fournisseur d'accès. Manipulations
4. Rechargez le service par la commande de votre choix. t Dans letclbind, créez deux fichiers db.pas.net et db.192.168.200.
2. Dans tes deux fichiers, créez l'enregistrement SOA avec alpha comme serveur autoritaire.
Résumé des commandes et résultat à l'écran Appuyez vous sur letclbind/db.empty pour connaître les valeurs de cache par défaut. N'oubliez
pas que les noms de zones sonl des FQON, et qu'ils doivenl donc être terminés par un point.
Fichier letcJbind/named.conf/options : L'adresse mail ducontactadministratifestroot@pas.net.

options 1 3. Créez tes enregistrements NS pour chacun des fichiers. Pour les deux zones, le serveur alpha
directory "Ivar Icache/bind"; est le serveur de nom.
4. Créez dans la zone directe un enregistrement de type A pour associer une adresse IP au ser.
/1 If there 15 a firewall between you and nameservers you want veur alpha.
Il to talk ta, you may need to flx the firewall to allow multiple
Il ports to talk. See http://www.kb.cert.org/vuls/id/800113
Résumé des commandes et résultat à l'écran
Il If your ISP provided one or more IP addresses for stable
Il nameservers, you probably want to use them as forwarders. Fichier fetclbind/pas.nel :
Il Uncomment the following block, and insert the addresses replacing
Il the all-O's placeholder.
$rrL 86400
pas.net. IN SOA alpha.pas.net. reet.pas.net. (
forwarders ( l
194.2.0.50; 604800
86400
);
2419200
86400 )
auth-nxdomaln no; , conform to RFCI035
listen-on-v6 1 any; 1; pas.net. IN NS
);
alpha.pas.net.
alpha.pas.net. IN A 192.168.200.101
Rechargement du service :
Fichier letclbind/db.192.168.200 :
alpha:/etc/bindf letc/init.d/bind9 restart $T1L 86400
Stopping domain name service : bind9. 200.168.192.in-addr.arpa. IN SOA alpha.pas.net. root.pas.net. (
Starting demain name service : bind9. l
a1pha:/etc/bind' 604800
86400
2419200
3. Création de zones personnalisées directes et Inverses 86400 l
Encouragé par ces succès, vous décidez d'utiliser votre serveur ONS pour héberger une zone
200.168.192.in-addr.arpa. lN NS alpha.pas.net.
locale. Cette zone vous permettra de créer des enregistrements qui référenceront vos ressources
locales comme les imprimantes par exemple. Pour faire les choses dans les règles de l'art, vous
décidez de créer une zone directe pas.nel et une zone inverse correspondant au réseau ~ b. Déclaration des fichiers de zone
192.168.200.0. ~ Le but est maintenant de faire savoir à voire serveur qu'il doit charger les deux fichiers de zone que
- vous venez de créer à chaque démarrage du service.
a. Création des fichiers de zones sur le serveur A ~
Vous allez créer le fichier pour la zone directe pas.net et pour la zone inverse ~ Commandeset fichiers utiles
200.168.192.ln.addr.arpa. Ces fichiers devront déclarer A comme serveur maître pour ces zones. ~
ou
l'adresse mail ducontactadministratifseraroot@pas.nel. • named.conf (named.conf.local)
"
LINUX. Préparation à la certification lPIC-2 ExamenslPI 201 et lPI 202
Page 240 Chapilre 7 Résolullon de noms ONS Page 241

- vi Manipulalions
Manipulalions t Dans votre fichier de zone directe, créez un enregistrement beta.pas.net de type A correspon-
dant à l'adresse IP du serveur beta.
t Dans letclbind/named.conf.local, créez une section zone référençant votre zone directe en tant
2. Dans votre fichier de zone directe, créez un enregistrement serveur-a de type CNAME corres-
que zone maîtresse.
pondant au FQDN alpha.pas.net.
2. Dans letclbind/named.conf.local, créez une section zone référençant votre zone inverse en tant
3. Dans votre fichier de zone directe, créez un enregistrement alfa de type CNAME correspondant
que zone maîtresse.
au nom court alpha .
3. Rechargez le service.
.•• Dans votre fichier de zone inverse, créez un enregistrement 101 de type PTR correspondant au
nom du serveur alpha.
5. Dans votre fichier de zone inverse, créez un enregistrement 102 de type PTR correspondant au
nom du serveur beta.
6. Rechargez les informations de zone.
Il
Il Do any local configuration here
Il Résumé des commandes el résullat à l'écran
Il Consider adding the 1918 zones here, if they are not used in your Enregistrements de ressources dans le fichier de zone pas.net
Il organlzation
Il include "/etc/bind/zones. ricl91S"; IN A 192.168.200.102
IN CNAME a1pha.pas.net.
zone "pas.net" ( IN CNAME alpha
type Illaster;
file "/etc/bind/db.paa.net"; Enregistrements de ressources dans le fichier de zone 200.16B.192.in-addr.arpa
);
101 IN PTR alpha.pas.net.
zone "200.168.192.in-add.r.arpa" 1 102 IN PTR beta.pas.net.
type master;
file "/.tc/bind/db.192 .168.200" ; Rechargement des informations de zone:
);
1 alpha:/etc/bind' rndc reload
server re10ad successful
Rechargement du service :
alpha: /etc/bindt
alpha:/etc/bind' tetcfinit.d/bind9 restart
Stopping dama in name service : bind9.
4. InterrogoUon du serveur
Starting demain name service
alpha:/etc/bindt
: bind9.
r Ayant à cœur de vérifier que tout se passe bien, vous conduisez quelques tests depuis la station de
travail Ubuntu.
œ Il est impératif que votre seNice redémarre sans encombre. Un tall de Ivarnog/syslog vous dira
si les zones sont bien chargées et si fe seNice a correctement démarré.
~ a. Utilisallon de nslookup
c. Création d'enregistrements
Vous décidez maintenant de créer quelques enregistrements de différentes natures pour tester le
i Commande ullle
~
fonctionnement de votre serveur. .g> - nslookup
~
Commandesetllchiers utiles Manlpulallons
Fichiers de zone
~
..,t
-----
Précisez que le serveur à interroger est alpha.

f
vi j 2. Demandez l'adresse correspondant au nom alpha.pas.net.
Q 3. Demandez l'adresse correspondant au nom serveur-a.pas.net

1 LINUX. Préparallon à la certificalion lPIC.2 Examens lPI 201 eilPI 202


Page 242 Chapilre 7 Résolution de noms ONS Page 243

•• Demandez le nom correspondant à l'adresse 192.168.200.102. ;beta.pas.net. IN A

;; ANSWER SECTION:
Résumé des commandes el résullal à l'écran beta.pas.net. 86400 IN A 192.168.200.102

Résolution depuis la station avec nslookup ;; AUTllORITY SECTION:


pas.net. 86400 IN NS alpha.pas.net.
toto@ubuntu:-$ nalookup
> a8rver 192.168.200,101 ;; ADDITIONAL SECTION:
Default server: 192.168.200.101 alpha.pas.net. 86400 IN A 192.168.200.101
Address: 192.168.200.101453
> alpha.pas.net •• Query 10 msec
time:
Server: 192.168.200.101 •• SERVER: 192.168.200.101'53(192.168.200.101)
Address: 192.168.200.101'53 ., WHEN: Fri Jul 16 16:06:25 2010
" MSG SIZE rcvd: 82
Name: alpha.pas.net
Address: 192.168.200.101 toto@ubuntu: ~S
> serveur-a.p ••. net
Server: 192.168.200.101
Address: 192.168.200.101'53 5. CréaUon d'un serveur secondaire
serveur-a.pas.net canonical name - alpha.pas.net. Inquiet pour la disponibilité du service, vous décidez de répliquer vos zones sur un deuxième ser.
Name: alpha.pas.net veur. Vous décldez donc d'exploiter le serveur beta en tant que serveur secondaire pour vos deux
Address: 192.168.200.101 zones.
> 192.168.200.102
Server: 192.168.200.101 Les distributions Red Hat proposent un service bind chrooté d'origine. Rien de problématique. l'envi.
Address: 192.168.200.101'53 ronnement de travail se situera intégralement dans le répertoire /yar/named/chroot. et le fonction.
nement chrooté est déjà configuré dans le script de lancement du service.
102.200.168.192.in-addr.arpa name - beta.pas.net.
>
a. Configurallon du serveur secondaire
b. Utllisallon de dlg Lors de la synchronisation, les fichiers de zones seront créés localement sur le serveur beta. Il faut
s'assurer que le compte de service (named) ait bien le droit d'écriture sur son répertoire de
stockage.
Commandeutile
- dig Commandes ellichiers uliles
named.conf
Manipulalions chmod
1. Demandez au serveur alpha l'adresse de beta.pas.net.
Manlpulalions
Résumédes commandes et résullal à l'écran t Créez un fichier named.conf dans le répertoire Ivar/named/chrootletc.
toto@ubuntu:~S diq @192.168.200.101 beta.pas.net l• 2. Déclarez les deux zones esclaves pas. net et 200.168.192.1n-addr.arpa ayant pour maître le
serveur alpha. Assurez un stockage local des fichiers de zone dans le répertoire chroolé
; «» DiG 9.6.1-PI «» @192.168.200.101 beta.pas.net ~
.go Ivar/named.
; (1 server found) 3. Faites en sorte que le groupe du compte de service named puisse écrire dans le répertoire de
•• global options: +cmd ~
,. Got answer: stockage des fichiers de zones (/var/named/chrooUvar/named).
~
•• -»HEADER«- opcode: QUERY, status: NOERROR, id: 34012
" f1ag5: qr aa rd ra; QUERY: l, ANSWER: l, AUTHORITY: 1, ADDITIONAL: 1 • •• Démarrez le service et constatez l'absence d'erreur .

., QUESTION SECTION: J
"
LINUX. Préparation à la certlficalion LPIC.2 ExamensLPI 201 el LPI 202
Page 244 Chapllre 7 Résolulion de noms ONS Page 245

Résumé des cemmandes el résultai à l'écran b, Conllgurallon du serveur primaire


Fichier Ivar/named/chrootletclnamed.conf : Il ne vous reste plus qu'à indiquer au serveur maUre qu'il doit désormais composer avec un parte-
naire.
zone "pas. net" (
type slave;
mastecs 1 192.168.200.101 ): Commandes el fichiers uliles
file "/var/named/pas.net";
Fichiers de zone
1;
zone "200.168.192.in-addr.arpa ft
{
dig
type slave; tail
masters ( 192.168.200.101 ; );
vi
file "Ivar Inamed/200. 168.192. in-addr. arpa";
1;
Manlpulallons
Affectation des droits au compte de service named :
1. Déclarez pour vos deux zones le serveur beta comme nouveau serveur de type NS.
[root@beta var]' la -Id Ivar/naroed/chroot/var/named/
drwxr-x--- 4 root named 4096 jui 16 17:01 Ivar/named/chroot/var/namedl 2. Ajoutez un enregistrement de type A référençant le client Ubunlu.
[root@beta var]' ch=od q+w /var/named/chroot/var/namadl 3. Incrémentez le numéro de série des zones.
[root@beta varl' 1. -Id /var/named/chroot/var/namedl
drwxrwx--- 4 root named 4096 jui 16 17:01 /var/named/chroot/var/namedl 4. Rechargez les zones.
(root@beta var)' 5. Vérifiez en consultant le journal système du serveur alpha que le redémarrage du service s'est
bien passé.
Démarrage du service:
&. Vérifiez sur le serveur beta que les modifications ont bien été prises en compte.
(root@beta var]' .ervice named atart
Démarrage de named
( OK J Résumé des commandes el résultai à l'écran
Iroot@beta var)'
Fichier de zone directe modifié:
Vérification:
$11L 86400
(root@beta var)' tail Ivar/loq/œe ••aq•• pas.net. IN SOA a1pha.pas.net. root.pas.net.
Jul 16 17:02:48 beta named[641]: running 2 SeriaI
Jul 1617:02:48 beta named[641]: zone pas.net/IN: Transfer started. 604800 Refresh
Jul 16 17:02:48 beta named[641]: transfer of 'pas.net/IN' from 192.168.200.101'53: 86400 Retry
connected using 192.168.200.51'58348 2419200 Expire
Ju1 16 17:02:48 beta named[641]: zone pas.net/IN: transferred seriaI 1 86400 Negative Cache TTL
Ju1 16 17:02:48 beta named[641): transfer of 'pas.net/IN' from 192.168.200.101'53:
end of transfer pas.net. IN NS alpha.pas.net.
Ju1 16 17:02:49 beta named[641J: zone 200.168.192.in-addr.arpa/IN: Transfer started. pas.net. IN NS bat •. p••. net.
Ju1 16 17:02:49 beta named[641]: transfer of '200.168.192.in-addr.arpa/IN' from a1pha.pas.net. IN A 192.168.200.101
192.168.200.101'53: connected using 192.168.200.51148705 beta. pas. net. IN A 192.168.200.102
Ju1 16 17:02:49 œta named{641]: zone 200.168.192.in-addr.arpaIIN: transferred sedal serveur-a IN CNAME alpha.pas.net.
Jul 16 17:02:49 beta named[641): transfer of '200.168.192.in-addr.arpa/IN' from alfa lN CNAME alpha
192.168.200.101'53: end of transfer client IN A 192.168.200.199
Iroot@beta varJ.
(root@beta varJ. 1. Ivar/nam.d/chroot/var/namedl
200.168.192.in-addr.arpa data pas.net slaves
[root@beta varJ.

LINUX- Préparallon à la certification LPIC-2 Elamens LPI 201 el LPI 202

Vous aimerez peut-être aussi