Chap2 Partie12 DHCP DNS

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 52

Administration des réseaux

Chapitre 2
Les protocoles DHCP et DNS:
fonctionnement et sécurisation
Partie 1 :
DHCP (Dynamic Host Configuration Protocol)

Objectifs
Fonctionnement
Attaques
Sécurisation
Rôle d'un service DHCP

Rôle:
Distribue d’une façon dynamique des adresses IP à des clients pour une
durée déterminée.
Evite l’affectation manuelle à chaque hôte d’une adresse IP statique, ainsi
que tous les paramètres dont il a besoin pour utiliser le réseau

Exemple d’utilisation: chez les FAI.


Le fournisseur d'accès alloue une adresse IP de son réseau le temps de la
liaison. Cette adresse est libérée, donc de nouveau disponible, lors de la
fermeture de la session.

Contraintes:
Tous les nœuds critiques du réseau (serveur de nom, passerelle par défaut,
serveur de mail…etc) ont une adresse IP statique sinon problèmes de
gestion
Avantage de DHCP
Configuration fiable et simple des réseaux TCP/IP
Minimisation du risque de conflits d'adresses et des erreurs
typographiques
Les postes itinérants sont plus faciles à gérer (PC portable)
L’économie des adresses IP:
Exemple: Les FAI disposent d'un nombre d'adresses limité.
Avec DHCP, seules les machines connectées en ligne ont une adresse IP.
Contrôle centralisé de l'utilisation des adresses IP.
Le changement de la valeur d’un paramètre au niveau du
serveur DHCP (exemple: passerelle par défaut) est pris en
compte par tous les clients du serveur → changement facile
Dans le cas de l'adressage statique, il faudrait reconfigurer toutes les
machines manuellement .
Le protocole DHCP
Extension de BootP
BootP fournit une configuration statique/DHCP
attribue automatiquement les adresses IP de
l’ordinateur connecté à Internet
Contrairement aux messages BootP, les messages
DHCP peuvent inclure des données de configuration
réseau pour le client.
Se base sur les protocoles UDP et IP
Fonctionne en mode client/serveur
Le client demande une adresse IP (une configuration
automatique)
Le serveur dispose d’une pool d’adresses à louer
Le serveur fournit/loue l’adresse IP (configuration) pendant un
temps limité appelé bail (lease)
Attribution de configuration IP
Le client émet un message de demande de bail IP (DHCPDISCOVER)
envoyé par diffusion sur le réseau avec adresse IP source 0.0.0.0, adresse IP
destination 255.255.255.255 et son adresse MAC.
Attribution d’adresse IP
Les serveurs DHCP répondent en proposant une adresse IP avec une durée
de bail et l'adresse IP du serveur DHCP (DHCPOFFER)
Attribution d’adresse IP
Le client sélectionne la première adresse IP reçue (s'il y a plusieurs serveurs DHCP)
et envoie une demande d'utilisation de cette adresse au serveur DHCP
(DHCPREQUEST). Son message envoyé par diffusion comporte l'identification du
serveur sélectionné qui est informé que son offre a été retenue ; tous les autres
serveurs DHCP retirent leur offre et les adresses proposées redeviennent
disponibles.
Attribution d’adresse IP
Le serveur DHCP accuse réception de la demande et accorde l'adresse en
bail (DHCPACK), les autres serveurs retirent leur proposition.
L’automate de DHCP
Renouvellement de bail IP
Lorsqu'un client redémarre, il tente d'obtenir un bail pour la même adresse avec le
serveur DHCP d'origine, en émettant un DHCPREQUEST.
En cas de succès, le client continue à utiliser la même adresse IP si le bail n’a
pas encore expiré.
Les clients DHCP d'un serveur DHCP tentent de renouveler leur bail lorsqu'ils
ont atteint 50% de sa durée par un DHCPREQUEST. Si le serveur DHCP est
disponible il envoie un DHCPACK avec la nouvelle durée et éventuellement les
mises à jour des paramètres de configuration.
Si à 50% le bail n’a pas pu être renouvelé, le client tente de contacter l'ensemble
des serveurs DHCP (diffusion) lorsqu'il atteint 87,5% de son bail, avec un
DHCPREQUEST, les serveurs répondent soit par DHCPACK soit par
DHCPNACK (adresse inutilisable, étendue désactivée...).
Lorsque le bail expire ou qu'un message DHCPNACK est reçu le client doit cesser
d'utiliser l'adresse IP et demander un nouveau bail (retour au processus de
souscription). Lorsque le bail expire et que le client n'obtient pas d'autre adresse la
communication TCP/IP s'interrompt.

Remarque : Si la demande n'aboutit pas et que le bail n'a pas expiré, le client
continue à utiliser ses paramètres IP.
Echange de messages DHCP
Requêtes et messages DHCP

La valeur entre parenthèses est utilisée pour identifier ces


requêtes dans les messages DHCP. Voir les options DHCP.
Format du message DHCP
Format du message DHCP
op : vaut 1 pour BOOTREQUEST (requête client), 2 pour BOOTREPLY
(réponse serveur)
htype : type de l'adresse hardware (adresse MAC, par exemple. Voir Rfc
1340)
hlen : longueur de l'adresse hardware (en octet). C'est 6 pour une adresse
MAC
hops : peut être utilisé par des relais DHCP
xid : nombre aléatoire choisi par le client et qui est utilisé pour reconnaître
le client
secs : le temps écoulé (en secondes) depuis que le client a commencé sa
requête
flags : flags divers
Format du message DHCP
ciaddr : adresse IP du client, lorsqu'il en a déjà une
yiaddr : la (future ?) adresse IP du client
siaddr : adresse IP du (prochain) serveur à utiliser
giaddr : adresse IP du relais (passerelle par exemple) lorsque le
serveur n’est pas dans le même réseau physique
chaddr : adresse hardware du client
sname : champ optionnel. Nom du serveur
file : nom du fichier à utiliser pour le boot
options : Champ réservé pour les options (RFC 2132).
Le relais DHCP

Lorsque le serveur DHCP n’est pas sur le même réseau


physique que les clients: nécessité d’un relais DHCP
Le relais fait passer les messages DHCP d’un réseau à un autre
Un routeur doit être configuré pour jouer le rôle d’un relais
DHCP

16
Les options du protocole

Le passage de paramètres (nom de la machine, passerelle par défaut...) se


fait par l'intermédiaire d'options.
Les options sont documentées dans la RFC 2132.
Chaque option porte un numéro qui l’identifie.
Il est possible d'envoyer plusieurs options dans le même message DHCP.
Dans tous les cas, on doit toujours finir la zone d'options par une option
255 (end).
Le format des options est le suivant :

Octet 1 Octet 2 Données

Code de l’option Longueur champ …


de données

17
Quelques options utiles
1 Masque
3 Routeur
6 serveur du domaine
10 serveur d’impression
15 nom du domaine
28 adresse de diffusion
66 serveur TFTP
255 end
Inconvénients de DHCP

Les trames de diffusion pour obtenir les adresses


chargent le réseau.
Risque de graves goulots d'étranglement sur le réseau
lors des démarrages synchronisés.
L'administrateur doit donc réfléchir à l'organisation de son réseau.

Nécessité d’un équipement serveur pour chaque zone


de diffusion
Compromis nombre de serveurs/ zone de diffusion
Config. d’un réseau en DHCP

Attribuer aux serveurs des adresses IP statiques


Organiser les clients en catégories
Affecter à chaque catégorie une pool d’adresses
dynamiques
Configurer le maximum d’options dans le serveur
Bien dimensionner la durée du bail pour un
compromis charge réseau/validité
Faire le choix entre utiliser un relais ou plusieurs
serveurs distincts
DHCP- attaques
Deux attaques principales:
Épuisement d'adresses IP (DHCP starvation)
Faux serveurs DHCP
DHCP- attaques
Epuisement d'adresse IP (DHCP starvation)
•Vulnérabilité:

•Les requêtes DHCP ne sont pas authentifiées.

• Attaque:

• L’attaquant inonde le serveur avec des messages DHCPREQUEST afin de


réserver toutes les adresses IP disponibles. L’attaquant doit utiliser une nouvelle
adresse MAC pour chaque requête.

•Risque: Attaques de Déni de service.

•Contre mesures:

•Limiter le nombre d’adresses MAC permises sur un port donné.

•Authentification
Faux serveurs DHCP
■ Vulnérabilité: Les requêtes DHCP ne sont pas authentifiées.
■ Attaque: L’attaquant prend le rôle d’un serveur DHCP.
L’attaquant répond avec un DHCPOFFER en donnant de fausses paramètres
IP à l’utilisateur
■ Fausses adresses IP et réseau
■ Faux routeur par défaut
L’adresse de l’attaquant si celui veut voir tout le trafic de la victime.
L’attaquant peut effectuer un déni de service sur le serveur légitime afin
qu’il n’interfère pas avec cette attaque.
Faux serveurs DHCP
■ Risque:
Attaque de déni de service
Attaque de l’homme du milieu
Divulgation d’informations sensibles (p.ex. mots de passe) qui ne devraient
pas être envoyées sur un port.
■ Contre mesures:
DHCP snooping : Défense contre le DHCP spoofing
■ Une fonction de sécurité implémentée dans certains commutateurs CISCO
■ Mettre en place une liste de ports sur le commutateur sur lequel se trouvent les
“trusted dhcp server”.
Limite l’impact de l’attaque
Partie 2 :

DNS (Domain name service)


Objectifs
Fonctionnement
Attaques
Sécurisation
DNS: fonctionnalités

■ Assurer la conversion entre les noms d’hôtes et


les adresses IP.

machine.domaine.xz

résolution résolution
inverse

192.127.10.2
■ Exemple:
■ Le nom www.yahoo.fr correspond à l’adresse
IP 192.95.93.20 de la machine www sur le
réseau yahoo.fr
Plan

■ Fonctionnalités du D N S

■ Résolutions de noms

■ Types de serveurs de noms

■ Entête D N S

■ Analyse de datagrammes D N S

■ Attaques et sécurisation
DNS: résolution de noms

$ telnet m1.centralweb.fr DNS


Demande de résolution
m1.centralweb.fr ???? serveur
client DNS
Telnet Réponse
193.148.37.201
serveur
193.148.37.201 DNS

serveur serveur
Telnetd DNS
Terminologies
Zone
BD

Domaine eisti
=
Sous domaine
du domaine fr

L e D N S e s t s u b d i v i s é e n r é p e rt o i r e s a p p e lé s «
domaines ». Pouvant être très vastes, ces
d e r n i e r s s e s u b d i v i s e nt é g a l e m e n t e n a n n u a i re s
plus petits : les zones DNS.
Z o n e : contient les données propres à une partie de
l’espace « nom de domaine » sous l’autorité d’un serveur de
n o m s (SOA: start of a zone of authority ou sphere of authority).
Structure de l’espace des noms

■ Le service DNS utilise la gestion hiérarchique des noms. On distingue


deux domaines pour le classement des noms:
■ Les domaines géographiques (Codes ISO 3166):
.fr – France
.tn – Tunisie
.it – Italie
.etc

■ Les domaines génériques (RFC 1591):

.com – Commerciaux
.edu – Organismes d’éducation
.net – Organismes de gestion de réseaux
.org – Organismes non-commerciaux
.int – Organismes internationaux
.gov – Organismes gouvernementaux
.mil – Organismes militaires
.arpa – Transition ARPAnet-> Internet + traduction inverse
Sémantique des noms

■ Le nom qualifié ou complet d'une


machine se lit en partant de la feuille
et en remontant dans l'arbre.
■ Chaque niveau est séparé par un "."
■ Le domaine racine n'a pas de nom
et par convention est appelé "."
■ Chaque niveau de l'arborescence
garantie que les noms de ses fils
soient uniques.
■ Un nom de domaine est constitué www
par une suite de noms séparés par
des points.
www.inria.fr
Types de serveurs DNS

Le serveur DNS récursif (Resolving Name Server) :

Le serveur DNS récursif, configuré dans la connexion internet de


l’appareil, répond à une requête DNS et demande l’adresse à d’autres
serveurs DNS, ou détient déjà un enregistrement de l’adresse IP du
site dans son cache.

Le serveur racine du DNS (Root Name Server) :

Il s’agit du serveur de noms pour la zone racine. Il répond à des


requêtes directes et peut renvoyer une liste de noms des serveurs
correspondants aux domaines de haut niveau.
Types de serveurs DNS

Le serveur DNS TLD :

Le serveur TLD (top-level domain : domaine de premier niveau) est


l’un des serveurs DNS de haut niveau que l’on trouve sur Internet.
Lorsque vous recherchez www.issatm.rnu.tn, un serveur TLD répondra
en premier pour le «.tn », puis le DNS recherchera «www.issatm.rnu ».

Le serveur de noms faisant autorité (Authoritative Name Server)


Le serveur de noms faisant autorité constitue le terminus d’une requête
DNS. Le serveur de noms faisant autorité contient l’enregistrement
DNS répondant à la requête.
Les Serveurs de noms

Un serveur de noms
Enregistre les données propres à une partie de l’espace nom de
domaine dans une zone.

Possède l’autorité administrative sur cette zone.

Peut avoir autorité sur plusieurs zones.


Les Serveurs de noms
Types de serveurs de noms:
Serveur primaire (maître):
contient l'original des données sur la zone dont il a l’autorité
administrative
tient à jour un fichier appelé « fichier de zone », qui établit
les correspondances entre les noms et les adresses IP des
hosts de sa zone.
chaque domaine possède un et un seul serveur primaire.

Serveur secondaire (esclave) :


seconde automatiquement le serveur de noms maître

pouvoir prendre le relai du serveur primaire, en cas de panne ou


d’indisponibilité.
interroge périodiquement le serveur de nom primaire et met à jour les
données (transfert de zones)
Les Serveurs de noms
Types de serveurs de noms:
Serveur cache (forwarding) :
garde en cache les résultats de recherche de noms les plus récents
pour un temps de réponse meilleur
il inscrit les correspondances nom / adresse IP dans un cache avec
une durée de validité limitée (TTL) ;
il n’a aucune autorité sur le domaine : il n’est pas responsable de la
mise à jour des informations contenues dans son cache, mais il est
capable de répondre aux requêtes des clients DNS.

relaye des requêtes vers d’autres serveurs


Serveurs de Noms (suite)

La redondance permet la disponiblité du service dans le cas


d’une défaillance éventuelle du primaire et du (des) secondaire(s).

Il y a un serveur primaire par zone et généralement plusieurs


secondaires
Un serveur de nom peut être primaire pour une (des) zone(s) et
secondaire pour d’autre(s).
Les serveurs de noms racine:
Environ 13 serveurs racines répartis dans le monde
Connaissent tous les serveurs de premier niveau : .tn , .fr, .com, ...
Serveur origines (ou primaire, ou maitre) géré par IANA/ICANN (IANA
—Internet Assigned Numbers Authority, ICANN-Internet Corporation for
Assigned Names and Numbers)
Serveurs MIROIRS (ou secondaire, ou esclave)
Les 7 étapes d’une recherche DNS

Une requête DNS débute lorsque un utilisateur essaye d’accéder à un


ordinateur sur Internet. Par exemple, vous tapez www.google.com
dans la barre d’adresses de votre navigateur.
La première étape de la requête DNS est le cache du DNS local.
Lorsque vous accédez à différents sites sur internet, leurs adresses IP
sont stockées dans un référentiel local. Si vous avez déjà visité
www.google.com, l’adresse IP se trouve dans votre cache.
Si l’adresse IP ne se trouve pas dans le cache de votre DNS local, le
DNS va consulter un serveur DNS récursif. Pour cela, votre équipe
informatique ou votre fournisseur d’accès Internet (ISP) fournit en
général un serveur DNS récursif.
Le serveur DNS récursif a son propre cache et, s’il contient l’adresse
IP, il vous l’enverra en retour. Si ce n’est pas le cas, il va donc
commencer par interroger les serveurs DNS racines pour savoir quels
sont les serveurs DNS en charge du nom de domaine de premier
niveau (TLD) « .com »
Les 7 étapes d’une recherche DNS

L’étape suivante est constituée des serveurs de noms TLD, dans ce


cas le serveur de noms TLD pour les adresses en .com. Ces serveurs
ne contiennent pas l’adresse IP dont nous avons besoin, mais ils
peuvent envoyer la requête DNS dans la bonne direction.
Les serveurs de noms TLD connaissent l’emplacement du serveur de
noms ayant autorité pour le site recherché. Le serveur de noms ayant
autorité répond avec l’adresse IP de www.google.com et le serveur
DNS récursif la stocke dans le cache DNS local, puis l’envoie en
retour vers votre ordinateur.
Le navigateur obtient l’adresse IP et se connecte à www.google.com
pour télécharger tout son contenu. Il enregistre ensuite l’adresse IP
dans le cache local, en lui associant une durée de vie (TTL pour
time-to-live). Le TTL est la durée de validité de l’enregistrement
DNS local. Lorsque ce délai sera expiré, et la prochaine fois que
vous voudrez accéder à google.com, le DNS suivra à nouveau le
parcours décrit ci-dessus.
Les types de requêtes DNS

Le processus d’envoi des requêtes peut se faire de deux façons :

▪ Dans une recherche récursive, un serveur DNS procède par


récursivité et continue d'interroger d'autres serveurs DNS jusqu'à
ce qu'il ait une adresse IP à renvoyer au client. Le mode récursif
est plus simple du point de vue du client.
Les types de requêtes DNS
▪ Dans une requête DNS itérative, chaque requête DNS répond
directement au client avec une adresse d'un autre serveur DNS à
interroger, et le client continue d'interroger les serveurs DNS
jusqu'à ce que l'un d'eux réponde avec l'adresse IP correcte pour
le domaine concerné. Ce mode est le plus simple du point de vue
du serveur. Les serveurs répondent directement à la requête sur
la base seule de ses informations locales.
Entête DNS
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
identificateur de la requête (recopié dans la réponse)
qr opcode aa tc rd ra Z rcode
QDCOUNT nombre d’entrées dans la section question
ANCOUNT nombre d’entrées (RR) dans la section réponse
NCOUNT nombre d’entrées (NS) dans la section réponse
ARCOUNT nombre d’entrées (RR) dans la section additionnel
a a : réponse d’une
qr: question (0) ou réponse (1) autorité
Opcode: tc : me ssa ge tronqué
0 - Requête standard (Query) r d : récursion désirée
1 - Requête inverse (Iquery) r a : récursion acceptée
2 - Status d'une requête serveur (Status) Z: utilisation futur
3-15 - Réservé pour des utilisations futurs rcode: type de réponse
Entête DNS (suite)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
identificateur de la requête (recopié dans la réponse)
qr opcode aa tc rd ra Z rcode
QDCOUNT nombre d’entrées dans la section question
ANCOUNT nombre d’entrées (RR) dans la section réponse
NCOUNT nombre d’entrées (NS) dans la section authorité
ARCOUNT nombre d’entrées (RR) dans la section additionnel

rcode: indique le type de réponse.


3 - Le nom n'existe
0 - Pas d'erreur
pas
1 - Erreur de format dans la requête
4 - Non implémenté
2 - Problème sur serveur
5 - Refus
6-15 - Réservés
Les RR (Resource Records)
■ La base de données des serveurs de n o m s = ensemble de RR
répartis en classes
■ La seule classe implémentée: Internet (IN)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Nom: Nom du domaine où se trouve le RR
Type (2octets): type de données utilisées dans le RR
C l a s s e ((2octets): famille de protocoles ou un protocole (IN:
Internet)
TTL(4octets): durée de vie des R R s (utilisé lorsque les R R sont en
cache)
lo n g u e u r: longueur des données suivantes
D o n n é e s : Données identifiant la ressource
Les RR (champs type)

53
Attaque DNS cache poisoning
■ Vulnérabilité:
Les messages DNS ne sont pas authentifiés.
L’entête DNS contient un numéro permettant d’associer une réponse à
une question (16 bits). Mais, ce numéro peut être deviné!
■ Attaque:
L’attaquant envoie de fausses réponses à un serveur DNS local.

Si le serveur ne valide pas les informations reçues et qu’il ne vérifie pas qu’elles

proviennent d’une source fiable, alors il stockera dans son cache ces
informations erronées.
Risque:
Redirection du trafic légitime:
■ Ce type d’attaque par DNS Cache Poisoning permet, par exemple, d’envoyer un
utilisateur vers un faux site dont le contenu peut servir à du phishing ou comme vecteur
de virus et autres applications malveillantes
■ ou aussi de forcer de naviguer vers un faux site Web ressemblant à un vrai, dans le but
de détourner du trafic ou de voler les informations d’identification des utilisateurs.
Attaque DNS cache poisoning
■ Le serveur DNS récursif (DNS resolver) communique avec
les serveurs de noms par le port 53 par défaut. Le seul dispositif de
sécurité implémenté était la génération d’un identifiant (ID) de 16
bits (compris entre 0 et 65 536) inclus dans l’échange entre les
serveurs DNS.
■ De cette manière, si la réponse reçue comprend un ID différent de
celui qui a été envoyé, DNS Resolver ignore cette réponse car
considérée comme illégitime.
■ Du fait du faible nombre de possibilités pour cet identifiant. Il a été
prouvé qu’il était possible qu’un attaquant insère dans le cache DNS,
l’IP de son propre serveur pour n’importe quel nom de domaine, en
envoyant au résolveur toutes les combinaisons possibles
d’identifiants dans un très court laps de temps. Sa réponse
malveillante est alors inscrite dans le cache, car reçue avant celle du
serveur du nom légitime, qui elle, est ignorée.
Attaque DNS cache poisoning
Attaque DNS cache poisoning

■ Sécurisation:

– Autorisez seulement machines internes à communiquer avec le résolveur


DNS.

– Vérifiez toujours chaque URL lors de vos navigation, Si celle-ci ne


correspond pas en tous points aux domaines que vous souhaitez visiter,
n’hésitez pas à quitter immédiatement l’adresse en question.

– Assurez-vous de la présence d’un certificat TLS/SSL. Celui-ci garantit la


confidentialité et la fiabilité de votre site

– Analysez régulièrement la présentation visuelle des sites que vous visitez


Attaque DDoS par amplification DNS
▪ Vulnérabilité:
Les messages DNS ne sont pas authentifiés.
▪ Attaque:
L'amplification du DNS est une attaque DDoS qui se sert des résolveurs
du DNS pour submerger une victime de trafic.
▪ L’attaquant envoie des requêtes demandant l'ouverture des résolveurs DNS à
l'aide d'une adresse IP usurpée (remplacée par l'adresse IP source réelle de
la victime)
▪ La victime reçoit le trafic initialement émis par l’attaquant, fortement
amplifié par les réponses reçues des résolveurs.
▪ Cette attaque entraîne la réception d’un considérable volume de données par
la cible provoquant un déni de service

▪ Risque:
Attaque de déni de service
Attaque DDoS par amplification DNS

■ Sécurisation:

– Réduire le nombre total de résolveurs de DNS ouverts

– Configuration des résolveurs DNS : mettre en place des listes blanches ou


noires pour les adresses IP autorisées ou bloquées.

– Vérification de l’adresse IP source : empêcher les paquets usurpés de


quitter le réseau

Vous aimerez peut-être aussi