La publication de la version 4.7 du serveur DNS autoritaire PowerDNS Authoritative Server, destiné à la gestion des zones DNS, a eu lieu. Selon les développeurs du projet, PowerDNS Authoritative Server gère environ 30 % du nombre total de domaines en Europe (et si l'on considère uniquement les domaines avec des signatures DNSSEC, ce chiffre atteint 90 %). Le code du projet est distribué sous la licence GPLv2.
Le Serveur DNS Autoritaire PowerDNS permet de stocker des informations sur les domaines dans différentes bases de données, y compris MySQL, PostgreSQL, SQLite3, Oracle et Microsoft SQL Server, ainsi que dans LDAP et des fichiers texte ordinaires au format BIND. La réponse peut être filtrée de manière supplémentaire (par exemple, pour éliminer le spam) ou redirigée à l'aide de gestionnaires personnalisés dans des langages comme Lua, Java, Perl, Python, Ruby, C et C++. Parmi ses caractéristiques, on note des outils pour la collecte de statistiques à distance, notamment via SNMP ou par l'intermédiaire d'une API Web (pour les statistiques et la gestion, un serveur http intégré est prévu), redémarrage instantané, moteur intégré pour connecter des gestionnaires en langage Lua, possibilité d'équilibrage de charge en fonction de la localisation géographique du client.
Les principales nouveautés :
- Ajout du support des zones de catalogage (« Catalog Zones »), simplifiant la maintenance des serveurs DNS secondaires en permettant d'éviter la définition de le serveur l'enregistrement individuel pour chaque zone secondaire, en organisant le transfert du catalogue des zones secondaires entre le serveur primaire et le serveur secondaire. Après avoir configuré le transfert du catalogue, de façon similaire au transfert de zones individuelles, les zones créées sur le serveur primaire et marquées comme appartenant au catalogue seront automatiquement créées sur le serveur secondaire sans avoir besoin de modifier les fichiers de configuration. Le fonctionnement du catalogue est pris en charge avec les backends de stockage gmysql, gpgsql, gsqlite3, godbc et lmdb.
- Lors de la mise en œuvre du catalogue des zones, le code a été optimisé pour gérer un grand nombre de domaines. Lorsque les zones sont stockées dans une base de données, le nombre de requêtes SQL a été considérablement réduit — au lieu d'une requête distincte pour chaque domaine, une sélection groupée est maintenant effectuée. Ce changement a eu un impact positif sur les performances serveurs, même dans les systèmes qui n'utilisent pas le catalogue des zones.
- Le mécanisme d'échange de clés GSS-TSIG a été retravaillé et réintégré, après avoir été supprimé en raison de vulnérabilités et de problèmes de sécurité potentiels.
- Lors de la demande d'enregistrements Lua via TCP, la réutilisation de l'état Lua a été assurée, ce qui a considérablement amélioré les performances.
- Dans la base de données basée sur lmdbbackend, l'attachement à UUID et la possibilité de générer des identifiants d'objets aléatoires ont été mis en œuvre.
- Des outils pour gérer les serveurs autoprimary ont été ajoutés dans pdnsutil et l'API HTTP, utilisés pour automatiser le déploiement et la mise à jour des zones sur les serveurs DNS secondaires sans configuration manuelle des zones secondaires.
- Une nouvelle fonction Lua ifurlextup a été ajoutée.
- Ajout d'un processus en arrière-plan expérimental pour la génération et la livraison de clés (key roller).
Source : opennet.ru
