Limiter les effets de la fragmentation sur le DNS

Les opérateurs de serveurs DNS faisant autorité pour un domaine en .LU et opérateurs de résolveurs du Grand-Duché sont invités à valider la configuration de leurs serveurs dans le cadre du DNS Flag Day 2020 qui entend limiter les effets de la fragmentation des paquets des DNS au 1er octobre 2020.

Registre du domaine de premier niveau de code de pays (ccTLD) pour le Luxembourg, le service DNS-LU de la Fondation Restena soutient le DNS Flag Day 2020. Cette initiative, portée par la communauté internationale des acteurs du DNS (Domain Name System), se déroulera le 1er octobre 2020 et s’attaquera aux problèmes posés par la fragmentation des paquets DNS. Chaque paquet de données transféré sur le réseau répond en effet à une taille maximale définie par le Maximum Transfer Unit (MTU). Lorsque ce MTU, variable suivant la technologie de transport (fibre, ADSL, satellite, Wi-Fi, etc.) est dépassé, le paquet est alors fragmenté en un ou plusieurs morceaux.

Performance, fiabilité et sécurité des échanges

Pour échanger des paquets d’information entre un client et un serveur, le DNS utilise deux protocoles de transport : l’UDP (User Datagram Protocol) par défaut, et le TCP (Transmission Control Protocol) qui, contrairement à l’UDP, crée une session de transport. Ce mécanisme de session de transport permet d’éventuellement fragmenter une large réponse du serveur en plusieurs paquets puis de les réordonner et les « recoller » à l'arrivée, suite à la requête d’un client. Mais, cette fragmentation peut poser des problèmes de performance et de fiabilité ainsi que de sécurité. Non seulement certains équipements comme les firewalls ont tendance à supprimer les "suites" de paquets tronqués, ne sachant pas forcément les analyser correctement, mais certaines attaques visent à injecter de fausses "suites" de paquets tronqués lors de la recomposition de la réponse.

L’utilisation de la fragmentation (et donc de TCP) est essentielle pour le bon fonctionnement du DNS « moderne », notamment quand la technologie DNSSEC (Domain Name System Security Extensions) qui permet de protéger les différentes zones des noms de domaine grâce à des clefs cryptographiques est utilisée. Malheureusement, certains serveurs faisant autorité, là où sont stockés les données récupérées via le protocole DNS, n’utilisent que le protocole UDP et négligent totalement les besoins et contraintes du TCP.

De plus, certains serveurs, faisant autorité ou agissant comme résolveurs (c’est à dire allant interroger les serveurs faisant autorité pour résoudre la requête de l’utilisateur) sont configurés (via le paramètre « EDNS buffer size ») pour autoriser l’échange de paquets de données sur UDP plus gros que le MTU de certains liens de communication. Comme les paquets ne pourront être fragmentés, ils seront simplement supprimés par le réseau. Sans réponse du serveur, le client devra attendre un ‘time-out’ avant de réessayer d’envoyer ses paquets, une perte de temps non négligeable avant d’obtenir une réponse correcte.

Recommandations générales et impact sur le .lu

Pour apporter une solution à ces problèmes, des recommandations mineures mais néanmoins importantes dans la configuration des serveurs du DNS sont promues à partir du 1er octobre 2020. Deux changements concernent directement les administrateurs de serveurs DNS : respecter et configurer en un minimum de 1232 octets le « EDNS buffer size » pour garantir une compatibilité avec l’ensemble des technologies de transmission actuelles, et s’assurer que son serveur DNS prend en compte les protocoles UPD et TCP.

Au Luxembourg, la non-conformité des serveurs DNS fonctionnant sous la racine du .lu est faible puisque 96% des opérateurs disposent d’une configuration optimale. Seul 4% des serveurs sous le .LU, gérés par près d’une soixantaine d’opérateurs DNS pourront souffrir, à partir du 1er octobre 2020, de problèmes de performance et de fiabilité dû à la fragmentation et ont été contactés par l’équipe DNS-LU de la Fondation Restena avec des recommandations à suivre.

ᐅ L’ensemble des opérateurs du DNS agissant sous le .LU sont invités à vérifier leurs configurations et tester le bon fonctionnement de leurs serveurs et résolveurs grâce à l’outil de test accessible sur le site du DNS Flag Day et à mettre en œuvre les changements de configuration pertinents.