Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
reseau:dns:dnslan [2023/10/04 22:57] techer.charles_educ-valadon-limoges.fr [Modification du fichier /etc/bind/named.conf.options] |
reseau:dns:dnslan [2023/11/17 11:22] (Version actuelle) techer.charles_educ-valadon-limoges.fr [Sécuriser le serveur DNS] |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
Pour chaque agence, il est nécessaire d’installer et configurer : | Pour chaque agence, il est nécessaire d’installer et configurer : | ||
* le serveur DNS ayant autorité sur le domaine **< | * le serveur DNS ayant autorité sur le domaine **< | ||
- | * le serveur DNS ayant autorité sur la zone **lan.< | + | * le serveur DNS ayant autorité sur la zone **lan.< |
* le résolveur récursif dans un conteneur Debian appelé **dns0** situé dans le **VLAN Utilisateur**. | * le résolveur récursif dans un conteneur Debian appelé **dns0** situé dans le **VLAN Utilisateur**. | ||
Vous devez : | Vous devez : | ||
- | - Mettre en place les serveurs DNS de votre agence. | + | - Mettre en place les serveurs DNS de votre agence: |
+ | - serveur DNS ns0.< | ||
+ | - serveur DNS ns0.lan.< | ||
+ | - résolveur DNS dns0 dans le réseau Utilisateur (LAN) avec l' | ||
- Procéder aux ajouts nécessaires sur le pare-feu pour le cas particulier du réseau Wan-CUB pour permettre notamment l’accessibilité des serveurs DNS et Web. | - Procéder aux ajouts nécessaires sur le pare-feu pour le cas particulier du réseau Wan-CUB pour permettre notamment l’accessibilité des serveurs DNS et Web. | ||
- Vérifier le fonctionnement des services DNS et Web. | - Vérifier le fonctionnement des services DNS et Web. | ||
- | <WRAP center round info> | ||
- | **Attention** : lors des tests, il est nécessaire de vider le cache DNS et le cache de votre navigateur pour les tests sur le serveur Web (ou réaliser les tests en navigation privée). | ||
- | |||
- | Par exemple : | ||
- | À partir du résolveur (pour le domaine et le sous domaine) : | ||
- | < | ||
- | root@resolvDNSGaleway: | ||
- | ok removed 4 rrsets, 4 messages and 0 key entries | ||
- | root@resolvDNSGaleway: | ||
- | ok removed 0 rrsets, 1 messages and 0 key entries | ||
- | |||
- | ou | ||
- | root@resolvDNSGaleway: | ||
- | </ | ||
- | |||
- | À partir de n’importe quel Debian ou Ubuntu : | ||
- | < | ||
- | systemctl restart networking | ||
- | </ | ||
- | |||
- | La commande **dig** est plus verbeuse pour dépanner le service DNS que la commande **nslookup**. | ||
- | |||
- | </ | ||
==== Liste des tâches que vous devez effectuer ==== | ==== Liste des tâches que vous devez effectuer ==== | ||
=== Tâche à faire sur le serveur DNS ns0 === | === Tâche à faire sur le serveur DNS ns0 === | ||
Ligne 86: | Ligne 66: | ||
Vous devez renseigner ce fichier pour tous les ordinateurs du réseau, PC et serveurs et même votre serveur DNS ns0 qui est aussi une machine cliente de son propre service DNS. Cette VM peut avoir besoin de trouver une IP à partir d’un nom. | Vous devez renseigner ce fichier pour tous les ordinateurs du réseau, PC et serveurs et même votre serveur DNS ns0 qui est aussi une machine cliente de son propre service DNS. Cette VM peut avoir besoin de trouver une IP à partir d’un nom. | ||
- | Vous allez indiquer également le domaine dans lequel vous êtes situés (domain) et comment compléter un nom DNS si on n' | + | Vous allez indiquer également le domaine |
< | < | ||
root@ns0:~# nano / | root@ns0:~# nano / | ||
domain agence.cub.fr | domain agence.cub.fr | ||
search agence.cub.fr | search agence.cub.fr | ||
- | nameserver | + | nameserver |
</ | </ | ||
Ligne 109: | Ligne 89: | ||
==== Modification du fichier / | ==== Modification du fichier / | ||
Editez le fichier **/ | Editez le fichier **/ | ||
- | * désactiver la récusivité, | + | * désactiver la récursivité, |
- | * indiquer l' | + | * indiquer l' |
< | < | ||
options { | options { | ||
directory "/ | directory "/ | ||
- | listen-on port 53 { 127.0.0.1; 172.16.10.10; }; | + | listen-on port 53 { 127.0.0.1; 172.16.x.10; }; |
// If there is a firewall between you and nameservers you want | // If there is a firewall between you and nameservers you want | ||
// to talk to, you may need to fix the firewall to allow multiple | // to talk to, you may need to fix the firewall to allow multiple | ||
Ligne 148: | Ligne 128: | ||
}; | }; | ||
- | // zone de résolution inverse | ||
- | zone " | ||
- | type master; | ||
- | file "/ | ||
- | }; | ||
</ | </ | ||
Ligne 162: | Ligne 137: | ||
|}; | |}; | ||
- | La zone suivante porte la mention « **in-addr.arpa** » qui indique la zone inverse. Cette zone inverse permet au serveur de fournir un nom d’hôte à partir d’une adresse IP. | ||
- | |||
- | Cette fonctionnalité est rendue nécessaire par certains services réseau. Le nom de la zone répond à une structure très précise. Le début du nom de la zone est constitué par le préfixe réseau de l’adresse IP. Les conventions sont les suivantes : | ||
- | |||
- | * Pour les réseaux IP de classe A (a.0.0.0), il faut un fichier de zone inverse a.in-addr.arpa; | ||
- | * Pour les réseaux IP de classe B (a.b.0.0), il faut un fichier de zone inverse b.a.in-addr.arpa; | ||
- | * Pour les réseaux IP de classe C (a.b.c.0), il faut un fichier de zone inverse c.b.a.in-addr.arpa | ||
- | |||
- | Notez bien au passage l’inversion des octets ! | ||
- | |||
- | Pour le contexte CUB, et compte tenu du sous-réseau il faut un fichier de zone inverse c.b.a.in-addr.arpa; | ||
=== Création du fichier de zone maître === | === Création du fichier de zone maître === | ||
Ligne 184: | Ligne 148: | ||
agence.cub.fr. | agence.cub.fr. | ||
2006031201 | 2006031201 | ||
- | 1D. ; refresh | + | 1D ; refresh |
- | 1H. ; retry | + | 1H ; retry |
- | 1W. ; expire | + | 1W ; expire |
3H) ; Negative Cache TTL | 3H) ; Negative Cache TTL | ||
agence.cub.fr. IN NS ns0.agence.cub.fr. | agence.cub.fr. IN NS ns0.agence.cub.fr. | ||
- | ns0 IN A 111.222.333.444 | + | ns0 IN A 172.162.x.10 |
- | www IN. A. | + | www IN A 172.162.x.11 |
- | dhcp | + | dhcp |
</ | </ | ||
Ligne 212: | Ligne 176: | ||
</ | </ | ||
- | === Création du fichier de zone inverse === | ||
- | |||
- | Le fichier de zone inverse (/ | ||
- | < | ||
- | $TTL 3D | ||
- | @ IN SOA ns0.agence.cub.fr. root.agence.cub.fr. ( | ||
- | 2006031201 | ||
- | 28800 ; refresh | ||
- | 14400 ; retry | ||
- | 3600000 | ||
- | 86400 ) ; minimum | ||
- | |||
- | NS ns0.agence.cub.fr. | ||
- | 444 PTR ns0.agence.cub.fr. | ||
- | 445 PTR dhcp.agence.cub.fr. | ||
- | </ | ||
- | Les informations sont sensiblement identiques. La différence réside sur les enregistrements décrivant les machines. On indique la fin de l’adresse IP. PTR indique qu’il s’agit d’un enregistrement inverse. | ||
- | |||
- | Ensuite, on indique le nom FQDN des machines suivi d’un point. | ||
- | |||
- | === Configurer la résolution DNS récursive. === | ||
- | |||
- | Quand le serveur DNS va recevoir une requête pour laquelle il n’a pas de réponse, ce qui est le cas pour accéder à des serveurs sur Internet, il va transmettre la requête aux serveurs listés dans le paramètre **forwarders**. En principe on indique le serveur **DNS** de son **FAI**. Vous pouvez aussi pour cet atelier mettre les serveurs DNS publics **8.8.8.8** ou **8.8.4.4** ou **1.1.1.1**ou **9.9.9.9**. | ||
- | |||
- | <WRAP center round info> | ||
- | |||
- | Pour information, | ||
- | |||
- | * modifiez le fichier **/ | ||
- | < | ||
- | Options { | ||
- | … | ||
- | dnssec-validation no; | ||
- | //recursion no; | ||
- | … | ||
- | }; | ||
- | |||
- | </ | ||
- | |||
- | Rajouter dans le fichier **/ | ||
- | < | ||
- | Options { | ||
- | … | ||
- | forwarders { | ||
- | | ||
- | }; | ||
- | … | ||
- | }; | ||
- | </ | ||
- | </ | ||
=== Test de la configuration === | === Test de la configuration === | ||
- | Utilisez la commande suivante pour tester | + | Utilisez la commande suivante pour tester |
<code shell> | <code shell> | ||
# named-checkconf -z | # named-checkconf -z | ||
Ligne 270: | Ligne 184: | ||
==== Sécuriser le serveur DNS ==== | ==== Sécuriser le serveur DNS ==== | ||
- | Par défaut le **serveur DNS** ne va répondre qu’aux requêtes des clients **situés sur le même sous-réseau** qui est ici **192.168.xxx.xxx/xx**. Cela permet de limiter les attaques basées sur le service DNS. Pour autoriser des clients d' | + | Par défaut le **serveur DNS** ne va répondre qu’aux requêtes des clients **situés sur le même sous-réseau** qui est ici **192.168.x.0/24**. Cela permet de limiter les attaques basées sur le service DNS. Pour autoriser des clients d' |
< | < | ||
Options { | Options { | ||
… | … | ||
allow-query { | allow-query { | ||
- | 192.168.xxx.yyy/24; | + | 192.168.x.0/24; |
+ | 172.16.x.0/24; | ||
} ; | } ; | ||
… | … | ||
}; | }; | ||
</ | </ | ||
- | allow-query { 192.168.1/ | ||
- | |||
Ligne 297: | Ligne 210: | ||
Ensuite, lancez le serveur en mode débogage, vous aurez déjà pas mal d’informations sur les éventuels problèmes : | Ensuite, lancez le serveur en mode débogage, vous aurez déjà pas mal d’informations sur les éventuels problèmes : | ||
< | < | ||
- | root@equipexdns:~# named -g | + | root@ns0:~# named -g |
</ | </ | ||
Analyser les messages d' | Analyser les messages d' | ||
Ligne 309: | Ligne 222: | ||
S'il n'y a plus d’erreurs de syntaxe, arrêtez puis relancez le serveur de la façon habituelle : | S'il n'y a plus d’erreurs de syntaxe, arrêtez puis relancez le serveur de la façon habituelle : | ||
< | < | ||
- | root@equipexdns:~# service bind9 restart | + | root@ns0:~# systemctl |
Stopping domain name service...: bind9. | Stopping domain name service...: bind9. | ||
Starting domain name service...: bind9. | Starting domain name service...: bind9. | ||
</ | </ | ||
+ | <WRAP center round info> | ||
+ | **Attention** : lors des tests, il est nécessaire de vider le cache DNS et le cache de votre navigateur pour les tests sur le serveur Web (ou réaliser les tests en navigation privée). | ||
+ | |||
+ | Par exemple : | ||
+ | À partir du résolveur (pour le domaine et le sous domaine) : | ||
+ | < | ||
+ | root@resolvDNSGaleway: | ||
+ | ok removed 4 rrsets, 4 messages and 0 key entries | ||
+ | root@resolvDNSGaleway: | ||
+ | ok removed 0 rrsets, 1 messages and 0 key entries | ||
+ | |||
+ | ou | ||
+ | root@resolvDNSGaleway: | ||
+ | </ | ||
+ | |||
+ | À partir de n’importe quel Debian ou Ubuntu : | ||
+ | < | ||
+ | systemctl restart networking | ||
+ | </ | ||
+ | </ | ||
Ensuite, faites quelques tests : | Ensuite, faites quelques tests : | ||
< | < | ||
Ligne 319: | Ligne 252: | ||
ns0 | ns0 | ||
root@ns0:~# host ns0 | root@ns0:~# host ns0 | ||
- | ns0.agence.cub.fr has address | + | ns0.agence.cub.fr has address |
</ | </ | ||
Ligne 341: | Ligne 274: | ||
< | < | ||
$ nslookup dhcp | $ nslookup dhcp | ||
- | Server: | + | Server: |
- | Address: | + | Address: |
- | Name: dhcp.mondomaine.org | + | Name: dhcp.agence.cub.fr |
- | Address: 192.168.1.2 | + | Address: 192.168.x.y |
- | $ nslookup 192.168.1.2 | + | |
- | 2.1.168.192.in-addr.arpa name = dhcp.mondomaine.org. | + | |
</ | </ | ||
Tapez la commande nslookup sur une des stations du réseau pour obtenir et vérifier les informations fournies par le serveur DNS. | Tapez la commande nslookup sur une des stations du réseau pour obtenir et vérifier les informations fournies par le serveur DNS. | ||
Ligne 354: | Ligne 285: | ||
* Test d’une zone : | * Test d’une zone : | ||
< | < | ||
- | $ dig ns1.mondomaine.org | + | $ dig ns0.agence.cub.fr |
- | ; <<>> | + | ; <<>> |
;; global options: +cmd | ;; global options: +cmd | ||
;; Got answer: | ;; Got answer: | ||
Ligne 364: | Ligne 295: | ||
; COOKIE: 8a3cc0da0dea6eaf3506eba35e6121ea484f5e9d41ee1144 (good) | ; COOKIE: 8a3cc0da0dea6eaf3506eba35e6121ea484f5e9d41ee1144 (good) | ||
;; QUESTION SECTION: | ;; QUESTION SECTION: | ||
- | ;ns1.mondomaine.org. IN A | + | ;ns0.agence.cub.fr. IN A |
- | RSX103 – Cnam Paris | + | |
;; ANSWER SECTION: | ;; ANSWER SECTION: | ||
- | ns1.mondomaine.org. 604800 IN A 192.168.50.90 | + | ns0.agence.cub.fr. 604800 IN A 192.168.50.90 |
;; ADDITIONAL SECTION: | ;; ADDITIONAL SECTION: | ||
- | ns2.mondomaine.org. 604800 IN A 192.168.50.91 | + | ns0.agence.cub.fr. 604800 IN A 192.168.50.91 |
;; Query time: 0 msec | ;; Query time: 0 msec | ||
- | ;; SERVER: | + | ;; SERVER: |
;; WHEN: Mon Feb 03 15:59:38 UTC 2022 | ;; WHEN: Mon Feb 03 15:59:38 UTC 2022 | ||
;; MSG SIZE rcvd: 139 | ;; MSG SIZE rcvd: 139 | ||
Ligne 377: | Ligne 307: | ||
* Récupération enregistrement SOA d’une zone : | * Récupération enregistrement SOA d’une zone : | ||
< | < | ||
- | $ dig soa mondomaine.org | + | $ dig soa agence.cub.fr |
- | ; <<>> | + | ; <<>> |
;; global options: +cmd | ;; global options: +cmd | ||
;; Got answer: | ;; Got answer: | ||
Ligne 387: | Ligne 317: | ||
; COOKIE: 8333ab9fd5d0555621ef9a4e5e6123e1312c74e39b52d58e (good) | ; COOKIE: 8333ab9fd5d0555621ef9a4e5e6123e1312c74e39b52d58e (good) | ||
;; QUESTION SECTION: | ;; QUESTION SECTION: | ||
- | ;mondomaine.org. IN SOA | + | ;agence.cub.fr. IN SOA |
;; ANSWER SECTION: | ;; ANSWER SECTION: | ||
- | mondomaine.org. 604800 IN SOA ns1.mondomaine.org. | + | agence.cub.fr. 604800 IN SOA ns0.agence.cub.fr. |
- | root.mondomaine.org. 1 604800 86400 2419200 604800 | + | root.agence.cub.fr. 1 604800 86400 2419200 604800 |
;; ADDITIONAL SECTION: | ;; ADDITIONAL SECTION: | ||
- | ns1.mondomaine.org. 604800 IN A 192.168.50.90 | + | ns0.agence.cub.fr. 604800 IN A 192.168.50.90 |
- | ns2.mondomaine.org. 604800 IN A 192.168.50.91 | + | |
;; Query time: 0 msec | ;; Query time: 0 msec | ||
- | ;; SERVER: | + | ;; SERVER: |
;; WHEN: Mon Feb 03 16:08:01 UTC 2022 | ;; WHEN: Mon Feb 03 16:08:01 UTC 2022 | ||
;; MSG SIZE rcvd: 192 | ;; MSG SIZE rcvd: 192 | ||
</ | </ | ||
- | * Résolution de nom pour www.mondomaine.org : | + | * Résolution de nom pour www.agence.cub.fr |
< | < | ||
- | $ dig www.mondomaine.org | + | $ dig www.agence.cub.fr |
- | ; <<>> | + | ; <<>> |
;; global options: +cmd | ;; global options: +cmd | ||
;; Got answer: | ;; Got answer: | ||
;; ->> | ;; ->> | ||
- | RSX103 – Cnam Paris | + | |
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 3 | ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 3 | ||
;; OPT PSEUDOSECTION: | ;; OPT PSEUDOSECTION: | ||
Ligne 412: | Ligne 341: | ||
; COOKIE: 95f0892417ed967cf361e6965e6125932ec00d08cde00be4 (good) | ; COOKIE: 95f0892417ed967cf361e6965e6125932ec00d08cde00be4 (good) | ||
;; QUESTION SECTION: | ;; QUESTION SECTION: | ||
- | ;www.mondomaine.org. IN A | + | ;www.agence.cub.fr. IN A |
;; ANSWER SECTION: | ;; ANSWER SECTION: | ||
- | www.mondomaine.org. 604800 IN CNAME srv.mondomaine.org. | + | www.agence.cub.fr. 604800 IN CNAME srv.mondomaine.org. |
- | srv.mondomaine.org. 604800 IN A 192.168.50.100 | + | dhcp.agence.cub.fr. 604800 IN A 192.168.50.100 |
;; ADDITIONAL SECTION: | ;; ADDITIONAL SECTION: | ||
- | ns1.mondomaine.org. 604800 IN A 192.168.50.90 | + | ns0.agence.cub.fr. 604800 IN A 192.168.50.90 |
- | ns2.mondomaine.org. 604800 IN A 192.168.50.91 | + | |
;; Query time: 0 msec | ;; Query time: 0 msec | ||
- | ;; SERVER: | + | ;; SERVER: |
;; WHEN: Mon Feb 03 16:15:15 UTC 2022 | ;; WHEN: Mon Feb 03 16:15:15 UTC 2022 | ||
;; MSG SIZE rcvd: 177 | ;; MSG SIZE rcvd: 177 | ||
</ | </ | ||
- | * Résolution inverse : | + | <WRAP center round info> |
- | <code> | + | Comment Utiliser la Commande Dig sous Linux : https://www.hostinger.fr/ |
- | $ dig ptr 100.50.168.192.in-addr.arpa | + | |
- | ; <<>> | + | </WRAP> |
- | ;; global options: +cmd | + | |
- | ;; Got answer: | + | |
- | ;; ->> | + | |
- | ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 | + | |
- | ;; OPT PSEUDOSECTION: | + | |
- | ; EDNS: version: 0, flags:; udp: 4096 | + | |
- | ; COOKIE: d55d2ee64d3f84bf9565d5b75e61267cf152fde2ee26b21e (good) | + | |
- | ;; QUESTION SECTION: | + | |
- | ; | + | |
- | ;; ANSWER SECTION: | + | |
- | 100.50.168.192.in-addr.arpa. 604800 IN PTR srv.mondomaine.org. | + | |
- | ;; Query time: 0 msec | + | |
- | ;; SERVER: 192.168.50.90# | + | |
- | ;; WHEN: Mon Feb 03 16:19:08 UTC 2022 | + | |
- | ;; MSG SIZE rcvd: 149 | + | |
- | </code> | + | |
==== Retour Configurer le service DNS ==== | ==== Retour Configurer le service DNS ==== |