⇤ ← Version 1 à la date du 2012-01-30 19:45:02
9977
Commentaire:
|
10221
avertissement de rigueur…
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
= Introduction = | {{{#!wiki warning '''Attention''' Cette page est une ébauche de documentation, qui pour le moment '''N'EST PAS UN MODÈLE À SUIVRE à l'AuF'''.<<BR>> (avant-tout du fait du non respect des standards Debian) -- [[JeanChristopheAndré|JC]] }}} = Introduction = |
Ligne 16: | Ligne 23: |
Je n'utilise pas rndc pour la gestion du serveur bind. Pour ca, j'ajoute | Je n'utilise pas rndc pour la gestion du serveur bind. Pour ca, j'ajoute |
Ligne 84: | Ligne 91: |
Klocalhost.+005+14058.key | Klocalhost.+005+14058.key |
Ligne 96: | Ligne 103: |
Puis, on a la partie privée dont le contenu n'est pas franchement intéressant ;-)(sauf si vous aimer jouer avec la théorie des codes hein), mais qu'il est important de bien sécuriser: | Puis, on a la partie privée dont le contenu n'est pas franchement intéressant ;-)(sauf si vous aimer jouer avec la théorie des codes hein), mais qu'il est important de bien sécuriser: |
Ligne 112: | Ligne 119: |
nacer@nacerix-lab:/etc/bind/keys$ cat Klocalhost.+005+19396.key | nacer@nacerix-lab:/etc/bind/keys$ cat Klocalhost.+005+19396.key |
Ligne 124: | Ligne 131: |
nacer@nacerix-lab:/etc/bind$ sudo cat master.localhost | nacer@nacerix-lab:/etc/bind$ sudo cat master.localhost |
Ligne 147: | Ligne 154: |
nacer@nacerix-lab:/etc/bind$ sudo cat localhost.rev | nacer@nacerix-lab:/etc/bind$ sudo cat localhost.rev |
Ligne 185: | Ligne 192: |
nacer@nacerix-lab:/etc/bind$ cat master.localhost.signed | nacer@nacerix-lab:/etc/bind$ cat master.localhost.signed |
Attention
Cette page est une ébauche de documentation, qui pour le moment N'EST PAS UN MODÈLE À SUIVRE à l'AuF.
(avant-tout du fait du non respect des standards Debian) -- JC
Introduction
Les informations présentées dans ce document ne sont pas encore retenues comme recommendations à l'AUF. D'ailleurs, toutes les manipulations servant d'illustration ici s'applique au domaine localhost. pour bien faire ressortir ce caractère non officiel .
Mise en oeuvre
Préparation du serveur
La plupart des manipulations présentées dans cette section sont des choix personnels, discutables et non standards à l'AUF.
Le fichier de définition de la zone localhost est renommée de db.local en master.localhost.
De même, le fichier db.127 représentant la zone inverse pour localhost, est renommée en localhost.rev.
Le fichier db.root contenant la liste des serveurs racines devient root-servers.net.
Le fichier bind.keys qui fait reférence à la clé DLV associé au domaine dlv.isc.org deviendra dlv.isc.org.key. L'enregistrement de type DLV est une alternative à la mise en place d'une chaîne de sécurité pour un domaine donnée. On parle de chaîne de sécurité lorsqu'une hiérarchie entière du système DNS est signée (par exemple, td.auf.org signé et reférencé dans la configuration de auf.org qui lui même signé et reférencée (éventuellement) dans la config de .org etc).
Je n'utilise pas rndc pour la gestion du serveur bind. Pour ca, j'ajoute
controls {};
dans les options et j'efface tous les autres fichiers contenues dans /etc/bind: db.0, db.255, db.empty, zones.rfc1918 et rndc.key.
Mes configs dns n'impliquant pas de nombreux domaines, je préfère tout mettre dans un seul fichier named.conf:
nacer@nacerix-lab:/etc/bind$ sudo cat named.conf.options >> named.conf.final nacer@nacerix-lab:/etc/bind$ sudo cat named.conf.local >> named.conf.final nacer@nacerix-lab:/etc/bind$ sudo cat named.conf.default-zones >> named.conf.final nacer@nacerix-lab:/etc/bind$ sudo mv named.conf.final named.conf nacer@nacerix-lab:/etc/bind$ sudo rm named.conf.options named.conf.default-zones
Ensuite, je crée un dossier keys qui contiendra les clés qui seront générés tout à l'heure:
nacer@nacerix-lab:/etc/bind$ mkdir keys
Le dossier /etc/bind ressemble à ceci:
nacer@nacerix-lab:/etc/bind$ ls -l -rw-r--r-- 1 root root 601 2011-11-16 21:30 dlv.isc.org.key drwxr-sr-x 2 root bind 4096 2012-01-30 17:30 keys -rw-r--r-- 1 root root 271 2011-11-16 21:30 localhost.rev -rw-r--r-- 1 root root 270 2011-11-16 21:30 master.localhost -rw-r--r-- 1 root bind 1591 2012-01-30 18:15 named.conf -rw-r--r-- 1 root bind 165 2011-11-16 21:30 named.conf.local -rw-r--r-- 1 root root 2940 2011-11-16 21:30 root-servers.net
Dans les options, j'active dnssec et, après édition, j'obtiens à peu près ceci sans les commentaires:
nacer@nacerix-lab:/etc/bind$ cat named.conf nacer@nacerix-lab:/etc/bind$ cat named.conf options { directory "/etc/bind"; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; dnssec-enable yes; controls {}; }; // les serveurs root - utiles pour la récursion zone "." { type hint; file "root-servers.net" }; zone "localhost" { type master; file "master.localhost"; }; zone "127.in-addr.arpa" { type master; file "localhost.rev"; };
Maintenant, on va générer une paire de clés (privée/publique) pour signer l'ensemble des enregistrements DNS (Resources Records ou RR) de la zone, cette clé s'appelle (Zone Signing Keys ou ZSK):
nacer@nacerix-lab:/etc/bind$ sudo dnssec-keygen -a rsasha1 -b 512 -n zone localhost ; aller, j'utilise 512 octets à cause de ma vieille machine. ; on obtient deux fichiers: ; l'enregistrement DNSKEY correspondant à la partie publique de la ZSK: Klocalhost.+005+14058.key
Et dont le contenu ressemble à:
nacer@nacerix-lab:/etc/bind$ cat Klocalhost.+005+14058.key ; This is a zone-signing key, keyid 14058, for localhost. ; Created: Mon Jan 30 17:26:32 2012 ; Publish: Mon Jan 30 17:26:32 2012 ; Activate: Mon Jan 30 17:26:32 2012 localhost. IN DNSKEY 256 3 5 AwEAAcFICEMvLIItggaAqR1TyDEsQzH4QlC6X/7MQ6PBcR0M/SEpN2uD D24Ui9NIPsKLBBpzZ3DJ1EgRa4SKNnA4BE0=
Puis, on a la partie privée dont le contenu n'est pas franchement intéressant ;-)(sauf si vous aimer jouer avec la théorie des codes hein), mais qu'il est important de bien sécuriser:
nacer@nacerix-lab:/etc/bind$ ls -l keys/ total 8 -rw-r--r-- 1 root bind 290 2012-01-30 17:30 Klocalhost.+005+14058.key -rw------- 1 root bind 622 2012-01-30 17:30 Klocalhost.+005+14058.private
Ensuite, c'est au tour de la Key Signing Keys (KSK) d'être créer:
nacer@nacerix-lab:/etc/bind$ sudo dnssec-keygen -a rsasha1 -b 512 -f KSK -n zone localhost
Là encore, on obtient deux clés, une publique et une privée. La clé privée est utilisée pour signer tous les enregistrements de type DNSKEY (d'où son nom de clé signant les clés). Bien sûr, les enregistrements de type DNSKEY sont à la fois signée par le ZSK et le KSK. Voici, à titre d'illustration, le contenu de Klocalhost.+005+19396.key:
nacer@nacerix-lab:/etc/bind/keys$ cat Klocalhost.+005+19396.key ; This is a key-signing key, keyid 19396, for localhost. ; Created: Mon Jan 30 19:35:11 2012 ; Publish: Mon Jan 30 19:35:11 2012 ; Activate: Mon Jan 30 19:35:11 2012 localhost. IN DNSKEY 257 3 5 AwEAAcDW/bYLI36kvviwi4afvAzNwieUxMcYqoc1hEsRCXHC2RLy4uZX wMQEbLwx6GFEO/2sTnppfAhbRKD4IL0d0PU=
La KSK est reconnaissable au nombre 257 suivant DNSKEY, et le ZSK par le 256 à la même position.
L'étape suivante consiste à associer ZSK et KSK au fichier de zone:
nacer@nacerix-lab:/etc/bind$ sudo cat master.localhost ; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA localhost. root.localhost. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS localhost. @ IN A 127.0.0.1 @ IN AAAA ::1 ; ZSK $include "keys/Klocalhost.+005+14058.key"; ; KSK $include "keys/Klocalhost.+005+19396.key";
Et
nacer@nacerix-lab:/etc/bind$ sudo cat localhost.rev ; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA localhost. root.localhost. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS localhost. 1.0.0 IN PTR localhost. ; ZSK $include "keys/Klocalhost.+005+14058.key"; ; KSK $include "keys/Klocalhost.+005+19396.key";
Il ne nous reste plus qu'à signer ces deux fichiers et le tour est joué:
nacer@nacerix-lab:/etc/bind$ sudo dnssec-signzone -o localhost -t -k keys/Klocalhost.+005+19396 master.localhost keys/Klocalhost.+005+14058 Verifying the zone using the following algorithms: RSASHA1. Zone signing complete: Algorithm: RSASHA1: KSKs: 1 active, 0 stand-by, 0 revoked ZSKs: 1 active, 0 stand-by, 0 revoked master.localhost.signed Signatures generated: 7 Signatures retained: 0 Signatures dropped: 0 Signatures successfully verified: 0 Signatures unsuccessfully verified: 0 Runtime in seconds: 0.164 Signatures per second: 42.497
Et le fichier résultant, master.localhost.signed:
nacer@nacerix-lab:/etc/bind$ cat master.localhost.signed ; File written on Mon Jan 30 20:04:39 2012 ; dnssec_signzone version 9.7.0-P1 localhost. 604800 IN SOA localhost. root.localhost. ( 2 ; serial 604800 ; refresh (1 week) 86400 ; retry (1 day) 2419200 ; expire (4 weeks) 604800 ; minimum (1 week) ) 604800 RRSIG SOA 5 1 604800 20120229180439 ( 20120130180439 14058 localhost. pe+xZHJyYRaKtb+Tc22gmCBBJBWPIxcrQ6Qi pX7Uq+bTAvISZm2oJ/AKxwFwDf0vWu2ulWz/ xqwtnF7WkC64Pw== ) 604800 NS localhost. 604800 RRSIG NS 5 1 604800 20120229180439 ( 20120130180439 14058 localhost. gx7b09+c+t0WHgd0Uy6hjQe593MphKU4u7r+ iqjW+dCMST7YZrGIYnrvlhIehauL8jhbaWDX dJayzJ67lNmnDg== ) 604800 A 127.0.0.1 604800 RRSIG A 5 1 604800 20120229180439 ( 20120130180439 14058 localhost. SyM2yNCJ8lBNA4s7qSnPZTi+rwEvVt+HdFui RmSkfn5ijD+9Q2hsuRnPfYzGOJLY9D2wW2hp 6JYHpQ3BTY3W9A== ) 604800 AAAA ::1 604800 RRSIG AAAA 5 1 604800 20120229180439 ( 20120130180439 14058 localhost. EgnaOMGXWjB+c1FpJUZr3M16wu1QkynACZsY ftgC8jFFSTchlcrB3nP3D15X7zCO7IN/lsEw 4YGuAJEjCRVZmg== ) 604800 NSEC localhost. A NS SOA AAAA RRSIG NSEC DNSKEY 604800 RRSIG NSEC 5 1 604800 20120229180439 ( 20120130180439 14058 localhost. mU0xFwhJiVXkGl8dPZQfHdlOYNz5F0LJySF/ m//sogxonT6jiQHvNxcRCq20cTUXVAyVQ1IK e6jkEDw3kjgtqg== ) 604800 DNSKEY 256 3 5 ( AwEAAcFICEMvLIItggaAqR1TyDEsQzH4QlC6 X/7MQ6PBcR0M/SEpN2uDD24Ui9NIPsKLBBpz Z3DJ1EgRa4SKNnA4BE0= ) ; key id = 14058 - ZSK 604800 DNSKEY 257 3 5 ( AwEAAcDW/bYLI36kvviwi4afvAzNwieUxMcY qoc1hEsRCXHC2RLy4uZXwMQEbLwx6GFEO/2s TnppfAhbRKD4IL0d0PU= ) ; key id = 19396 - KSK 604800 RRSIG DNSKEY 5 1 604800 20120229180439 ( 20120130180439 14058 localhost. nsKNmlcM6DGx/L4goK0W9dmFFiF/0pHkqaz1 3haTR4YaFh/AtvIFZnH0Urxx2hgY7NUz1aK0 DRf3KSJbdxNOTw== ) 604800 RRSIG DNSKEY 5 1 604800 20120229180439 ( 20120130180439 19396 localhost. ea82+hqXgoFqaVFHvQtU/vTnz+0rDXvpBOBx jP6AEiiOWgXBrrZt7hlkDmdWEc9063DkfJAy lvg23API5Ylhqw== )
Je sais, il y a peu de détails, mais ce sera ajouté au fur et à mesure, tout doucement -- To be continued