DNS intégré à Active Directory : mises à jour sécurisées, droits de création et enregistrements piégés
Le DNS est souvent considéré comme une simple infrastructure réseau. Dans un domaine Active Directory, il est pourtant au cœur de l'authentification : celui qui contrôle la résolution d'un nom peut attirer des connexions, et donc des tentatives d'authentification, vers la machine de son choix.
Mises à jour dynamiques : sécurisées uniquement
Une zone intégrée à Active Directory peut accepter trois modes de mise à jour dynamique : aucune, non sécurisées et sécurisées, ou sécurisées uniquement. Le mode non sécurisé permet à n'importe quelle machine du réseau, même hors domaine, de créer ou modifier des enregistrements sans s'authentifier. Il doit être proscrit sur toutes les zones, y compris les zones de recherche inversée, souvent oubliées. Le mode « sécurisées uniquement » exige une authentification Kerberos et applique les listes de contrôle d'accès de l'annuaire à chaque enregistrement.
Qui peut créer des enregistrements ?
Dans une zone intégrée, chaque enregistrement est un objet de l'annuaire. Par défaut, le groupe Utilisateurs authentifiés dispose du droit de créer des objets enfants dans la zone. Concrètement, n'importe quel compte du domaine peut créer un enregistrement pour un nom qui n'existe pas encore, puis en devient propriétaire. C'est ce qui permet aux postes de s'enregistrer eux-mêmes, mais cela permet aussi à un compte compromis de réserver des noms stratégiques.
Deux mesures limitent ce risque : créer à l'avance, avec un propriétaire maîtrisé, les noms sensibles que vous n'utilisez pas encore, et restreindre ce droit de création sur les zones où l'enregistrement automatique des postes n'est pas nécessaire, après avoir mesuré l'impact.
Enregistrements génériques et WPAD
Un enregistrement générique (caractère *) répond pour tout nom inexistant. Créé par un attaquant, il capte toutes les résolutions erronées. Le nom wpad est tout aussi sensible : les navigateurs et le service WinHTTP peuvent le rechercher pour découvrir automatiquement un proxy. Le serveur DNS de Windows intègre une liste de blocage des requêtes globales qui contient par défaut wpad et isatap ; vérifiez qu'elle est toujours active et qu'elle n'a pas été vidée pour les besoins d'un ancien proxy. Si vous utilisez réellement WPAD, créez l'enregistrement vous-même et protégez-le.
Le groupe DnsAdmins
Lorsque le service DNS tourne sur les contrôleurs de domaine, ce qui est le cas le plus courant, les membres de DnsAdmins peuvent modifier la configuration d'un service exécuté avec des privilèges élevés sur un DC. Des techniques publiques ont montré qu'une telle configuration pouvait mener à l'exécution de code sur le contrôleur. Microsoft a renforcé certains comportements au fil des mises à jour, mais le principe demeure : DnsAdmins doit être traité comme un groupe de niveau 0, vide ou presque, et surveillé comme les Admins du domaine.
Le compte DnsUpdateProxy. Les enregistrements créés par un serveur DHCP membre du groupe DnsUpdateProxy n'ont pas de propriétaire sécurisé et peuvent être repris par la première machine qui les met à jour. Préférez un compte dédié configuré sur le service DHCP pour les mises à jour dynamiques.
Nettoyage des enregistrements obsolètes
Le nettoyage (vieillissement et nettoyage des enregistrements) supprime les enregistrements dynamiques qui n'ont pas été actualisés. Sans lui, la zone accumule des noms pointant vers des adresses réattribuées depuis, ce qui crée des confusions et des occasions d'usurpation. Activez-le avec prudence : définissez les intervalles d'actualisation en cohérence avec les baux DHCP, laissez le vieillissement actif plusieurs cycles avant d'autoriser la suppression, et vérifiez que les enregistrements statiques critiques ne portent pas d'horodatage.
Ce qu'un audit vérifie
- le mode de mise à jour dynamique de chaque zone, directe et inversée ;
- les enregistrements génériques,
wpadouisatapet l'état de la liste de blocage globale ; - les membres de DnsAdmins et les délégations sur les zones ;
- la configuration du vieillissement et du nettoyage, et l'usage de DnsUpdateProxy.