Le système de noms de domaine (DNS) rend possible toutes les communications en réseau. Le DNS peut sembler être une force ou une entité invisible, jusqu'à ce que quelque chose se passe mal, alors c'est évident :si le service DNS tombe en panne, alors rien ne fonctionne.
Cet article décrit les meilleures pratiques et les mesures de sécurité les plus importantes pour maintenir votre infrastructure DNS en bonne santé. Assurez-vous de prendre en compte les points listés ci-dessous pour construire un DNS sécurisé et robuste.
Meilleures pratiques en matière de performances DNS
Assurez la redondance DNS et la haute disponibilité
Le DNS étant le pilier des applications réseau, l'infrastructure DNS doit être hautement disponible. Pour réaliser la redondance essentielle, vous devez disposer au moins des serveurs DNS principal et secondaire dans votre organisation.
Pour assurer le fonctionnement des services stratégiques, disposer d'au moins deux serveurs DNS internes est un must. Tous les services Active Directory, de partage de fichiers et de messagerie reposent sur le bon fonctionnement du DNS. Sans serveurs DNS internes sains et fonctionnels, les appareils internes ne peuvent pas communiquer.
Si un serveur DNS rencontre un problème, l'autre prend immédiatement le relais. Les administrateurs configurent les machines pour qu'elles utilisent automatiquement le DNS secondaire si le DNS principal ne répond pas. Une adresse IP d'un serveur DNS interne peut être n'importe quelle adresse dans une plage d'adresses IP de réseau privé.
En rendant les serveurs DNS redondants, vous pouvez obtenir une haute disponibilité de l'infrastructure DNS. La réplication continue des serveurs primaires vers les serveurs secondaires maintiendra vos enregistrements DNS synchronisés et à l'abri des pannes. Vous pouvez vous assurer qu'il n'y aura jamais de moment où aucun service ne sera disponible pour un utilisateur final.
Masquer les serveurs DNS et les informations DNS
Tous les serveurs DNS et toutes les informations n'ont pas besoin d'être mis à la disposition de tous les utilisateurs.
Tout d'abord, rendez accessibles uniquement les serveurs et les données nécessaires pour les personnes utilisant ces serveurs. Ceci est particulièrement important si vos noms de domaine doivent être visibles par le public.
Deuxièmement, masquez votre serveur DNS principal . Les serveurs principaux ne doivent pas être visible pour les utilisateurs externes. Les enregistrements de ces serveurs ne doivent pas être disponibles dans une base de données de serveurs de noms accessible au public. Seuls les serveurs DNS secondaires doivent répondre aux demandes des utilisateurs finaux.
Si un serveur DNS est accessible depuis l'extérieur de votre réseau, ce serveur doit être un serveur DNS faisant uniquement autorité. Les utilisateurs externes n'ont pas besoin d'interroger vos serveurs DNS récursifs. Répondre uniquement aux requêtes itératives pour les zones respectives pour lesquelles un serveur fait autorité est une configuration hautes performances.
Enfin, seuls les administrateurs système et le personnel informatique doivent avoir accès aux serveurs principaux de votre organisation. Si vous laissez les serveurs DNS principaux visibles pour tous les utilisateurs internes, cela peut devenir un problème de sécurité important. En règle générale, masquez les serveurs DNS et les données des utilisateurs qui n'ont pas besoin d'y avoir accès.
Dois-je utiliser un serveur DNS externe ou interne ?
La réponse à cette question dépend de la configuration interne.
Pour permettre aux appareils d'un domaine de communiquer entre eux, vous devez les faire pointer vers un serveur DNS interne. Les serveurs DNS externes ne peuvent pas résoudre les noms d'hôte des périphériques internes.
Par exemple, lorsqu'un ordinateur DESKTOP1 envoie une requête DNS pour office-printer ou un serveur hr- 1, seul un DNS interne peut fournir un enregistrement de ressource. Si vous configurez un appareil pour qu'il utilise un DNS externe, tel que le 8.8.8.8 de Google , vous ne pourrez pas utiliser les ressources internes.
Dans les environnements internes, vous devez définir à la fois le DNS principal et le DNS secondaire sur un serveur de noms interne . Même lorsque le serveur DNS principal tombe en panne, il n'y aura aucun problème de connectivité. Le serveur DNS secondaire contient tous les enregistrements et agit comme une sauvegarde. En cas de problème, ce serveur répond à toutes les requêtes jusqu'à ce que le serveur principal soit de nouveau opérationnel.
Utiliser le serveur DNS local ou le plus proche
Les grandes organisations ont souvent des bureaux dans le monde entier. Si l'infrastructure le permet, vous devez configurer un serveur DNS local dans chaque bureau.
La raison en est qu'un serveur local réduit les temps de réponse pour les requêtes DNS. Lorsqu'une requête transite par le WAN vers un serveur de noms distant, un utilisateur obtient des temps de chargement plus longs.
Avec un nombre élevé de clients, le nombre de requêtes DNS augmente. Un ensemble centralisé de serveurs DNS peut gérer toutes les requêtes, mais avec plus de latence. En pointant les machines des utilisateurs vers un serveur de noms local ou le plus proche, les temps de réponse sont réduits au minimum.
Dans ce cas, la latence ne dépasse pas 50 ms. De plus, le nombre est généralement bien inférieur à cette valeur. L'utilisation du serveur DNS le plus proche améliore les temps de chargement pour toutes les machines. De cette façon, vous soulagez également le serveur distant au siège et améliorez ses performances. La recommandation d'avoir au moins deux serveurs DNS reste en vigueur ici aussi.
Meilleures pratiques de sécurité DNS
Les serveurs DNS sont une cible fréquente des cyberattaques. La sécurisation de l'infrastructure DNS est une étape cruciale pour prévenir les brèches dans votre organisation. Pour éviter un impact majeur sur votre configuration DNS, veillez à appliquer les mesures de sécurité décrites ci-dessous.
Activer la journalisation DNS
La journalisation DNS est le moyen le plus efficace de surveiller l'activité DNS. Les journaux vous permettent de savoir si quelqu'un se mêle de vos serveurs DNS. Outre l'activité du client, les journaux de débogage vous informent en cas de problèmes avec les requêtes DNS ou les mises à jour.
Les journaux DNS montrent également les traces d'empoisonnement du cache. Dans ce cas, un attaquant modifie les données stockées dans le cache et déroute les clients. Par exemple, une adresse IP de www.youtube.com peut être remplacée par l'adresse IP d'un site malveillant. Lorsqu'un client envoie une requête au DNS pour youtube.com, le serveur renvoie désormais la mauvaise adresse IP. Les utilisateurs visitent alors des sites Web qu'ils ne voulaient pas visiter et deviennent la cible de pirates informatiques.
Même si la journalisation de débogage DNS élève la sécurité à un niveau supérieur, certains administrateurs système décident de la désactiver. La raison principale est d'augmenter les performances. La surveillance de l'activité du réseau peut vous aider à détecter certaines attaques, telles que les attaques DDoS, mais pas l'empoisonnement du cache. Par conséquent, nous vous recommandons vivement d'activer les journaux de débogage DNS .
Verrouiller le cache DNS
Chaque fois qu'il y a une requête d'un client, DNS trouve les informations et les stocke dans le cache pour une utilisation future. Ce processus permet au serveur de répondre plus rapidement aux mêmes requêtes. Les attaquants peuvent exploiter cette fonctionnalité en modifiant les informations stockées.
Une étape plus loin que l'activation des journaux de débogage DNS consiste à verrouiller le cache DNS . Cette fonctionnalité détermine quand les données mises en cache peuvent être modifiées. Le serveur conserve les informations de recherche pendant la durée définie par le TTL (durée de vie). Si le verrouillage du cache est désactivé, les informations peuvent être écrasées avant l'expiration de la durée de vie. Cela laisse de la place aux attaques d'empoisonnement du cache.
Selon le système d'exploitation, le verrouillage du cache peut être activé par défaut. L'échelle de verrouillage du cache va jusqu'à 100 %. Lorsque la valeur est définie sur 70, l'écrasement des données n'est pas possible pour 70 % du TTL. En définissant le verrouillage du cache sur 100, la modification des informations mises en cache est bloquée jusqu'à l'expiration de la durée de vie.
Filtrer les requêtes DNS pour bloquer les domaines malveillants
Le filtrage DNS est un moyen efficace d'empêcher les utilisateurs d'accéder à un site Web ou à un domaine. La principale raison de bloquer la résolution de noms pour un domaine est si ce domaine est connu pour être malveillant. Lorsqu'un client envoie une requête pour un site Web bloqué, un serveur DNS interrompt toute communication entre eux.
Le filtrage DNS réduit considérablement les risques de virus et de logiciels malveillants atteindre votre réseau. Lorsqu'un client ne parvient pas à accéder à une page malveillante, le nombre de menaces pouvant s'infiltrer dans votre infrastructure est minime. De cette façon, votre personnel informatique n'a pas à travailler 24 heures sur 24 pour nettoyer les virus.
Outre la sécurité, les organisations peuvent vouloir bloquer un domaine en raison d'une politique commerciale ou pour des raisons de productivité. La liste des domaines bloqués peut inclure les médias sociaux, les jeux d'argent, la pornographie, les pages de streaming vidéo ou tout autre site Web. Le DNS peut filtrer les requêtes par un utilisateur, un groupe ou bloquer l'accès pour tous les utilisateurs.
Les solutions modernes de sécurité logicielle et de pare-feu incluent le filtrage DNS en standard. Certaines de ces appliances fournissent des listes régulièrement mises à jour des domaines défectueux. En utilisant une solution logicielle prête à l'emploi, vous pouvez automatiser le filtrage DNS et éviter d'ajouter manuellement de nouvelles entrées.
Valider l'intégrité des données DNS avec DNSSEC
Les extensions de sécurité du système de noms de domaine (DNSSEC) garantissent que les clients reçoivent des réponses valides à leurs requêtes. L'intégrité des données est obtenue par DNSSEC signant numériquement les données DNS fournies aux serveurs de noms. Lorsqu'un utilisateur final envoie une requête, un serveur DNS fournit une signature numérique avec la réponse. Ainsi, les clients savent qu'ils ont reçu des informations valides pour la demande qu'ils ont envoyée.
Cette couche de sécurité supplémentaire aide à lutter contre les attaques de protocole DNS. Étant donné que DNSSEC offre l'intégrité des données et l'autorité d'origine, les attaques d'usurpation DNS et l'empoisonnement du cache sont évités avec succès . Les clients sont alors sûrs qu'ils visitent les pages qu'ils avaient l'intention de visiter.
Configurer les listes de contrôle d'accès
Les listes de contrôle d'accès (ACL) sont un autre moyen de protéger les serveurs DNS contre les accès non autorisés et attaques par usurpation d'identité . Seuls les administrateurs informatiques et les administrateurs système doivent avoir accès à votre DNS principal. La configuration des ACL pour autoriser les connexions entrantes vers un serveur de noms à partir d'hôtes spécifiques garantit que seul le personnel prévu peut communiquer avec vos serveurs.
De plus, les ACL doivent définir quels serveurs peuvent effectuer des transferts de zone. Les attaquants peuvent essayer de déterminer la configuration de votre zone en envoyant des demandes de transfert de zone via des serveurs DNS secondaires. Si vous bloquez toutes les demandes de transfert de zone sur des serveurs secondaires, un attaquant ne peut pas obtenir d'informations sur la zone. Cette configuration empêche les tiers d'avoir un aperçu de la façon dont vous avez organisé le réseau interne.