Question recurtion DNS (Bind9)

Question recurtion DNS (Bind9) - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 27-11-2006 à 13:39:58    

Bonjour,
 
J'ai un serveur DNS sur ma machine qui gére mon domaine. Le port 53 est donc ouvert en TCP et UDP  en 0.0.0.0:53
 
J'ai quelques questions concernant cette configuration :
 
Est il nécessaire de laisser les deux ports ouverts ?
 
Comment empécher tous le monde de venir questioner mon DNS sur le reste du monde (par exemple n'importe qui peut faire une requete sur www.google.com sur mon serveur...) ? (ACL ?)
 
Merci

Reply

Marsh Posté le 27-11-2006 à 13:39:58   

Reply

Marsh Posté le 27-11-2006 à 14:27:22    

Tu n'as besoin de TCP que pour les transferts de zone, les "grosses" requetes DNS ou lorsqu'une requête UDP échoue.
 
Maintenant la question est de savoir comment est installé ton serveur et dans quel type d'infrastructure réseau... A priori, un particulier le mettrait dans son LAN derrière un routeur/firewall qui fait du NAT et il redirigerait les ports...  
 
Si c'est ton cas, alors dans la configuration de BIND tu peux lui préciser d'écouter uniquement sur l'interface coté LAN (ca c'est si ton serveur est sur le PC qui te sert de routeur/firewall) sinon la configuration se fait au niveau du firewall. Il doit probablement être stateful, donc tu autorises le trafic sortant vers le port 53 uniquement et tu n'autorises rien en entrant, et pas de redirection NAT du port 53 vers le serveur puisqu'a priori, tu n'as pas l'air de vouloir que les gens de l'extérieur y accède...

Reply

Marsh Posté le 27-11-2006 à 15:11:15    

Non c'est un serveur avec adresse ip public gérant un nom de domaine pour mon site web (entre autres)
 
j'ai commencé par mettre :
 
        allow-recursion {
                localhost;  
        };
        allow-transfer{
                xx.xx.xx.xx;
        };
 
Mais les machines ont toujours accés au cache dns

Reply

Marsh Posté le 08-12-2006 à 20:47:50    

Citation :

allow-recursion
 
    Specifies which hosts are allowed to make recursive queries through this server. If not specified, the default is to allow recursive queries from all hosts. Note that disallowing recursive queries for a host does not prevent the host from retrieving data that is already in the server's cache.


 
( http://www.isc.org/sw/bind/arm93/B [...] ml#options )
 
Vide le cache et ça ira mieux


Message édité par BMenez le 08-12-2006 à 20:48:57
Reply

Marsh Posté le 09-12-2006 à 20:04:54    

Tiens je profite de ce sujet pour demander a quelqu'un de tester pour moi mon DNS , pour voire s'il ne delivre bien que les info. sur mon domaine et rien d'auter , meme si je pense avoir bien config. Bind9 , en regardant mes logs. , j'ai une impression bizzard :D .
 
Donc si vous pouviez tester une requete sur ns0.su7.net svp , merci  :)

Reply

Marsh Posté le 10-12-2006 à 08:38:19    

ipnoz a écrit :

Tiens je profite de ce sujet pour demander a quelqu'un de tester pour moi mon DNS , pour voire s'il ne delivre bien que les info. sur mon domaine et rien d'auter , meme si je pense avoir bien config. Bind9 , en regardant mes logs. , j'ai une impression bizzard :D .

 

Donc si vous pouviez tester une requete sur ns0.su7.net svp , merci  :)

 

Ca résoud par contre tu n'as pas du authoriser les ping. Et j'ai une erreur 403 sur l'accès web.

 

#ping ns0.su7.net
PING ns0.su7.net (82.228.135.61) 56(84) bytes of data.

 

--- ns0.su7.net ping statistics ---
14 packets transmitted, 0 received, 100% packet loss, time 13010ms

Message cité 1 fois
Message édité par rancor le 10-12-2006 à 08:39:01
Reply

Marsh Posté le 10-12-2006 à 11:09:55    

ipnoz a écrit :

Tiens je profite de ce sujet pour demander a quelqu'un de tester pour moi mon DNS , pour voire s'il ne delivre bien que les info. sur mon domaine et rien d'auter , meme si je pense avoir bien config. Bind9 , en regardant mes logs. , j'ai une impression bizzard :D .
 
Donc si vous pouviez tester une requete sur ns0.su7.net svp , merci  :)


 
http://www.dnsreport.com fait ce test, plus plein d'autres vraiment utiles.

Reply

Marsh Posté le 10-12-2006 à 17:19:28    

rancor a écrit :

Ca résoud par contre tu n'as pas du authoriser les ping. Et j'ai une erreur 403 sur l'accès web.

 

J'en etais sur , par contre je ne comprends pas pourquoi.

 

Ca a l'air bien configuré , mais je n'ai aucun outil pour tester depuis l'exterieur si la recursion fonctionne , ou bien si c'est parce que la demande faite par le client etait deja stocké dans le cache de mon DNS .

 

Pour le ping , je ne l'authorise pas  , et pour l'acces web , essaye www.su7.net ;b

 

EDIT : apres qlq. test , j'ai bien l'impression que la recursion "exterieur" viens du fait que c'etait deja en cache , mais je n'ai pas d'acces exterieur a mon LAN pour tester ca .


Message édité par ipnoz le 10-12-2006 à 17:28:46
Reply

Marsh Posté le 10-12-2006 à 17:21:01    

ory a écrit :

http://www.dnsreport.com fait ce test, plus plein d'autres vraiment utiles.


 
 
Merci , je connais deja ce site , je l'ai utilisé pour conf. mon DNS , mais il ne permet pas de faire une requete sur son DNS .

Reply

Marsh Posté le 10-12-2006 à 17:38:44    

hello, ton site marche bien effectivement sinon tu utilises quoi pour mettre en place ta radio ?
tres bonne selection  :jap:  
Pour tes dns quelques test depuis chez moi si ca peut taider ...
 
dig -x su7.net
 

Citation :

; <<>> DiG 9.3.2-P1 <<>> -x su7.net
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 14700
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
 
;; QUESTION SECTION:
;net.su7.in-addr.arpa.          IN      PTR
 
;; AUTHORITY SECTION:
in-addr.arpa.           3600    IN      SOA     A.ROOT-SERVERS.NET. bind.ARIN.NET. 2006121004 1800 900 691200 10800
 
;; Query time: 87 msec
;; SERVER: 192.168.0.24#53(192.168.0.24)
;; WHEN: Sun Dec 10 17:41:24 2006
;; MSG SIZE  rcvd: 102


 
 
 
nslookup su7.net

Citation :


Server:         192.168.0.24
Address:        192.168.0.24#53
 
Non-authoritative answer:
Name:   su7.net
Address: 82.228.135.61


 

Reply

Marsh Posté le 10-12-2006 à 17:38:44   

Reply

Marsh Posté le 10-12-2006 à 18:08:13    

krifur a écrit :

hello, ton site marche bien effectivement sinon tu utilises quoi pour mettre en place ta radio ?
tres bonne selection  :jap:  
Pour tes dns quelques test depuis chez moi si ca peut taider ...


 
J'utilise icecast2+ices2 sous debian , tres simple a mettre en place .
:) .
 
Sinon , si tu peux juste faire un :
 


host -a zdnet.fr ns0.su7.net


 
et me renvoyer ce qui en sort ... Je vais restart mon serveur pour vider le cache

Reply

Marsh Posté le 10-12-2006 à 18:19:17    

hopla

 
Citation :

rying "zdnet.fr"
Using domain server:
Name: ns0.su7.net
Address: 82.228.135.61#53
Aliases:

 

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56299
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 13

 

;; QUESTION SECTION:
;zdnet.fr.                      IN      ANY

 

;; AUTHORITY SECTION:
.                       517779  IN      NS      F.ROOT-SERVERS.NET.
.                       517779  IN      NS      G.ROOT-SERVERS.NET.
.                       517779  IN      NS      H.ROOT-SERVERS.NET.
.                       517779  IN      NS      I.ROOT-SERVERS.NET.
.                       517779  IN      NS      J.ROOT-SERVERS.NET.
.                       517779  IN      NS      K.ROOT-SERVERS.NET.
.                       517779  IN      NS      L.ROOT-SERVERS.NET.
.                       517779  IN      NS      M.ROOT-SERVERS.NET.
.                       517779  IN      NS      A.ROOT-SERVERS.NET.
.                       517779  IN      NS      B.ROOT-SERVERS.NET.
.                       517779  IN      NS      C.ROOT-SERVERS.NET.
.                       517779  IN      NS      D.ROOT-SERVERS.NET.
.                       517779  IN      NS      E.ROOT-SERVERS.NET.

 

;; ADDITIONAL SECTION:
A.ROOT-SERVERS.NET.     604179  IN      A       198.41.0.4
B.ROOT-SERVERS.NET.     604179  IN      A       192.228.79.201
C.ROOT-SERVERS.NET.     604179  IN      A       192.33.4.12
D.ROOT-SERVERS.NET.     604179  IN      A       128.8.10.90
E.ROOT-SERVERS.NET.     604179  IN      A       192.203.230.10
F.ROOT-SERVERS.NET.     604179  IN      A       192.5.5.241
G.ROOT-SERVERS.NET.     604179  IN      A       192.112.36.4
H.ROOT-SERVERS.NET.     604179  IN      A       128.63.2.53
I.ROOT-SERVERS.NET.     604179  IN      A       192.36.148.17
J.ROOT-SERVERS.NET.     604179  IN      A       192.58.128.30
K.ROOT-SERVERS.NET.     604179  IN      A       193.0.14.129
L.ROOT-SERVERS.NET.     604179  IN      A       198.32.64.12
M.ROOT-SERVERS.NET.     604179  IN      A       202.12.27.33

 

Received 445 bytes from 82.228.135.61#53 in 150 ms

 

n'hesite pas si tu veut d'autre tests ...


Message édité par krifur le 10-12-2006 à 18:20:45
Reply

Marsh Posté le 10-12-2006 à 18:24:53    

Ok , merci , ca confirme bien que mon serveur ne fait pas de recursion pour des clients exterieurs :)

Reply

Marsh Posté le 10-12-2006 à 18:36:35    

ipnoz a écrit :

Merci , je connais deja ce site , je l'ai utilisé pour conf. mon DNS , mais il ne permet pas de faire une requete sur son DNS .

 


PASS Open DNS servers OK. Your DNS servers do not announce that they are open DNS servers. Although there is a slight chance that they really are open DNS servers, this is very unlikely. Open DNS servers increase the chances that of cache poisoning, can degrade performance of your DNS, and can cause your DNS servers to be used in an attack (so it is good that your DNS servers do not appear to be open DNS servers).

 

oui, mais il teste si les serveurs DNS autorisent les requetes récursives.

Message cité 1 fois
Message édité par ory le 10-12-2006 à 18:36:53
Reply

Marsh Posté le 11-12-2006 à 14:52:32    

ory a écrit :

PASS Open DNS servers OK. Your DNS servers do not announce that they are open DNS servers. Although there is a slight chance that they really are open DNS servers, this is very unlikely. Open DNS servers increase the chances that of cache poisoning, can degrade performance of your DNS, and can cause your DNS servers to be used in an attack (so it is good that your DNS servers do not appear to be open DNS servers).


 
oui, mais il teste si les serveurs DNS autorisent les requetes récursives.


 
ok , merci , j'avais un doute sur ce msg. ( mon anglais n'est pas tres bon ) .

Reply

Marsh Posté le 15-01-2007 à 16:56:19    

Bonjour,  
 
je me permets de remonter ce poste, mon problème est dans la lignée de celui-ci.
 
J'ai un serveur dns, avec une partie interne, et une partie externe.
 
J'ai configuré le serveur de façon à ce que les utilisateurs de mon domaines puissent faire des résolutions récursives sur mon serveur dns, ce qui fonctionne parfaitement.  
 
par contre, je n'arrive à limiter que partiellement les requêtes récursives venant de l'extérieur. Avec les paramètres suivants:
 
recursion no;
        allow-recursion {none;};
        additional-from-auth no;
        additional-from-cache no;
Je dis partiellement, parce que si une personne externe fait une requête sur mon serveur dns, celui-ci le renvoie vers les serveurs ROOT sauf si l'information demandé se trouve dans son cache auquel cas, il fourni l'information.  Je ne trouve pas comment limiter l'accès à mon cache.
 
Pour info, je suis sur une debian sarge avec 9.2.4-1sarge1. Les mêmes directives appliquées sur un autre serveur dns tournant sur Redhat et une version plus ancienne de bind fonctionnent correctement.  
 
Merci d'avance pour toute piste donnée.

Reply

Marsh Posté le 15-01-2007 à 22:20:43    

tu utilises les views?


---------------
Intermittent du GNU
Reply

Marsh Posté le 16-01-2007 à 07:46:32    

bonjour, j'utilise en effet les views. Je mets ici un extrait de ma config
view "internal" {
        match-clients { 10.10.0.0/21; 10.10.10.0/24; 127.0.0.1;};
 
        recursion yes;
 
view "external" {
        match-clients { any; };
 
        recursion no;
        allow-recursion {none;};
        additional-from-auth no;
        additional-from-cache no;
 
Donc, pour les clients internes, pas de problèmes, ils peuvent demander à mon serveur dns de faire des requêtes pour des domaines que je ne gère pas. Les clients externes ne devraient pouvoir faire des requêtes sur mon serveur uniquement pour les domaines qu'il gère. Le hic, c'est que lorsque la réponse se trouve dans son cache, le serveur répond. J'aimerais donc bloquer l'accès au cache de mon serveur dns aux personnes de l'extérieur.

Reply

Marsh Posté le 16-01-2007 à 15:56:58    

J'ai la meme conf. que toi pere Castor , mais je ne crois pas que ce soit possible. Ou bien l'option pour empecher d'envoyer une reponse a une requete qui se trouve dans le cache de bind est bien caché .

Reply

Marsh Posté le 16-01-2007 à 16:34:49    

pere castor a écrit :

bonjour, j'utilise en effet les views. Je mets ici un extrait de ma config
view "internal" {
        match-clients { 10.10.0.0/21; 10.10.10.0/24; 127.0.0.1;};
 
        recursion yes;
 
view "external" {
        match-clients { any; };
 
        recursion no;
        allow-recursion {none;};
        additional-from-auth no;
        additional-from-cache no;
 
Donc, pour les clients internes, pas de problèmes, ils peuvent demander à mon serveur dns de faire des requêtes pour des domaines que je ne gère pas. Les clients externes ne devraient pouvoir faire des requêtes sur mon serveur uniquement pour les domaines qu'il gère. Le hic, c'est que lorsque la réponse se trouve dans son cache, le serveur répond. J'aimerais donc bloquer l'accès au cache de mon serveur dns aux personnes de l'extérieur.


Ok .
Ceci dit j'ai peur que tu ne puisses résoudre ce problème simplement ( il faudrait soit avoir un cache/view et je ne pense pas que bind9 fonctionne ainsi ).
Concernant la configuration , je pense que le recursion no; devrait suffire a mon avis.  
Tu as tenté éventuellement de poser la question sur la mailing de ISC ? ( http://groups.google.fr/group/comp [...] ind/topics )
 
 
Bon ceci dit en lisant ceci :
http://groups.google.fr/group/comp [...] f622463f30
il me semble que je disais des conneries plus haut ;)


---------------
Intermittent du GNU
Reply

Marsh Posté le 16-01-2007 à 17:43:44    

Je crois que je vais en effet devoir aller consulter les mailings-listes.  
 
Merci pour votre aide. :jap:

Reply

Marsh Posté le 16-01-2007 à 17:59:54    

Faudrait pas plutôt mettre les allow-* dans la directive options ?
 

acl lan {
    192.168.100.0/24;
    192.168.101.0/24;
};
 
options {
    allow-transfer { none; };
    allow-query { lan;};
    allow-recursion { lan;};
};


 
chez moi ca marche en tout cas (requete depuis une ip en dehors du LAN)
 

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 19256
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
 
;; QUESTION SECTION:
;google.fr.                     IN      A


Reply

Marsh Posté le 16-01-2007 à 18:01:17    

ory a écrit :

Faudrait pas plutôt mettre les allow-* dans la directive options ?
 

acl lan {
    192.168.100.0/24;
    192.168.101.0/24;
};
 
options {
    allow-transfer { none; };
    allow-query { lan;};
    allow-recursion { lan;};
};


 
chez moi ca marche en tout cas (requete depuis une ip en dehors du LAN)
 

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 19256
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
 
;; QUESTION SECTION:
;google.fr.                     IN      A



il veut avoir un comportement différent selon les views .
et dans son cas notamment interdit l'accès au cache des clients d'une view donnée (ce qui d'après la doc de BIND devrait être le cas hors cela ne fonctionne pas chez lui )


Message édité par mikala le 16-01-2007 à 18:01:45

---------------
Intermittent du GNU
Reply

Marsh Posté le 18-01-2007 à 15:49:47    

je dois avoir raté quelque chose dans la configuration originelle sur ma débian.  :whistle:  
 
Toujours est-il que j'ai repris le projet depuis le début. Il me semble (en tous cas, je ne vois pas où est la différence), les avoirs configurés de la même façon, mais ma nouvelle installe réagit correctement. Elle ne montre plus le contenu de son cache pour les requêtes externes.
 
Merci à tous ceux qui m'ont aidés.  :jap:


Message édité par pere castor le 18-01-2007 à 15:50:08
Reply

Marsh Posté le 18-01-2007 à 16:47:13    

fait un diff histoire de voir la différence :)


---------------
Intermittent du GNU
Reply

Marsh Posté le 19-01-2007 à 17:19:20    

la seule différence que j'ai trouvé jusqu'à présent se trouve dans le fichier /etc/bind/named.local, qui contient les zones par défaut du serveur dns. Suite à un message d'erreur qui disait que les views devraient être appliquées à toutes les zones, j'avais créé une zone view "default". Je dois m'être planté dans la partie "clients-match"

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed