Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails)

#1 Le 23/04/2013, à 16:19

bouxroute

problème sur une zone 'forward' de BIND

Hello

J'héberge certains domaines dont je ne peux pas modifier les serveurs DNS indiqués sur leur registrar respectifs. Ceux-ci pointent actuellement sur mon serveur de DNS perso "dns1.domaine.com".
Afin de faciliter la gestion de ces nombreux domaines, je suis passé sur un webservice externe de gestion de DNS ( Route 53 d'Amazon pour ne pas le citer ).

J'avais dans l'idée d'indiquer à dns1.domaine.com de forwarder toutes les demandes de résolution qu'il recevrait sur les IP d'amazon. Donc en gros:

[client: demande de résolution de truc.fr] => [dns1.domaine.com: forward de la requête sur amazon] => [amazon: résolution de la requête]

Or, voici mon problème: bind est sécurisé pour ne pas être "ouvert" à la résolution de n'importe quel domaine, avec dans le named.conf.options :

allow-query { localhost;};    
allow-recursion { localhost; };
allow-transfer {none;};

...ce qui oblige à autoriser les demandes de résolutions zone par zone, et donc uniquement des domaines qu'on héberge. Exemple sur named.conf:

zone "exemple.fr" IN {
       type master;
       file "/etc/bind/exemple.fr";
       allow-query {any;};
};

Le résultat obtenu: depuis une machine extérieure, on arrive bien à résoudre notre domaine hébergé, mais pas un domaine inconnu de named.conf ( 'google.fr' dans l'exemple ci-dessous ):

# dig @dns1.domaine.com www.exemple.fr

; <<>> DiG 9.7.3 <<>> @dns1.domaine.com www.exemple.fr
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62893
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.exemple.fr.               IN      A

;; ANSWER SECTION:
www.exemple.fr.    36000   IN      A       123.456.78.90


# dig @dns1.domaine.com www.google.fr

; <<>> DiG 9.7.3 <<>> @dns1.klikissi.com www.google.fr
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 63145
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.google.fr.                 IN      A

Jusque là, tout est normal. J'en viens à mon soucis de zone 'forward'. Celle-ci ressemble à ça dans named.conf:

zone "exemple2.fr" IN {
  type forward;
  forward only;
  forwarders { 205.251.192.140; 205.251.196.27; 205.251.199.225; 205.251.195.11; }; 
};

...mais voilà, avec ma configuration 'fermée' de named.conf.options, impossible d'obtenir une réponse depuis une machine extérieure:

# dig @dns1.domaine.com www.exemple2.fr

; <<>> DiG 9.7.3 <<>> @dns1.domaine.com www.exemple2.fr
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 1725
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.exemple2.fr.           IN      A

Suivant la logique générale, je devrais pouvoir indiquer spécifiquement à la zone concernée que le domaine doit être résolu depuis l'extérieur, donc avec par exemple:

zone "exemple2.fr" IN {
  allow-query {any;};
  type forward;
  forward only;
  forwarders { 205.251.192.140; 205.251.196.27; 205.251.199.225; 205.251.195.11; }; 
};

malheureusement cette option n'est pas valide pour les type 'forward', comme le signale le syslog:

named[2959]: /etc/bind/named.conf:49: option 'allow-query' is not allowed in 'forward' zone 'exemple2.fr'

Donc, comment faire en sorte que cette zone soit résolvable sans pour autant retirer mes sécurités globales dans named.conf.options ?

merci d'avance pour votre aide.

Hors ligne

Haut de page ↑