Sortie du serveur DNS BIND 9.20.0, porté sur libuv et nouveau backend pour la base de données

AprÚs deux ans et demi de développement, le consortium ISC a présenté le premier release stable de la nouvelle version majeure du serveur DNS BIND 9.20, qui intÚgre des changements développés dans la branche expérimentale BIND 9.19. Le support de la version 9.20 sera assuré dans le cadre d'un cycle de maintenance prolongé jusqu'au premier trimestre 2028. Le support de la version 9.18 cessera au deuxiÚme trimestre 2025. Pour le développement des fonctionnalités de la prochaine version stable de BIND, une branche expérimentale BIND 9.21.0 sera créée. Le code du projet est écrit en langage C et distribué sous licence MPL 2.0.

Principales modifications :

  • Le noyau de l'application, reliant tous les composants, a Ă©tĂ© converti pour utiliser une boucle de traitement d'Ă©vĂ©nements en mode non-bloquant, rĂ©alisĂ©e sur la base de la bibliothĂšque libuv, utilisĂ©e dans des projets tels que Node.js, Knot DNS, H2O, Luvit et MoarVM. Dans la version 9.16, le gestionnaire de connexions rĂ©seau a Ă©tĂ© converti sur libuv dans BIND, et maintenant les parties utilisĂ©es pour interagir avec les composants internes de l'infrastructure, ainsi que les gestionnaires auxiliaires longs exĂ©cutĂ©s dans des threads sĂ©parĂ©s (threadpool), utilisĂ©s pour la vĂ©rification DNSSEC, le transfert de zones, le maintien du rĂ©pertoire de zones et le traitement de RPZ (Response Policy Zone), ont Ă©galement Ă©tĂ© incluses. Pour construire BIND, une version minimale de libuv 1.34.0 est requise.
  • Un nouveau backend pour le travail avec la base de donnĂ©es a Ă©tĂ© proposĂ© - «QP trie», qui remplace RBTDB (Red-Black Tree Database) et est utilisĂ© par dĂ©faut pour stocker le cache et la base de donnĂ©es des zones DNS. Pour le travail multi-thread, la bibliothĂšque liburcu a Ă©tĂ© intĂ©grĂ©e dans QP trie avec une mise en Ɠuvre d'infrastructures sans verrou dans l'espace utilisateur, grĂące Ă  l'utilisation du mĂ©canisme de synchronisation RCU (read-copy-update) et de la mĂ©thode de libĂ©ration de mĂ©moire sĂ©curisĂ©e QSBR (Quiescent-State-Based Reclamation).
  • Un mĂ©canisme de compression mis Ă  jour a Ă©tĂ© mis en Ɠuvre complets, utilisant une mĂ©thode de codage des noms plus compacte avec un plus grand nombre d'Ă©tiquettes.
  • Les fonctionnalitĂ©s de DNSSEC ont Ă©tĂ© Ă©tendues : «dnssec-policy» est dĂ©sormais autorisĂ© pour la gestion des zones signĂ©es (l'option auto-dnssec a Ă©tĂ© supprimĂ©e) ; lors de l'utilisation de «inline-signing», le support de la RFC 8901 (modĂšle multi-signataire DNSSEC 2) a Ă©tĂ© ajoutĂ© ; le support PKCS#11 basĂ© sur OpenSSL 3.0.0 Engine API a Ă©tĂ© rĂ©tabli ; et la prise en charge HSM (Hardware Security Module) a Ă©tĂ© ajoutĂ©e Ă  «dnssec-policy».
  • Ajout du support de la deuxiĂšme version du catalogue de zones (Catalog Zone, RFC 9432), simplifiant le maintien des serveurs DNS secondaires en organisant la transmission du catalogue des zones secondaires entre le serveur principal et le serveur secondaire au lieu de dĂ©finir des enregistrements distincts sur le serveur secondaire pour chaque zone secondaire. AprĂšs la configuration de la transmission du catalogue, similaire Ă  celle des zones individuelles, les zones créées sur le serveur principal, marquĂ©es comme annexĂ©es au catalogue, sont automatiquement créées sur le serveur secondaire sans avoir besoin de modifier les fichiers de configuration.
  • Ajout du support du mĂ©canisme d'erreurs Ă©tendues (Extended DNS Errors, RFC 8914), permettant de retourner des informations supplĂ©mentaires sur la cause de l'erreur survenue lors de l'exĂ©cution de la requĂȘte DNS.
  • La mise en Ɠuvre des technologies « DNS sur HTTPS » (DoH, DNS over HTTPS) et DNS sur TLS (DoT, DNS over TLS), utilisĂ©es pour chiffrer les requĂȘtes des clients vers le rĂ©solveur et l'Ă©change sĂ©curisĂ© de donnĂ©es entre serveurs, a Ă©tĂ© convertie pour utiliser un transport unifiĂ©.
  • Ajout de la possibilitĂ© d'utiliser le protocole PROXYv2 avec tous les transports pris en charge dans BIND. Le protocole PROXY permet de transmettre des informations de connexion pour conserver les dĂ©tails sur l'adresse IP source et le numĂ©ro de port lors du passage des requĂȘtes DNS Ă  travers d'autres backends, load balancers et proxies.serveurs.
  • Ajout du support du mode USDT (User Statically Defined Tracing), permettant d'effectuer le traçage d'application Ă  l'aide de la commande perf, sans crĂ©er de frais gĂ©nĂ©raux supplĂ©mentaires lorsque le traçage est dĂ©sactivĂ©.
  • Les statistiques collectĂ©es reflĂštent dĂ©sormais les informations sur les opĂ©rations de transfert de zones entrantes inachevĂ©es.
  • Des efforts ont Ă©tĂ© dĂ©ployĂ©s pour rĂ©duire les dĂ©lais, diminuer la consommation de mĂ©moire et allĂ©ger la charge CPU lors de la rĂ©solution, du fonctionnement de DNS-over-TLS et de la formation des rĂ©ponses par UDP et TCP.
    Sortie du serveur DNS BIND 9.20.0, porté sur libuv et nouveau backend pour la base de données
    Sortie du serveur DNS BIND 9.20.0, porté sur libuv et nouveau backend pour la base de données
    Sortie du serveur DNS BIND 9.20.0, porté sur libuv et nouveau backend pour la base de données

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster