Comment configurer votre serveur DNS pour empêcher des hackers de l'utiliser pour attaquer le réseau

Tester votre serveur

Vous pouvez tester votre serveur en entrant son IP sur cette page : https://www.ovh.com/fr/cgi-bin/tools/dns_security.cgi

Protéger votre serveur

.

Si vous utilisez Bind

Veuillez éditer le fichier de configuration named.conf qui se trouve en général à l'un de ces emplacements :

/etc/bind/named.conf
/etc/named.conf
/var/chroot/named/etc/named.conf

Ajoutez la ligne suivante en début de fichier :
acl "trusted" { 127.0.0.1; ::1; };
Il faut ensuite modifier la section "options".
Si vous ne trouvez pas de section "options", il est possible qu'elle se trouve dans un autre groupe de fichiers, en général à l'un de ces emplacements :

/etc/bind/named.conf.options
/etc/named.conf.options
/var/chroot/named/etc/named.conf.options

Une fois trouvée, ajoutez la ligne suivante dans la section "options" :
allow-recursion { trusted; };
Une fois effectuées, les 2 modifications donneraient, par exemple :
acl "trusted" { 127.0.0.1; ::1; };
options {
           directory "/etc/namedb";
           allow-recursion { trusted; };
};
Vous devrez recharger Bind (ou le redémarrer) pour que la nouvelle configuration soit appliquée.

La commande à utiliser est, suivant votre distribution :

/etc/init.d/bind restart
/etc/init.d/named restart
Pour vous assurer que la configuration est désormais correcte, relancez le test via l'URL au début de ce guide.
Si vous utilisez une version très ancienne de Bind (Bind 8.x par exemple), ces modifications peuvent ne pas suffire pour sécuriser votre serveur DNS. Dans ce cas, lisez la section suivante.
.

Si vous utilisez une version ancienne de Bind

Si vous n'utilisez pas votre serveur DNS comme DNS autoritaire pour les zones de vos domaines, vous pouvez modifier la configuration pour qu'il n'écoute pas sur l'IP publique de votre serveur, en rajoutant dans la section "options" :
options {
        listen-on { 127.0.0.1; };
        listen-on-v6 { ::1; };
}
Puis redémarrez Bind une nouvelle fois.

Si vous utilisez votre serveur DNS comme DNS autoritaire, et que vous avez les lignes suivantes dans l'un des fichiers de configuration de Bind :
zone "." {
      type hint;
      file "/etc/bind/db.root";
};
Il faut les désactiver, comme ceci :
/*
zone "." {
      type hint;
      file "/etc/bind/db.root";
};
*/
Puis redémarrer Bind. Vous devrez ensuite utiliser l'infrastructure DNS cache d'OVH (213.186.33.99) à la place de votre serveur DNS pour résoudre les requêtes récursives, la modification se trouve au niveau du fichier /etc/resolv.conf. Le fichier ne devra contenir qu'une seule ligne :
nameserver 213.186.33.99
Vous pouvez ensuite retester votre configuration via l'URL au début de ce guide.
.

Si vous utilisez Windows

Vous trouverez les informations sur le site de Microsoft : http://technet.microsoft.com/en-us/library/cc770432.aspx

A noter que si vous hébergez les zones DNS de vos noms de domaines ET que vous souhaitez utiliser votre propre serveur DNS de cache, vous devrez exécuter deux instances du serveur DNS afin d'empêcher le serveur cache de répondre publiquement.
.

Si vous n'hébergez pas de zone DNS sur votre serveur

Et que vous n'êtes pas certain de votre configuration, vous pouvez désactiver le service DNS et uniquement utiliser l'infrastructure DNS cache d'OVH : 213.186.33.99