Professional Documents
Culture Documents
COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Chaque serveur de domaine dispose de toutes les informations relatives la zone qu'il contrle ainsi que des informations de base sur les autres zones.
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Quand une requte est envoye en dehors de la zone d'autorit, le serveur sait au minimum o chercher. Cela signifie que la requte peut avoir transiter par plusieurs serveurs de domaine avant d'atteindre la destination finale.
Exemple: www.labo-linux.com est le nom complet de l'hte www appartenant au domaine labo-linux.com.
Description Conserve les enregistrements originaux et fait autorit pour un espace de noms. Reoit ses informations des serveurs matres Ne fait pas autorit, ce type de serveur sert juste de cache afin d'acclrer le temps de rponse.
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Forwarding Fait suivre des requtes une liste spcifique de serveur de noms
2. Installation et configuration de Bind
BIND fournit un service de resolution de nom grace au service /usr/sbin/named. Il utilise comme fichier de configuration :
/etc/named.conf : le fichier de configuration du service named /var/named/ : le repertoire de travail de named ou sont stokes les fichers de zone, de cache, etc...
La configuration des paramtres de compilation. La compilation en elle-mme. L'installation des binaires, documentations et fichiers de configuration par dfaut.
Pour la configuration des paramtres de compilation, il faut entrer dans le rpertoire racine des sources de BIND (ici "/tmp/bind-9.2.0"), et excuter la commande "./configure". La commande "./configure" peut contenir un ou plusieurs paramtres tels que :
"--with-openssl" : Pour le support du DNSSEC, qui est un canal OpenSSL (version 0.9.5a minimum) permettant de faire transiter le trafic de rplication de zones entre serveurs DNS primaire et secondaire(s). "--enable-threads" : Ajoute le support pour le multithreading, pour pouvoir tirer partie des systmes multi-processeurs. "--with-kame" : Support de IPv6, s'il n'est pas pris en charge par dfaut par le systme install.
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Il existe beaucoup d'autres paramtres, dont nous ne parlerons pas, mais dont on peut avoir le listing et la description avec la commande "./configure --help". La compilation en elle-mme s'effectue en utilisant la commande :
make
Il ne reste plus qu' installer les binaires compils, ainsi que les documentations dans les rpertoires appropris avec la commande :
make install
Une fois ces tapes accomplies, Bind est prsent install et prt tre configur.
["<dclaration-1-nom>"]
[<dclaration-1-classe>]
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
<nom_de_la_liste>
{ ...]
any : toutes les addresses IP localhost : toutes les IP utilises par le serveur localnets : tous les rseaux directement connects au serveur none : aucune IP
bad_network
my_network
{ }; }; };
Les inclusions L'un des problmes de scurit du service named est que le fichier /etc/named.conf est accessible en lecture par tous les utilisateurs. Les inclusions sont utilises afin de pouvoir stocker des informations critiques dans des fichiers spars et accs restreint puis de pouvoir les utiliser depuis named.conf. La syntaxe est la suivante :
include
"<nom-fichier>"
Les options Ce type de dclaration fournit les options gnrales de configuration du serveur et tablit les valeurs par dfaut pour les autres dclarations
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
{ ...]
options
utilisation allow-query Dfinit les htes autoriss faire des requtes sur le serveur
Dfinit les htes autoriss des faire des demandes rcursives Dfinit les htes qui ne sont pas autoriss Dfinit le rpertoire de travail (/var/named par dfaut) Contrle le comportement de retransmission d'une directive forwarders. Les options suivantes sont acceptes :
forward
first : les serveurs de noms spcifis dans la directive forwarders sont interrogs avant que named ne tente de rsoudre le nom luimme. only : named ne doit pas tenter d'effectuer lui-mme une rsolution dans le cas o des demandes vers les serveurs spcifis dans la directive forwarders choueraient.
forwarders Dfinit les IPs des serveurs o doivent tre forwards les requtes listen-on Spcifie l'interface rseau utiliser (toutes par dfaut)
Dfinit si le service envoie une notification aux serveurs esclaves lors d'une mise jour :
notify
yes : notification bo : pas de notification explicit : notification envers les serveur esclaves spcifis dans une liste also-notify l'intrireur d'une dclaration de zone
pid-file statisticsfile
Dfinit l'emplacement du fichier de PID cre par named Dfinit l'emplacement du fichier de statistiques (par dfaut /var/named/stats)
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
acl
"labo-linux"
127.0.0.1;
192.168.1.0/24;
};
# #
Les
DNS
192.168.1.1;
}; "named.pid";
Les dclarations de zone Ce type de dclaration permet de dfinir les caractristiques d'une zone :
<zone-classe>
{ ...]
Options Utilisation
Quels client sont autoriss obtenir des informations pour cette zone Quels serveurs esclaves sont autoriss a demander un transfert des informations de cette zone Quels htes sont autoriss mettre jour dynamiquement les informations de cette zone Nom du fichier de configuration de la zone dans le rpertoire de travail Liste des IPs faisant autorit ou demander des informations sur la zone
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Dfinit si le service envoie une notification aux serveurs esclaves lors d'une mise jour :
notify
Yes : notification No : pas de notification Explicit : notification envers les serveur esclaves spcifis dans une liste also-notify l'intrireur d'une dclaration de zone
type
forward : retransmet toutes les requtes d'informations propos de cette zone vers d'autres serveurs de noms hint : un type spcial de zone utilis pour diriger des transactions vers les serveurs de noms racines qui rsolvent des requtes lorsqu'une zone n'est pas connue autrement. Aucune configuration au-del de la valeur par dfaut n'est ncessaire avec une zone hint. master : dsigne le serveur de noms faisant autorit pour cette zone. Une zone devrait tre configure comme de type master (matre) si les fichiers de configuration de la zone se trouvent sur le systme. slave : dsigne le serveur de noms comme serveur esclave pour cette zone. Cette option spcifie galement l'adresse IP du serveur de noms matre pour cette zone.
zoneConfigure named pour qu'il conserve des statistiques concernant cette statistics zone
Illustrons cela avec deux exemples, le premier dans le cas d'un serveur matre et le second pour un serveur esclave
Cas
du
serveur "."
matre
: { hint; "named.root";
"labo-linux.com" {
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Cas
du
serveur "labo-linux.com"
esclave
labo-linux.com.zone 192.168.0.1;
: { slave; ; };
Nous avons ici dfinit notre serveur en tant que matre pour la zone labo-linux.com et avons indiqu named de refuser la mise jour partir de n'importe quel hte. Nous avons galement indiqu que le fichier comportant le dtail de la zone serait labo-linux.com dans /var/named. Une fois la configuration du fichier /etc/named.conf, il nous faut prsent crer et dfinir les fichiers de zone.
Des directives : Ce sont des instructions pour l'excution de certaines taches ou de paramtres spciaux Des enregistrements de ressources : des dfinitions des paramtres de la zone et assignation des identits aux htes.
Concernant le syntaxe, il est important que chaque information soit sur sa Note: propre ligne, les commentaires doivent se situer en fin de linge aprs les caractres ;
Les directives de fichiers de zone Pour insrer une directive ; de prfrence au dbut du fichier ; il convient d'utiliser le symbole $ suivi du nom de la directive. Les directives les plus courantes sont :
Directive Utilisation $INCLUDE Utilis pour inclure un autre fichier de zone l'intrieur Attache le nom de domaine tout enregistrement non qualifi (ne $ORIGIN finissant pas par un . )
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
$TTL
Dure en seconde pendant laquelle pendant laquelle les enregistrements seront valides
Syntaxe <hte> IN
: A <adresse IP>
Exemple :
dc1
IN IN
A 192.168.10.2
192.168.10.1
Les enregistrements de type CNAME L'enregistrement CNAME est un alias redirigeant vers un autre nom d'hte
Syntaxe <alias>
: IN CNAME <nom>
Exemple :
dc1 serveur IN
IN CNAME
A dc1
192.168.10.2
Les enregistrements de type MX Le but de ces enregistrements est de rediriger le courier destination de ce domaine vers un ou plusieurs serveurs de courriers par dfaut.
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Dans le cas de plusieurs serveurs de messagerie, le champ prfrence permet d'attribuer une priorit.
Syntaxe IN : MX <prfrence> <nom-serveur>
Exemple :
IN IN
MX MX
20
10 mail2.labo-linux.com.
mail.labo-linux.com.
Note: Le '.' A la fin du nom est important car il indique que le nom spcifi est complet.
Les enregistrements de type NS Cet enregistrement annonce les serveurs de noms faisant autorit pour une zone.
Syntaxe IN
: NS Serveur
Exemple :
IN IN
NS
NS backup-dns.labo-linux.com.
main-dns.labo-linux.com.
Les enregistrements de type SOA Utilis pour indiquer les informations importantes au sujet de cet espace de nom, cet enregistrement est le premier insrer aprs les directives. La syntaxe est la suivante :
<serveur-noms-primaire>
<email>
essai>
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
<temps-expiration> <TTL-minimum> )
Le symbole @ place la directive $ORIGIN (ou le nom de zone, si la directive $ORIGIN n'est pas installe) en tant qu'espace de nom dfini par le prsent enregistrement de ressources SOA. <serveurs-noms-primaire> : le serveur faisant autorit <email> : l'adresse de la personne contacter propos de cet espace de noms <numro-srie> : incrment chaque changement du le fichier de zone afin que named sache qu'il doit recharger cette zone. Cela est utilise par le serveur esclave pour dterminer s'il est en train d'utiliser des donnes de zone primes et doit donc les rafrachir. <temps-actualisation> : indique tout serveur esclave combien de temps il doit attendre avant de demander au serveur de noms matre si des changements ont t effectus dans la zone. <temps-nouvel essai> : prcise au serveur de noms esclave l'intervalle pendant lequel il doit attendre avant d'mettre une autre requte de rafrachissement, au cas o le serveur de noms matre ne rpondrait pas. <temps-expiration> : temps maximum depuis une abscence de rponse du serveur matre avant que le serveur esclave ne cesse de rpondre en tant qu'autorit pour les requtes au sujet de cet espace de nom. <TTL-minimum> : demande que d'autres serveurs de noms placent en cache les informations pour cette zone pendant au moins cette dure (en secondes).
Toutes les dures sont exprimes en secondes, cependant les mots cls tels que M, H, D et W (semaine) fonctionnent. Voici prsent un exemple d'application :
@ IN hostmaster.labo-linux.com. 02050500 3H 1800 604800 3D ) IN IN dns www ftp mail pop smtp imap imprimante IN IN IN IN IN IN IN IN NS MX A CNAME A A CNAME CNAME CNAME A
; ; ; ; ; 10
dns.labo-linux.com. ( numro de srie rafraichir aprs 3 heures retenter aprs 30 minutes expire aprs 1 semain TTL minimum de 3 jours dns.labo-linux.com. mail.labo-linux.com. 192.168.1.1 dns.labo-linux.com. 192.168.1.2 192.168.1.3 mail.labo-linux.com. mail.labo-linux.com. mail.labo-linux.com. 192.168.1.4
SOA
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
tftp routeuradsl
IN IN
A A
192.168.1.5 192.168.1.254
A prsent que notre fichier de zone est prt, il nous faut prsent nous occuper du fichier de zone inverse.
Exemple : l'adresse IP de www.labo-linux.com est 212.180.91.66. Son nom de domaine invers est donc 66.91.128.212.in-addr.arpa
Afin de comprendre le fonctionnement et la ncessit de ce nom invers, prenons un exemple concret : Votre serveur FTP accepte des requtes de divers clients. Cependant vous ne souhaitez n'accepter que des requtes provenant de domaines bien spcifiques, par exemple labo-linux.com. Lorsqu'un client se connecte chez vous, votre serveur peut vous dire quelle est l'adresse IP du client, puisque cette dernire se trouve dans tous les paquets qui traversent le rseau. L'adresse IP que le systme fournit au serveur FTP est 212.180.91.66. Pour retrouver le nom de cette machine, il nous faut trouver 66.91.180.212.in-addr.arpa. Le serveur de noms va donc d'abord trouver les serveurs puis les serveurs arpa., puis in-addr.arpa, et poursuivre la recherche inverse par 212, puis 180 et finalement trouver le serveur pour la zone 91.128.212. in-addr.arpa a labo-linux.com
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
C'est ce dernier qui lui dira que pour 66.91.180.212.in-addr.arpa nous avons un champ ``PTR www.labolinux.com'', ce qui veut dire que le nom qui va avec 212.180.91.66 est www.labo-linux.com. Notre serveur n'acceptant que certain domaines dont labo-linux.com, la connexion sera donc autorise. S'il n'existait pas de rsolution inverse de 212.180.91.66 au travers de la zone in-addr.arpa, le serveur aurait t tout fait incapable de trouver le nom et donc de filtrer en fonction du nom de domaine. De nombreux serveurs n'acceptent pas les connexions venant de machines dont ils ne peuvent retrouver le nom. C'est pourquoi la rsolution de noms inverse pour les machines est obligatoire.
Exemple :
IN
SOA ; ; ; ;
1.168.192.in-addr.arpa 86400 dns.labo-linux.com. hostmaster.labo( numro de srie rafraichir aprs 3 heures retenter aprs 30 minutes expire aprs 1 semain
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
TTL
minimum
de
jours
20 21 22 23 24 25
"1.0.10.in-addr.arpa" {
IN
-c {config_file} : Permet de spcifier l'emplacement et le nom du fichier de configuration principale. -v : Affiche la version de BIND. -u {user_name} : Force BIND dmarrer sous un compte particulier, car BIND dmarre par dfaut en utilisant le compte root. -t {directory} : Option utilis lorsque l'on dmarre BIND dans une SandBox (cf. chapitre correspondant).
named-checkconf : Vrifie le fichier de configuration principale et affiche les erreurs de syntaxe trouves. named-checkzone : Idem mais pour les fichiers de zone.
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
Afin de prvenir d'accs non autoriss au dmon, BIND utilise une mthode de cl secrte partage pour accorder des privilges aux htes. Dans une telle situation, une cl identique doit tre prsente aussi bien dans /etc/named.conf que dans le fichier de configuration de rndc, savoir /etc/rndc.conf
controls inet };
127.0.0.1
allow
localhost;
keys
<nom-cl>;
{ };
Cette dclaration indique named de se mettre l'coute du port TCP 953 par dfaut de l'adresse inverse et d'autoriser les commandes rndc provenant de l'hte local, si la cl adquate est prsente. Le <nomcl> fait rfrence la dclaration key, qui se trouve aussi dans le fichier /etc/named.conf. L'exemple suivant illustre une dclaration key.
"<nom-cl>"
{ hmac-md5; "<valeur-cl>";
Dans ce cas, la <valeur-cl> est une cl HMAC-MD5. Afin de crer des cls HMAC-MD5, utilisez la commande suivante :
Une cl d'au moins 256 bits de long est un bon choix. La bonne cl qui doit tre place dans la zone <valeur-cl> se trouve dans <nom-fichier-cl>.
Il est conseill de mettre la dclaration de cl dans un fichier spar Note: uniquement accessible par root et de l'appeler via un include : include
"/etc/rndc.key";
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
"<nom-cl>"
{ hmac-md5; "<valeur-cl>";
Les lments <nom-cl> et <valeur-cl> doivent tre absolument identiques leurs paramtres contenus dans /etc/named.conf. Pour faire correspondre les cls spcifies dans le fichier /etc/named.conf du serveur cible, ajoutez les lignes suivantes au fichier /etc/rndc.conf.
{ localhost; "<nom-cl>";
Lors de l'excution de rndc sur un hte local configur de faon approprie, les commandes suivantes sont disponibles :
Effet Arrt du service named Logging de toutes les requtes Rafraichissement de la base de donnes Recharge les fichiers de zone mais conserve toutes les rponses prcdemment places en cache. Evacue les statistiques courante de named vers le fichier /var/named/named.stats Arrte le serveur de manire nette, en enregistrant pralablement toute mise jour dynamique et donne Incremental Zone Transfers (IXFR). Permet de selectionner le fichier de configuration a utiliser
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
configuration> -p <numro-port> Permet de spcifier le numro de port utiliser -s <serveur> Permet d'envoyer les instructions un serveur spcifique Spcifie une cl autre que l'option default-key dans le fichier -y <nom-cl> /etc/rndc.conf. Note: Si vos changements n'affectent qu'une zone particulire, rechargez seulement une zone en ajoutant le nom de la zone aprs la commande reload.
4. Scurisation du serveur
Le but de la Sand Box, en cas d'attaque pirate, est de limiter l'accs seulement une infime partie du systme de fichiers. Pour cela, nous allons dmarrer le daemon de BIND dans un environnement chroot. L'effet obtenu sera de faire croire BIND que son repertoire sera sa propre racine de systme de fichiers. Nous allons voir comment scuriser le DNS via la mise en place d'une SandBox. Pour cela, il va falloir procder quelques modifications :
Crer un utilisateur non-privilgi pour faire fonctionner BIND. Changer le propritaire des fichiers de BIND. Crer un fichier PID dans notre environnement chroot. Modifier le fichier de configuration principal. Dmarrer BIND avec les bons paramtres.
Commenons la creation de l'utilisateur non-privilgi. Nous avons choisi d'utiliser le compte dns (UID = 1005). Nous crons maintenant le fichier PID pour bind, avec la commande "touch named.pid". Le changement de propritaire des fichiers de BIND (prsents dans le rpertoire "/etc/namedb") se fait grce la commande "chown dns *" dans le rpertoire de base de BIND. Les modifications qu'il faut apporter au fichier de configuration principale sont les suivantes :
La dernire modification concerne les paramtres de dmarrage. Il suffit pour cela de mettre "-u 1005 -t /etc/namedb -c named.conf" en tant que paramtre pour l'option "named_flags" du fichier "/etc/rc.conf", au lieu de "-c /etc/namedb/named.conf". Il ne nous reste plus qu' redmarrer le serveur afin que le service DNS soit entirement fonctionnel avec toutes les dernires modifications.
5. Annexes
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
zone type file allow-update 127.0.0.1; }; }; # La zone type file allow-update 127.0.0.1; }; };
"labo-linux.com"
{ master; "/var/named/labo-linux.zone"; {
Note: Il est important que les machines s'enregistrant sur le DNS n'aient pas dj une entre dans les fichiers de zones.
Modifications apporter /etc/dhcpd.conf :
de
mise
jour jour
du
jour
par jour
le des
serveur IP
# la mise update-static-leases
fixes
force on;
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
# on dfinit galement quel DNS doit tre mis jour pour ces zones : zone labo-linux.com. { primary 127.0.0.1; } zone primary } 10.168.192.in-addr.arpa. { 127.0.0.1;
Modifications pour les clients Linux Ajoutez la ligne suivante dans /etc/dhclient.conf :
acl "labo-linux" options directory forwarders 193.252.19.3; 193.252.19.4; }; allow-query }; zone type file }; zone type file
127.0.0.1;
192.168.1.0/24;
}; { "/etc/namedb"; {
"0.0.127.IN-ADDR.ARPA"
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
}; zone type file }; zone type file }; "labo-linux.com" { master; "labo-linux.zone"; { master; "1.168.192.in-addr.arpa";
"1.168.192.in-addr.arpa"
/var/named/labo-linux.zone
@ linux.com. 02050500 10800 1800 3600000 259200 dns www ftp mail routeuradsl passerelle
IN
SOA
dns.labo-linux.com.
hostmaster.labo(
) IN IN IN IN IN IN IN NS MX A CNAME A A IN CNAME dns.labo-linux.com. 10 192.168.1.1 dns.labo-linux.com. 192.168.1.2 192.168.1.3 A 192.168.1.254 routeuradsl.labo-linux.com. mail.labo-linux.com.
/var/named/localhost.rev
SOA
dns.labo-linux.com. (
NS localhost.
) labo-linux.com.
WWW.RESEAUMAROC.COM
Cours/formation /Video en informatique: Linux,Cisco,2003 Server,securit,Rseaux. Contact : tssri-reseaux@hotmail.fr TEL : 00212669324964
options directory allow-query { allow-transfer{ allow-recursion{192.168.1.0/24; }; controls inet }; zone type file }; zone type file allow-update }; zone type file allow-update }; 127.0.0.1 allow "." {
192.168.1.0/24; 192.168.1.0/24;
{ "/var/named"; }; }; }; { };
localhost;
keys IN
rndckey;
"localhost" { "0.0.127.in-addr.arpa" {
none;
none;
include "/etc/rndc.key";