Le service DNS (Domain Name System) est depuis les années 1980 un des composants essentiels du fonctionnement d’Internet, car il permet notamment la conversion d’un nom de domaine en adresse IP (et l’inverse également). Il a été la cible de plusieurs attaques comme l’usurpation d’identité DNS (DNS ID Spoofing [1]) et la pollution de cache (DNS cache poisoning [1] [2]). Avec la mise en place d’une zone racine « signée » en janvier 2010 ([3]), il est désormais possible de vérifier les données reçues par le système DNS en activant DNSSEC (Domain Name System Security Extensions [4]). Je vous propose donc de voir comment mettre en œuvre tout cela.
Quand on navigue sur Internet, le navigateur demande en permanence au système de résoudre les adresses IP des noms utilisés dans les URL.
Voici ci-dessous une capture de trames DNS obtenue lors de la navigation sur http://google.fr/ (qui au final aboutit d’ailleurs sur la page https://www.google.fr/). On voit donc, avec l’habitude, les requêtes DNS IPv4 (enregistrement A) et IPv6 (enregistrement AAAA) pour le nom google.fr puis la même chose pour le nom www.google.fr.
$ tshark -ni eth0 udp and port 53
Capturing on 'eth0'
1 0.000000000 10.202.0.115 → 10.255.255.200 DNS 69 Standard query 0x9eb4 A google.fr
2 0.000015084 10.202.0.115 → 10.255.255.200 DNS 69 Standard query 0xacbe AAAA google.fr
3 0.000414981 10.255.255.200 → 10.202.0.115 DNS 343 Standard query response 0x9eb4 A google.fr A 216.58.201.195 NS ns4.google.com NS ns3.google.com NS ns2.google.com NS ns1.google.com A 216.239.32.10 AAAA 2001:4860: 4802:32:...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première