Les DNS servent à plein de choses mais leur utilité première est de faire correspondre des noms d’hôtes comme tata.titi.com à une adresse IP. Il existe pas mal de subtilité dans ce protocole presque vieux comme Internet. Parmi ceux ci on citera les CNAME qui permette d’associer un autre nom à un nom d’hôte.
Tout bon client DNS sait alors qu’il doit conserver l’enregistrement pendant un certain nombre de secondes (TTL).
Orange et ses prestataires qui ont conçu la Livebox 2 ont fait le choix de faire répondre chaque box aux requêtes DNS des machines du réseau domestique. C’est leur choix. Par contre, l’implémentation DNS ne respecte pas les standard et un CNAME est transformé en enregistrement A, comme si de rien était… Démonstration.
mofo:~ bitonio$ dig www.apple.com ; <<>> DiG 9.6.0-APPLE-P2 <<>> www.apple.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2418 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.apple.com. IN A ;; ANSWER SECTION: www.apple.com. 1468 IN CNAME www.apple.com.akadns.net. www.apple.com.akadns.net. 56 IN CNAME www.apple.com.edgekey.net. www.apple.com.edgekey.net. 19650 IN CNAME e3191.c.akamaiedge.net. e3191.c.akamaiedge.net. 16 IN A 92.123.13.15 ;; Query time: 38 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Sun Apr 18 21:10:40 2010 ;; MSG SIZE rcvd: 154
Normalement la box devrait continuer de répondre un CNAME à l’appel suivant. Que nenni, voici un enregistrement de type A à 0 seconde de TTL.
mofo:~ bitonio$ dig www.apple.com
; <<>> DiG 9.6.0-APPLE-P2 <<>> www.apple.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38426
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.apple.com. IN A
;; ANSWER SECTION:
www.apple.com. 0 IN A 92.123.13.15
;; Query time: 18 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sun Apr 18 21:10:46 2010
;; MSG SIZE rcvd: 47
yl
Si vous essayez en prime de faire un dig sur les enregistrements AAAA (IPV6), il est probable que la livebox ne réponde pas. Sur les anciennes versions, en tout cas, un update firmware il y a environ 2 ans avait vu filtrer ces réponses. Seul un dig A fonctionne.
Ce qui n’a pas été sans poser pb aux OS nativement IPV6, tel linux: La libc fait alors toujours une requête AAAA avant de tenter une requête A si timeout. Environ 30s dans la vue à chaque 1ère résolution de nom!
Ils devaient avoir testé leur truc sous XP uniquement…
Attaqués en direct (sans passer par le relais DNS de la livebox, cad en ne configurant pas son DNS en 192.168.1.1, mais en mettant directement les IP des DNS Orange lus sur l’interface de configuration de la LB), les DNS Orange n’ont pas ce souçi.
C’est donc le relais DNS des LB qui est pourri. Mais de la part d’une boite qui embauche Albanel, il faut s’attendre à trouver de l’incompétance!