Les serveurs racines DNS se protègent des attaques DDoS

Date : 03 Avril 2007

Le 6 février dernier, les serveurs vitaux des communications Internet ont subi une attaque massive par "Déni de Service Distribué" (DDoS). Cette attaque provenait d'une multitude de points, via vraisemblablement l'utilisation de "PC Zombies", et semble avoir comme origine principale la zone Asiatique/Pacifique. [1]
 
Cette attaque visait à saturer les serveurs racines du système de nommage DNS ("Domain Names System"). Elle a cependant eu un impact peu significatif sur le trafic Internet global par rapport à celle qui s'était déroulée en octobre 2002. [2]

Quelles ont été les évolutions majeures mises en œuvre depuis 2002 pour pouvoir contrer ce type d'attaques ? C'est ce que nous vous proposons de résumer au travers de cet article.

Mais avant cela, un petit rappel historique sur les serveurs DNS racines paraît nécessaire.

 

Les serveurs DNS racine ou "Root-Servers" :

Historiquement, les serveurs DNS racines sont au nombre de 13 (9 aux Etats-Unis, 1 au Japon, 1 en Angleterre, 1 en Suède et 1 en Hollande). Ils sont maintenus par des sociétés privées (Verisign, Cogent, …), des universités (University of Maryland, …) ou des instituts gouvernementaux (NASA, DOD, …). Ces serveurs sont nommés de la lettre "A" à la lettre "M" ("a.root-servers.net", " b.root-servers.net ", …).

La coordination de ces serveurs est effectuée au travers de l'organisme américain ICANN ("Internet Corporation For Assigned Names and Numbers"). [3]

Le rôle de ces serveurs DNS racines est de proposer une copie à jour et unique des informations sur les serveurs DNS gérant les "Top Level Domain" (TLD) : ".com", ".org", ".net", ".fr", ".info", ... Ces serveurs racines contiennent donc pour chaque TLD, la liste des serveurs DNS (nom/adresse IP) ayant autorité sur le TLD.

Exemple pour le domaine ".fr" :

Serveur :  b.root-servers.net

Address:  192.228.79.201

Nom :    fr

Served by:

- B.EXT.NIC.fr
          192.228.90.21
          fr

- B.NIC.fr
          192.93.0.4
          fr

- C.EXT.NIC.fr
          128.112.129.15
          fr

- C.NIC.fr
          192.134.0.49
          fr

- D.EXT.NIC.fr
          204.152.184.85
          fr

- E.EXT.NIC.fr
          193.176.144.6
          Fr

Chaque implémentation du service DNS (ISC BIND, Microsoft DNS Server, ….) a, en dur dans ses fichiers de configuration la liste des adresses IP correspondant aux différents serveurs DNS racines. Il contacte ces serveurs à chaque fois qu'il cherche à résoudre un domaine TLD.

Fichier "named.root" (ISC BIND) :

;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the "cache  .  <file>"
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC
;       under anonymous FTP as
;           file                /domain/named.root
;           on server           FTP.INTERNIC.NET
;       -OR-                    RS.INTERNIC.NET
;
;       last update:    Jan 29, 2004
;       related version of root zone:   2004012900
;
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU

...

En 2002, ces 13 systèmes avaient eu à faire face à une attaque simultanée de grande ampleur (DDoS), ayant pour but d'empêcher toute connexion DNS légitime vers ces serveurs et de paralyser ainsi les communications à travers la toile (plus de résolution de noms possible).

Néanmoins, face à cette attaque, certains de ces serveurs racines étaient arrivés à conserver un état de fonctionnement dégradé grâce, entre autres, à l'utilisation d'équipements de répartition de charge.

Mais suite à cette expérience, les organismes gérant les serveurs racines se sont penchés sérieusement sur cette problématique et ont apporté une solution (temporaire ?) à ce problème : l'utilisation de la technologie "Anycast".


La technologie "Anycast" au service des serveurs DNS :

La technologie "Anycast" permet à plusieurs systèmes disséminés dans divers endroits géographiques de posséder la même adresse IP. Ainsi, les requêtes à destination de cette adresse IP seront adressées par les équipements réseau au système le plus "proche" de la source (proche en termes de "routage IP", c'est-à-dire en prenant en compte l'emplacement géographie, mais aussi la rapidité des transmissions). [4] [5]

Néanmoins, ce type de technologie ne peut être utilisé de façon optimale que sur des services applicatifs se basant sur le protocole "non-connecté" UDP (dont le service DNS). En effet, les services connectés basés sur TCP seront eux perturbés si ce n'est pas toujours le même serveur physique qui répond pendant toute la durée de la communication TCP (cas où un changement de route survient au cours de la communication).

La technologie "Anycast" est implémentée en utilisant  les annonces faites sur le réseau Internet par le protocole BGP ("Border Gateway Protocol"). Ainsi deux réseaux distincts peuvent annoncer la même adresse IP. A charge aux algorithmes de routage de trouver la route la plus adaptée pour une requête provenant d'une source donnée. [6]

Ainsi pour un "serveur" DNS racine ayant une seule et même adresse IP, plusieurs serveurs physiques peuvent être mutualisés, à la seule condition de posséder chacun une même et unique copie des informations DNS qu'ils hébergent.

Ainsi, les 13 serveurs DNS racines correspondent aujourd'hui en fait à plus d'une centaine (120) de serveurs physiques éparpillés dans le monde entier. La liste de ces serveurs est donnée dans le lien. [7]

On peut noter la présence de deux de ces serveurs "physiques" en France [8] :

  • Copie du serveur F (zone Europe - "f.root-servers.net") maintenu par la société américaine ISC. [9]
  • Copie du serveur M (zone asiatique/pacifique - "m.root-servers.net") maintenu par la société japonaise "WIDE Project".

 

L'impact de cette technologie contre les attaques DDoS :

Ainsi le 6 février dernier, l'impact de l'attaque (trafic de l'ordre de 1 Go/sec) a pu être absorbé de façon presque transparente par les serveurs DNS racines ciblés. Sur les 6 serveurs DNS racines attaqués, seuls 2 d'entre eux ("g.root-server.net" et "l.root-server.net") ont été plus sévèrement touchés que les autres. Cette situation s'explique par le simple fait que ces 2 serveurs n'ont pas encore implémenté la technologie "Anycast".


Conclusion :

La technologie "Anycast" appliquée à l'infrastructure DNS de l'Internet permet de s'affranchir du lieu géographique pour l'hébergement d'un serveur DNS racine (cela réduit également les risques physiques), mais permet surtout, pour l'instant, d'absorber les attaques par saturation (DDoS).

Cette technique pourrait également trouver d'autres terrains d'application, mais elle reste néanmoins limitée à des protocoles de communication basés sur UDP.

 

Références :

 

Précedent Précedent Suivant Suivant Imprimer Imprimer