11 Fév

Domaines

Un nom de domaine est un nom de marque, d’entreprise, de famille, relié à un numéro internet , l’adresse IP, par le biais d’un annuaire international appelé DNS. Il permet d’accéder à un site, à un adresse mail en tapant simplement le nom sans avoir à connaitre le numéro qui sera composé. Imaginez un système téléphonique ou vous n’auriez qu’à connaitre le nom de votre interlocuteur et ne pas avoir à composer son numéro de téléphone, ou vous n’auriez aucune recherche à faire si le numéro à changer ! DNS c’est ce système pour les adresses des machines sur Internet !

Les domaines sont aussi utilisés pour gérer un ensemble de ressources d’un réseau, d’abord par le système DNS qui recense toutes les adresses IP d’un réseau mais aussi aujourd’hui par le biais de l’Active Directory qui permet de gérer toutes les ressources d’un réseau : utilisateurs, ordinateurs, imprimantes, partage de fichiers.

Les personnes physiques étaient et sont encore pour une partie rattachées à leur FAI : mon-nom@mon-fournisseur.fr. Le @ veut dire chez, dans le domaine, par exemple free.fr. Aujourd’hui nous sommes une majorité à appartenir au domaine du géant mondial  @gmail.com. Les noms de domaines sont la représentation des personnes morales et physiques sur Internet car nous sommes joignables par le courrier électronique ou les sites web grâce au lien entre le fichier de zone du domaine et les liens hiérarchique entre les domaines.

On peut m’écrire car dans un fichier de zone (ex : free.fr) un enregistrement (MX) contient l’adresse IP du serveur de free qui gère mon courrier. Et l’on trouvera le domaine free. fr car on peut demander tout en haut de la hiérarchie DNS (la racine) qui interrogera FR qui lui même interrogera Free.

Il faut faire le lien entre les fichiers des zones qui contiennent toutes les informations sur les adresses IP et nom des hôtes d’une organisation et le système général d’interrogation DNS .

on voit souvent écrit que DNS existe car les utilisateurs préfèrent un nom convivial qu’une adresse IP mais la raison principale est surtout qu’une adresse IP peut changer.

Noms de domaine

Pour être référençable sur Internet il faut acheter un nom de domaine, les prix sont variables en fonction du fournisseur de nom, OVH, Gandhi ou l’Afnic. L’Afnic est l’organisme chargée des noms de domaine en .fr (ainsi que ceux des Dom Tom).

Tous les noms de domaine ne sont pas autorisés, ainsi vous ne pouvez avoir un nom de domaine en chambreagaz, ni celui d’une commune. Il existe une liste exhaustive des noms interdits :http://www.afnic.fr/fr/ressources/documents-de-reference/chartes/termes-soumis-a-examen-prealable/.

Cependant pour une gestion interne des ressources d’un réseau, comme par exemple pour l’installation d’un Active Directory, il est possible d’utiliser des noms de domaine « bidons » ou en .local. A l’installation le DNS se plaindra simplement de ne pouvoir joindre son « parent ».

Achats de noms de domaine

C’est un organisme américain, l’ICANN, qui gère les noms de domaine de premier niveau (TLD) comme .com, .net, .fr…
Il délègue la gestion technique de ces TLD à différents opérateurs appelés registry : c’est l’AFNIC qui gère les domaines .fr et .re par exemple.
Enfin chaque registry délègue à plusieurs registrar la vente des noms de domaine. Ceux-ci sont très nombreux. En France, citons Gandi, OVH, 1&1, Nerim

acaht nom dom

Nombre en domaine en 2011

historique_afnic

 

 

 

 Hiérarchie des zones

Google.com est sans doute le plus connu des domaines (ou le plus utilisé), stitou.net le moins, ils ont en commun ce ‘point’ et ces extensions com, fr, gov, edu, it,. La est toute la dimension des domaines.

De la racine -root- part toute l’arborescence du système.

Ensuite viennent les extensions. DNS ayant été crée aux Etats-Unis, les .gov et.mil sont plus spécifiquement américains. Le .com pour commercial regroupe enormement de sociétés. (J’aimerai voir le fichier de délégation de zone de com !), ensuite chaque pays a son extension .fr, lu, be sous lequel il organise sa sous hiérarchie : impots.gouv.fr par exemple.

dns zones

 

Il faut bien faire la différence entre les domaines et les zones.

Les domaines sont les noms de famille, alors que les zones sont les familles et les fichiers de zone les livrets de famille.

domaine et zone

 

 

 

Fonctionnement du DNS

Un serveur DNS assure la résolution de noms. En d’autres termes, il permet aux utilisateurs d’ordinateurs clients d’adopter des noms à la place des adresses IP numériques pour identifier les hôtes distants. Un ordinateur client envoie le nom d’un hôte distant à un serveur DNS, lequel répond avec l’adresse IP correspondante. L’ordinateur client peut alors envoyer des messages directement à l’adresse IP de l’hôte distant. Si le serveur DNS ne dispose pas d’une entrée dans sa base de données pour l’hôte distant, il peut répondre au client avec l’adresse d’un serveur DNS qui a plus de chances de posséder des informations sur cet hôte distant, ou il peut interroger l’autre serveur DNS. Ce processus peut intervenir de manière récursive jusqu’à ce que l’ordinateur client reçoive l’adresse IP, ou jusqu’à ce qu’il soit établi que le nom interrogé n’appartient pas à un hôte dans l’espace de noms DNS spécifique.

 Requêtes et modes

Le DNS fonctionne suivant le modèle client/serveur : le  client lance des requêtes DNS à travers une application spécialisée appelée resolver . Ces requêtes sont généralement adressées à un serveur de noms par défaut (par exemple le serveur de noms d’entreprise) ; sous Unix , ce serveur est spécifié dans le fichier /etc/resolv.conf.

Il existe 2 modes d’interrogation, dans le mode récursif, le serveur prend tout le processus de résolution à sa charge pour apporter une réponse définitive. Dans le mode itératif, le serveur ne fait qu’orienter le client vers d’autres serveurs adaptés.

DNS-recursifDNS-iteratif

 

 

 

 

 

 

Analyse d’un FQDN

Prenons un exemple un peu compliqué, comme www.education.gouv.fr ; en toute rigueur, il serait plus correct d’écrire www.education.gouv.fr. (avec un point final, subtile différence).

FQDN

  • la partie la plus à gauche représente toujours un hôte ;
  • la partie la plus à droite représente toujours un domaine générique (TLD) ;
  • entre les deux, les éventuels sous-domaines et le domaine déposé de l’entité concernée.

Ainsi, un serveur (un hôte), ici www appartiendrait à un sous-domaine (education) du domaine gouv, lui-même étant un élément du domaine générique fr (la réalité n’est hélas pas si simple, comme l’avenir va le montrer). Notons qu’il serait plus judicieux de parler d’un nœud ; en effet, un hôte peut disposer de plusieurs interfaces réseau et donc disposer de plusieurs adresses IP.

Nous avons donc une structure arborescente dont l’origine est le fameux point final, que l’on omet généralement, mais qui existe bel et bien et qui représente la racine de l’arbre. Nous pouvons d’ailleurs utiliser la commandehost comme ceci :

$ host www.education.gouv.fr.
www.education.gouv.fr is an alias for front.webedu.men.aw.atosorigin.com.
front.webedu.men.aw.atosorigin.com has address 160.92.130.142

Les fichiers de zone

DNS étant un protocole que l’on soit sous Windows ou Linux les informations sont les mêmes; seule la présentation change : en fenêtre pour Windows bien sur 😉

Le fichier de zone

fichiers zone

 

 

 

 

 

 

 

 

 

Les enregistrements des  hôtes sous Linux ou chez Microsoft

dns fichier

Tout se trouve (sur Debian) dans le répertoire /etc/bind.

Nous n’en avons pas parlé jusqu’ici, mais il faut tout de même en dire quelques mots, de la résolution inverse, celle qui consiste à retrouver un nom d’hôte à partir de son adresse IP. Ce service est peu utilisé par le particulier (entendez par là l’internaute en général). Il l’est cependant parfois par des services sur l’internet, comme par exemple SMTP, pour tenter de lutter contre le spam. Pour cette raison, nous n’en dirons pas plus sur la question.

Named.conf est de toute évidence, constitue le fichier de configuration principal :


Ce fichier fait lui-même appel à deux autres fichiers de configuration,named.conf.options et named.conf.local. Nous aurons à modifier au moins l’un d’entre eux. En revanche, named.conf ne devrait (sur Debian) jamais être modifié, sauf par les mises à jour futures de la distribution.

A part ceci, nous observons des déclarations de zones, presques toutes destinées à la résolution inverse, à l’exception de celle qui sont surlignées en vert.

La zone « localhost »

Elle permet de résoudre localhost

Le fichier db.local a une structure que nous aurons besoin de détailler plus tard. Nous y apprenons quelocalhost dispose des adresses 127.0.0.1 en IPv4 et ::1 en IPv6, ce que nous savions probablement déjà.

La zone « . »

Il contient en effet toutes les informations sur les root-servers, sans quoi, notre bind n’aurait rien pu faire.

Le contenu de ce fichier évolue peu dans le temps et les mises à jour de la distribution suffisent normalement à le maintenir dans un état satisfaisant. Notez que certains des root-servers disposent d’une adresse IPv6.

Les types d’enregistrements:

SOA : pour Start Of Autority

Le serveur qui a le fichier qui fait autorité sur la zone.

NS : les Serveurs de nom. Le 1er est aussi le SOA, les autres NS sont des serveurs secondaires.

A (ou AAAA en IP V6) : les hôtes !

MX : adresse du serveur SMTP. Le lien entre le serveur de messagerie qui comprend les utilisateurs et le domaine permettant d’écrire stitou@free.fr par exemple.

CNAME : alias d’un nom de serveur Web

  • L’alias est le nom que vous voulez voir saisir dans le navigateur
  • L’hôte de destination est la machine sur laquelle est installé le site web

cname dns

Les Glue records

Lorsqu’il y a un sous-domaine, ou domaine-enfant, ou domaine délégué; il faut pouvoir contacter les serveurs qui gèrent ces zones.

 

 Comment faire

Un dns simple (idem que sur 2003/2008/2012) avec les 3 enregistrements d base SOA, NS et A, ainsi que la zone inversée.

Sous Windows TP avec des primaires et des secondaires DNS

pour son site web : openclassroom l’explique très bien

Sous Linux TP

 

 Un peu d’histoire

Jusqu’en 1984, sur la suite des protocoles TcpIp, la transcription de noms d’hôtes en adresses Internet s’appuyait sur une table de correspondance maintenue par le Network Information Center (NIC), et ce dans un fichier .txt, lequel était transmis par Ftp à tous les hôtes. Il n’était à l’époque pas compliqué de stocker les adresses puisque le nombre de machines était très réduit. Avec la croissance exponentielle d’Internet il a fallu trouver une autre solution,

La mise à jour des fichiers : En effet il fallait retransmettre le fichier de mise à jour à tous les hôtes, ce qui encombrait fortement la bande passante du NIC.

L’autonomie des organismes : Avec l’évolution de l’Internet, les architectures ont été transformées, ainsi des organismes locaux ont eu la possibilité de créer leur propres noms et adresses, et ils étaient alors obligés d’attendre que le NIC prenne en compte leurs nouvelles adresses avant que les sites ne puissent être visibles par tous sur Internet. Le souhait était alors que chacun puisse gérer ses adresses avec une certaine autonomie.

En 1983-1984, Paul Mockapetris et John Postel proposent et développent une solution qui utilise des structures de base de données distribuée : les Domain Name System, Rfcs 882 et 883 devenue obsolète par la Rfc 1034. Et créée alors un espace de noms hiérarchisé, dont le principe hiérarchique s’appuie sur la structure des organismes eux-mêmes, et où les noms utilisent le caractère « . » pour marquer la frontière entre deux niveaux hiérarchiques.

Source :http://www.frameip.com/dns/

 Sécurité

Le système DNS étant la pierre angulaire d’Internet

Problème de la centralisation : affaire wikileaks,

Attaque des serveurs : interdiction des serveurs récursifs ouverts

Site du Certa (celui de sécurité pas celui de cours)

La vidéo de Stéphane Bortzmeyer, grand spécialiste du système DNS

A lire aussi les fast-flux

Un site bien fait à consulter  :http://irp.nain-t.net/doku.php/160dns:start (attention on ne met pas serveur récursif en ligne)

2 réflexions au sujet de « Domaines »

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.