[bind] Comment sécuriser / autres questions

Hellow,

J’ai mis en place la structure suivante : 2 serveurs primaires BIND9, venant tapper dans ldap pour aller chercher les infos de leur zones.

J’ai mis 2 serveurs primaires car je voudrais faire tourner devant ces 2 machines un heartbeet qui va attribuer une ip virtuelle à ce petit cluster, de façon à ce que si l’un des 2 primaires tombe, l’autre reprend le flambeau.

Ces 2 serveurs ont une adresse ip publique, ils sont vu du réseau interne et bien entendu vu de l’extérieur.

Voilà mes questions :

  1. Quand je fais un test de zone sur howismydns.com/tools.php, le tool zone report, il me dit : At least one server is missing a reverse record pointing back to its host name: No reverse records. Ce que je trouve étrange, c’est que lorsque je me place de l’exterieur, si je tape alias1.monserveurdns.com il est parfaitement vu, idem si j’essaye avec l’adresse ip. Dois-je tenir compte de cette erreur ? Sachant que ça a l’air de marcher.

  2. voilà mon named.conf.options :

[quote]
options {
directory “/var/cache/bind”;
allow-query { “any”; };
forwarders {
x.x.x.x;
x.x.x.x;
x.x.x.x;
};
allow-transfer {x.x.x.x; };
auth-nxdomain no;
listen-on-v6 { any; };
version “Indisponible”;
};[/quote]

Ce que je voudrais, c’est que mon serveur bind ne soit utilisable QUE de l’intérieur de mon réseau, mais que les gens à l’exterieur puissent quand même résoudre nos noms. Et là je m’emmele à mort les pinceaux. allow-query, j’avais mis une acl qui englobait tout mon réseau, mais là mon serveur ne permettait plus de résoudre quoi que ce soit pour quelqu’un de l’exterieur. Allow-transfer, j’ai collé ça, mais sans trop bien maîtriser à quoi ça sert.

  1. J’ai volontairement éviter de chrooter bind, j’ai un utilisateur bind, je cache la version de mon bind, que puis-je faire d’autre pour sécuriser ça davantage ?

merci !

Pour ta deuxième question:

	allow-recursion {192.168.0.0/24; 127.0.0.0/8;};
	allow-query-cache {192.168.0.0/24; 127.0.0.0/8;};

La première n’autorise la recherche récursive que pour le LAN, la deuxième l’utilisation du cache que pour le LAN.

[quote=“fran.b”]Pour ta deuxième question:

	allow-recursion {192.168.0.0/24; 127.0.0.0/8;};
	allow-query-cache {192.168.0.0/24; 127.0.0.0/8;};

La première n’autorise la recherche récursive que pour le LAN, la deuxième l’utilisation du cache que pour le LAN.[/quote]
Ahh yes, merci c’est exactement ce que je voulais :slightly_smiling:

Et sinon, concernant ce problème de no reverse record ? Personne n’a une idée ?

(Tout ça à vérifier mais ça doit être correct)
Tu as déclaré dans ta zone un serveur

agreu.fr. IN NS ns.pouet.blop.labas.

et ns.pouet.blop.labas n’est pas résolu: en clair
dig -t any ns.pouet.blop.labas ne renvoit rien.

Eh bien dig -t any ns1.monserveurdns1.com me renvoi bien toutes les infos. En fait, si je fais tous mes tests en local, tout fonctionne au poile, je résouds tout, je n’ai aucune erreur, tout a l’air de bien se passer. De l’exterieur, si je veux ping lab.monserveurdns1.com, je le ping sans problème.

Il te faut faire les tests d’une machine en extérieur…

alors, j’ai utilisé ceci : howismydns.com/tools.php avec le tool reverse lookup.

Voilà le résultat : The server is authoritative for the query target but no reverse records exist.

concrêtement, cela veut dire que l’erreur vient de ma zone reverse, c’est bien ça ?

Si oui, pourquoi le reverse fonctionnerait-il à l’intérieur de mon lan (à traverse plusieurs vlan différents) et qu’à l’extérieur, plus rien ?

Parce que tu interroges le dit DNS qui sait où il se situe. Il faut que tu fasses un «Glue record» auprès de ton gérant de domaine, en clair que tu lui déclares l’IP de ton serveur de nom.

Mhh, effectivement ça semblerait logique, mais ça a été fait :neutral_face:

Voici mon enregistrement ldap de ma zone reverse (du moins la zone publique qui me pose problème) :

[b]dn: ou=49.143.80.in-addr.arpa,ou=DNS,virtualdomain=mondomaine.biz,ou=hosting-dev,dc=mondomaine,dc=org
objectClass: organizationalUnit
objectClass: top
ou: 49.143.80.in-addr.arpa

dn: relativeDomainName=33,ou=49.143.80.in-addr.arpa,ou=DNS,virtualdomain=mondomaine.biz,ou=hosting-dev,dc=mondomaine,dc=org
objectClass: top
objectClass: dNSZone
dNSClass: IN
dNSTTL: 12
aRecord: 80.143.49.33
zoneName: 49.143.80.in-addr.arpa
relativeDomainName: 33
pTRRecord: ns1.mondomaine.biz.
pTRRecord: ns2.mondomaine.biz.

dn: relativeDomainName=34,ou=49.143.80.in-addr.arpa,ou=DNS,virtualdomain=mondomaine.biz,ou=hosting-dev,dc=mondomaine,dc=org
objectClass: top
objectClass: dNSZone
dNSClass: IN
dNSTTL: 12
aRecord: 80.143.49.34
zoneName: 49.143.80.in-addr.arpa
relativeDomainName: 34
pTRRecord: ns1.mondomaine.biz.
pTRRecord: ns2.mondomaine.biz.

dn: relativeDomainName=@,ou=49.143.80.in-addr.arpa,ou=DNS,virtualdomain=mondomaine.biz,ou=hosting-dev,dc=mondomaine,dc=org
dNSClass: IN
objectClass: top
objectClass: dNSZone
relativeDomainName: @
dNSTTL: 3600
zoneName: 49.143.80.in-addr.arpa
nSRecord: ns1.mondomaine.biz.
nSRecord: ns2.mondomaine.biz.
sOARecord: ns1.mondomaine.biz. admin.mondomaine.biz. 2010030201 2D 15M 4W 1H[/b]

(les ip sont fictives)

Je dois probablement avoir une erreur dans cette partie…

(en tout cas merci de ton aide)

Il ne s’agit pas de la zone reverse. Tu héberges le domaine toto.com et tu as le serveur DNS de ce domaine. Dans la zone tu met

[code]toto.com. IN NS ns.toto.com.

ns.toto.com. IN A 82.25.22.22[/code]

par exemple. Cela dit, comment veux tu que l’IP du serveur soit connu de l’extérieur. Pour cela, ton gérant de domaine gère un DNS dans lequel il y a un enregistrement

ns.toto.com. IN A 82.25.22.22 (le fameux «Glue record» permettant aux DNS extérieurs de casser la boucle besion de toto.com -> recherche de ns.toto;com -> besion de toto.colm -> etc.

PS: Ça serait plus simple de donner ton domaine et l’IP pour faire des tests…

Bizarre, j’arrive parfaitement à avoir les IPs de tes deux serveurs de noms, tu as combien de serveurs de noms?

J’en ai que 2, à savoir qu’il s’agit de 2 serveurs primaires (si ça a une incidence…). Dans l’absolu, tout m’a l’air de bien marcher, pourquoi j’ai cette erreur… je ne sais pas.

je viens de voire un truc : Quand j’utilise cet outil => ping.eu/rev-lookup/ avec une des 2 ip que je t’ai donné, il me renvoi l’ip que je lui ai entré, et non le nom de la machine…

Ben oui, tu ne controles pas le reverse sur ces IPs. Mais je doute que ça soit ça le souci…

J’ai trouvé un autre outil qui donne pas mal de bonnes infos : lab.celeste.fr/Outils/Test_DNS

Outre le fait qu’on soit sur la même plage, le même AS et qu’il n’y ai pas de MX de configuré, il y a quelquechose qui te choque si tu fais des tests avec mon domaine ?

edit : dnssy.com => là j’ai trouvé des erreurs concernant le glue :

[quote]Nameserver A records match parent glue: The glue provided by the parent namservers does not match the A records for the namservers. The following problems were found:

ns2.mondomaine.biz (x.x.x.33 != x.x.x.34)[/quote]

[quote]Parent glue matches your glue: The glue provided by the parent nameserver and your nameserver is different. The following differences were found:
ns1.mondomaine.biz. (x.x.x.34 != x.x.x.33)
ns2.mondomaine.biz. (x.x.x.33 != x.x.x.34)[/quote]

Hum, laisse tomber cet averstissement, j’ai testé sur deux de mes domaines et j’ai le même type d’erreurs alors que la configuration est bonne.
Je ne vois pas d’erreurs sinon, considère que c’est bon.

bon, eh bien merci du temps que tu m’as accordé :wink:

Hello,

J’ai refais un petit test ce matin…

x.x.128.12 est une machine faisant parti de mon domaine sur le réseau, je lui ai collé comme alias nagios, soit nagios.monreau.com

un host nagios.monreseau.com me renvoit :

[quote]nagios.monreseau.com is an alias for desk1.monreseau.com
desk1.monreseau.com has address x.x.128.12[/quote]

Nickel, par contre, un host x.x.128.12 me renvoit :

[quote]12.128.x.x.in-addr.arpa domain name pointer ns2.monreseau.com.
12.128.x.x.in-addr.arpa domain name pointer ns1.monreseau.com.[/quote]

C’est normal ça ? ça ne devrait pas plutôt me renvoyer le nom de la machine ?? Ou alors je n’ai pas compris ce que fais la commande host…

Idem, un dig -x ns1.monreseau.com me renvoi ça :

[quote]; <<>> DiG 9.5.1-P3 <<>> -x ns1.monreseau.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 6533
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;com.monreseau.ns1.in-addr.arpa. IN PTR

;; AUTHORITY SECTION:
in-addr.arpa. 10800 IN SOA A.ROOT-SERVERS.NET. dns-ops.ARIN.NET. 2010030216 1800 900 691200 10800

;; Query time: 70 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Mar 3 09:33:02 2010
;; MSG SIZE rcvd: 113[/quote]

Je devrais pas avoir plus d’infos ?

Hum, il y a un souci tout de même:

[code]francois@totoche:~$ host nagios.mondomaine.biz
nagios.mondomaine.biz is an alias for mondomaine-desk1.mondomaine.biz.
mondomaine-desk1.mondomaine.biz has address 10.0.0.101
francois@totoche:~$ nslookup

server ns1.mondomaine.biz
Default server: ns1.mondomaine.biz
Address: 12.34.76.33#53
10.0.0.101
Server: ns1.mondomaine.biz
Address: 12.34.76.33#53

101.0.0.10.in-addr.arpa name = ns1.mondomaine.biz.
101.0.0.10.in-addr.arpa name = ns2.mondomaine.biz.

101.0.0.10.in-addr.arpa
Server: ns1.mondomaine.biz
Address: 12.34.76.33#53

Name: 101.0.0.10.in-addr.arpa
Address: 10.0.0.101
[/code]

Je ne devrais pas avoir de réponse donnant une IP LAN. Par ailleurs, ton reverse DNS ne fonctionne pas effectivement. Ne devrais tu pas avoir 2DNS, un interne et un gérant ton domaine pour l’extérieur. C’est ce que je fais en ce qui me concerne pour une situation semblable à la tienne (gros LAN)

Dans l’immédiat, c’est l’archi qu’on m’a imposé :\

Dans mon cas, il y a donc bien une erreur côté reverse. Voici mes 2 zones, la reverse et l’autre.

[quote=“49.143.80.in-addr.arpa”][b]dn: ou=49.143.80.in-addr.arpa,ou=DNS,virtualdomain=mondomaine.biz,ou=hosting-dev,dc=mondomaine,dc=org
objectClass: organizationalUnit
objectClass: top
ou: 49.143.80.in-addr.arpa

dn: relativeDomainName=33,ou=49.143.80.in-addr.arpa,ou=DNS,virtualdomain=mondomaine.biz,ou=hosting-dev,dc=mondomaine,dc=org
objectClass: top
objectClass: dNSZone
dNSClass: IN
dNSTTL: 12
aRecord: 80.143.49.33
zoneName: 49.143.80.in-addr.arpa
relativeDomainName: 33
pTRRecord: ns1.mondomaine.biz.
pTRRecord: ns2.mondomaine.biz.

dn: relativeDomainName=34,ou=49.143.80.in-addr.arpa,ou=DNS,virtualdomain=mondomaine.biz,ou=hosting-dev,dc=mondomaine,dc=org
objectClass: top
objectClass: dNSZone
dNSClass: IN
dNSTTL: 12
aRecord: 80.143.49.34
zoneName: 49.143.80.in-addr.arpa
relativeDomainName: 34
pTRRecord: ns1.mondomaine.biz.
pTRRecord: ns2.mondomaine.biz.

dn: relativeDomainName=@,ou=49.143.80.in-addr.arpa,ou=DNS,virtualdomain=mondomaine.biz,ou=hosting-dev,dc=mondomaine,dc=org
dNSClass: IN
objectClass: top
objectClass: dNSZone
relativeDomainName: @
dNSTTL: 3600
zoneName: 49.143.80.in-addr.arpa
nSRecord: ns1.mondomaine.biz.
nSRecord: ns2.mondomaine.biz.
sOARecord: ns1.mondomaine.biz. admin.mondomaine.biz. 2010030201 2D 15M 4W 1H[/b][/quote]

Et la zone domaine.biz

[quote=“mondomaine.biz”][b]dn: ou=mondomaine.biz,ou=DNS,virtualdomain=mondomaine.biz,ou=hosting-dev,dc=mondomaine,dc=org
objectClass: organizationalUnit
objectClass: top
ou: mondomaine.biz

dn: relativeDomainName=@,ou=mondomaine.biz,ou=DNS,virtualdomain=mondomaine.biz,ou=hosting-dev,dc=mondomaine,dc=org
dNSClass: IN
objectClass: top
objectClass: dNSZone
relativeDomainName: @
dNSTTL: 3600
zoneName: mondomaine.biz
nSRecord: ns1.mondomaine.biz.
nSRecord: ns2.mondomaine.biz.
sOARecord: ns1.mondomaine.biz. admin.mondomaine.biz. 2010030201 2D 15M 4W 1H

dn: relativeDomainName=NS1,ou=mondomaine.biz,ou=DNS,virtualdomain=mondomaine.biz,ou=hosting-dev,dc=mondomaine,dc=org
dNSClass: IN
objectClass: top
objectClass: dNSZone
zoneName: mondomaine.biz
dNSTTL: 3600
relativeDomainName: NS1
aRecord: 80.143.49.33

dn: relativeDomainName=NS2,ou=mondomaine.biz,ou=DNS,virtualdomain=mondomaine.biz,ou=hosting-dev,dc=mondomaine,dc=org
dNSClass: IN
objectClass: top
objectClass: dNSZone
zoneName: mondomaine.biz
dNSTTL: 3600
relativeDomainName: NS2
aRecord: 80.143.49.34[/b][/quote]

Il y a quelquechose de faux, mais quoi, là je sèche…

rien là dedans ne parle de 10.0.0.???

Cela dit, je ne connais pas bien le fonctionnement de bind avec DNS, je n’ai géré que des fichiers statiques