Bind9 – Utiliser les vues

Bonjour, aujourd’hui je vais vous montrer comment utiliser les vues (view) de Bind9 pour sécuriser votre serveur DNS ou pour d’autres applications, comme ce cas :
On a un serveur avec plusieurs interfaces et @IP dans des réseaux différents qui doit répondre sous un nom précis commun à tous les réseaux ; avec un seul serveur DNS.
Dans un prochain billet, je vous montrerai une autre méthode plus simple pour réaliser cela.

On va donc « splitter » notre/nos zone(s) afin de choisir la partie correspondante en fonction de l’adresse source de la requête.
Exemple : le serveur à comme nom « sauvegarde.mondomaine.fr » avec les IPs suivantes :
192.168.0.20/24
192.168.1.20/24
192.168.3.20/24

Objectif :
Si la machine qui demande la résolution « sauvegarde.mondomaine.fr » est dans le réseau 192.168.0.0/24 elle devra recevoir l’adresse 192.168.0.20
Si la machine qui demande la résolution « sauvegarde.mondomaine.fr » est dans le réseau 192.168.1.0/24 elle devra recevoir l’adresse 192.168.1.20
Si la machine qui demande la résolution « sauvegarde.mondomaine.fr » est dans le réseau 192.168.2.0/24 elle devra recevoir l’adresse 192.168.2.20

Exemple de configuration de 3 vues :

//Dns dynamique
acl "res0" {192.168.0.0/24;};
acl "res1" {192.168.1.0/24;};
acl "res2" {192.168.2.0/24;};
 
view "reseau0" {
        match-clients { "res0"; };
        recursion yes;
        zone "mondomaine.fr" {
                type master;
                file "/etc/bind/mondomaine.fr.zone.res0";
        };
};
 
view "reseau1" {
        match-clients { "res1"; };
        recursion yes;
        zone "mondomaine.fr" {
                type master;
                 file "/etc/bind/mondomaine.fr.zone.res1";
        };
};
 
view "reseau2" {
        match-clients { "res2"; };
        recursion yes;
        zone "mondomaine.fr" {
                type master;
                 file "/etc/bind/mondomaine.fr.zone.res2";
        };
};
view "external" {
        match-clients { any; };
        recursion no;
 
        zone "." {
                type hint;
                file "/etc/bind/db.root";
        };
        zone "localhost" {
                type master;
                file "/etc/bind/db.local";
        };
        zone "127.in-addr.arpa" {
                type master;
                file "/etc/bind/db.127";
        };
        zone "0.in-addr.arpa" {
                type master;
                file "/etc/bind/db.0";
        };
        zone "255.in-addr.arpa" {
                type master;
                file "/etc/bind/db.255";
        };
};

Exemple de fichier de zone (/etc/bind/mondomaine.fr.zone.common) :

;
; BIND data file for mondomaine.fr
;
$TTL    604800
@       IN      SOA     monSrvDns hostmaster.mondomaine.fr. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@               IN      NS      hv-1
mondomaine.fr.   IN      MX      10 mail
 
monSrvDns            IN      A       192.168.0.171
mail                     IN      A       192.168.0.180

Exemple de fichier de zone (/etc/bind/mondomaine.fr.zone.res0) :

include "/etc/bind/mondomaine.fr.zone.common";
sauvegarde           IN      A       164.81.0.20

Exemple de fichier de zone (/etc/bind/mondomaine.fr.zone.res1) :

include "/etc/bind/mondomaine.fr.zone.common";
sauvegarde           IN      A       164.81.1.20

Exemple de fichier de zone (/etc/bind/mondomaine.fr.zone.res2) :

include "/etc/bind/mondomaine.fr.zone.common";
sauvegarde           IN      A       164.81.2.20

Comme vous l’aurez compris, j’ai choisi d’utiliser un fichier commun pour éviter les enregistrements redondants.

Une telle configuration peut aussi servir a accroitre la sécurité. En effet, dans le(s) fichier(s) de zone de la vue « external » vous pouvez limiter les enregistrements vu depuis un réseau extérieur (autre que 192.168.0.0/24, 192.168.1.0/24, 192.168.2.0/24).

N’hésitez pas à commenter si vous avez des questions / améliorations.

Cette entrée a été publiée dans Système, avec comme mot(s)-clef(s) , , , , , , , , , . Vous pouvez la mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Please copy the string tkqYfj to the field below: