Sebastien PALMA - Mot-clé - Bind2024-03-21T20:02:58+01:00Sebastien PALMAurn:md5:9026dd85049a667a0ecd0b71e57f2c5bDotclearBind9 et les requêtes récursivesurn:md5:361ac5ee2501da777ef487f5b223f1452009-01-07T11:37:00+01:002011-12-23T15:43:50+01:00zokarSysadminBindDebian<p>Dans ce billet, je vais vous expliquer brièvement comment empêcher Bind9 d'accepter les requêtes récursives de l'extérieur uniquement.</p>
<p>Pourquoi donc? Et bien tout simplement pour éviter que de petits malins s'amusent à placer votre serveur DNS à la place du leur et génère du traffic sur votre serveur <img src="/themes/default/smilies/smile.png" alt=":)" class="smiley" /></p> <p>Tout d'abord, vous devez avoir un Bind9 actif et fonctionnel.</p>
<p>Une commande <code>dig @votreserveur domaine.tld</code> doit vous renvoyer une adresse IP.</p>
<p>Tout d'abord, créez le fichier /etc/bind/named.conf.acl avec pour contenu :</p>
<pre>
acl "CLIENT_NAME" {
// votre ip poublique pour administration
::ffff:[ADRESSE_IP]; [ADRESSE_IP];
// Une ligne par adresse adresses ip... Exemple :
::ffff:91.121.0.1; 91.121.0.1;
};
</pre>
<p>Sauvez le fichier et attribuez-le a l'utilisateur bind;bind avec comme droits d'accès 644 comme ceci :</p>
<pre>
root@> chown bind:bind /etc/bind/named.conf.acl
root@> chmod 644 /etc/bind/named.conf.acl
</pre>
<p>Ouvrez maintenant le fichier named.conf et modifiez/rajoutez les lignes suivantes</p>
<pre>
include "/etc/bind/named.conf.acl";
directory "/var/cache/bind";
version "Bingo";
auth-nxdomain no;
//listen-on-v6 { any; };
allow-query { localhost; };
allow-transfer { localhost; };
allow-recursion { localhost; };
</pre>
<p>Sauvez votre fichier et ouvrez le fichier dans lequel vous avez indiqué les zones que vous gérez. Son contenu doit ressembler à un enchaînement de blocs formés comme suit :</p>
<pre>
zone "domaine.tld" {
type master;
file "/etc/bind/domaine.tld.db";
};
</pre>
<p>Editez donc le contenu pour que chaque bloc ressemble à ceci :</p>
<pre>
zone "domaine.tld" {
type master;
file "/etc/bind/domaine.tld.db";
allow-query { any; };
allow-transfer { "CLIENT_NAME"; };
// CLIENT_NAME correspond au nom de l'acl dans named.conf.acl
};
</pre>
<p>Voila, il vous suffit de sauvegarder le fichier et de redémarrer Bind9 (généralement à l'aide de la commande <code>root@> /etc/init.d/bind9 restart</code>).</p>
<p>Votre serveur répondra aux requêtes concernant le(s) domaine(s) que vous possédez, mais ne répondra plus aux autres requêtes.</p>
<p>Optionnellement, vous pouvez activer le logging en ajoutant dans le fichier named.conf les lignes suivantes :</p>
<pre>
logging{
channel simple_log {
file "/var/log/bind.log" versions 3 size 5m;
severity warning;
print-time yes;
print-severity yes;
print-category yes;
};
category default{
simple_log;
};
};
</pre>https://blog.cp2i.com/?post/2009/01/07/Bind9-et-les-requ%C3%AAtes-r%C3%A9cursives#comment-formhttps://blog.cp2i.com/?feed/atom/comments/6