AgendaFR: fr_AROC-Introduction-to-DNSSEC.txt

File fr_AROC-Introduction-to-DNSSEC.txt, 5.8 KB (added by nocadmin, 9 years ago)
Line 
1AROC-EN Mali
2Exercice DNSSEC
3
41. Installer BIND9
5
6  # apt-get install bind9
7
8Vérifier que BIND9 tourne
9
10  # /etc/init.d/bind9 start
11  # rndc status
12
132. Les fichiers de configuration de BIND9 se situent dans /etc/bind
14
15  # cd /etc/bind
16
17Nous allons créer une zone, dnssec.aroc, et la signer.  Comme nous devons
18créer et stocker des clés pour signer cette zone, nous devons créer un
19répertoire pour tout contenir:
20
21  # mkdir db.dnssec.aroc
22  # cd db.dnssec.aroc
23
243. Créer le fichier zone non-signé:
25
26  # vi dnssec.aroc
27
28C'est une zone normale, sans informations DNSSEC dedans.
29
30Voici un exemple pour vous aider à démarrer.
31
32  $TTL 3600
33
34  @          SOA      tldXX.aroc. nsrc.nsrc.org. (
35                        0           ; serial
36                        28800       ; refresh
37                        3600        ; retry
38                        604800      ; expire
39                        3600 )      ; negative-cache TTL
40
41             NS       tldXX.aroc.
42
43  test       TXT      "voici un TXT RRSet, que nous allons signer"
44             TXT      "voici un autre enregistrement dans le meme RRset"
45
46Vérifier que la zone que vous avez créé n'a pas d'erreurs dedans:
47
48  # named-checkzone dnssec.aroc ./dnssec.aroc
49
50
514. Créér les KSK pour la zone DNSSEC.AROC
52
53  # dnssec-keygen -a RSASHA1 -b 4096 -n ZONE -f KSK -r /dev/urandom dnssec.aroc
54
55Ceci est une clé 2048-bit RSA, et c'est une KSK. Cette clé sera stockée
56dans un fichier.  Trouvez la en faisant ls (ou en regardant bien la sortie
57de la commande dnssec-keygen), et NOTEZ le nom de ce fichier.
58
59On utilise /dev/urandom pour générer des chiffres aléatoires, mais
60uniquement dans le contexte de cet exercice.  Normalement on utiliserait
61/dev/random (sans 'u'), et nous obtiendrions des chiffres aléatoires de
62plus grande qualité, mais ceci prendrait plus longtemps.
63
645. Créer une ZSK pour la zone DNSSEC.AROC
65
66  # dnssec-keygen -a RSASHA1 -b 1024 -n ZONE -r /dev/urandom dnssec.aroc
67
68Ceci est une clé1024-bit RSA, et elle sera utilisée comme ZSK.  Encore
69une fois, elle sera stockée dans un fichier.
70
71Si vous devenez confus et ne savez plus quelle clé est ZSK et KSK,
72rappelez vous que la plus petite (taille fichier, ls -l) (qui servira
73à signer la zone, est la ZSK.
74
75Noter le nom du fichier.
76
77Voir l'étape 4) cf. le commentaire sur /dev/urandom
78
79
806. Inclure la KSK et la ZSK dans le fichier non-signé:
81
82Add the following lines to the dnssec.aroc zone file:
83
84  $INCLUDE "/etc/bind/db.dnssec.aroc/nom_du_fichier_KSK.key"
85  $INCLUDE "/etc/bind/db.dnssec.aroc/nom_du_fichier_ZSK.key"
86
87Revérifier que la zone est correcte et ne contient pas d'erreur
88aprÚs cette modification.
89
90  # named-checkzone dnssec.aroc ./dnssec.aroc
91
92On pourrait également copier/coller le contenu des fichiers de
93clé ZSK et KSK directement dans la zone.  Mais il faut être sûr
94de le faire correctement.  Pas besoin de copier/coller avec
95l'utilisation de la directive $INCLUDE.
96
977. Signer la zone
98
99  # dnssec-signzone -N unixtime dnssec.aroc
100
101En utilisant la commande "-N unixtime", on fait savoir à dnssec-signzone
102qu'il doit mettre à jour le numéro de série automatiquement.  Ceci nous
103évite de devoir le faire à la main dans le fichier non-signé.
104
105Regarder le contenu de votre répertoire:
106
107  # ls
108  dnssec.aroc                  Kdnssec.aroc.+005+34222.private
109  dnssec.aroc.signed           Kdnssec.aroc.+005+34653.key
110  dsset-dnssec.aroc.           Kdnssec.aroc.+005+34653.private
111  Kdnssec.aroc.+005+34222.key  keyset-dnssec.aroc.
112  #
113
114Explication:
115
116     dnssec.aroc              unsigned zone file
117     dnssec.aroc.signed       signed zone file
118     dsset-dnssec.aroc.       DS record you could send to your parent
119     keyset-dnssec.aroc.      the DNSKEY record that the DS record matches
120     Kdnssec.aroc.*.key       public keys we generated earlier
121     Kdnssec.aroc.*.private   private keys we generated earlier
122
123
124Vérifier que la zone que vous avez signée est correcte:
125
126  # named-checkzone dnssec.aroc ./dnssec.aroc.signed
127
128
1298. Servir la zone
130
131La zone signée est une zone comme toute autre -- elle contient simplement
132des enregistrements en plus.  Pour indiquer à BIND9 qu'il doit servir
133cette zone, nous devons l'ajouter à named.conf.  Le meilleur endroit pour
134effectuer ce changement sur Ubuntu est dans /etc/bind/named.conf.local
135
136  # cd /etc/bind
137  # vi named.conf.local
138
139... et ajouter ceci à la fin du fichier:
140
141  zone "dnssec.aroc" {
142    type master;
143    file "/etc/bind/db.dnssec.aroc/dnssec.aroc.signed";
144  };
145
146Vérifier que vous n'avez pas fait de faute de frappe en vérifiant la
147configuration:
148
149  # named-checkconf /etc/bind/named.conf
150
151Si il n'y a pas d'erreurs, vous ne verrez aucun message de la part de
152named-checkcconf.
153
154Dites à BIND9 de recharger sa configuration:
155
156  # rndc reconfig
157
158Envoyez des requêtes à votre serveur de noms, et observez les
159réponses:
160
161  # dig @127.0.0.1 dnssec.aroc SOA
162  # dig @127.0.0.1 dnssec.aroc DNSKEY
163  # dig @127.0.0.1 test.dnssec.aroc TXT
164
165Essayez maintenant d'ajouter l'option +dnssec, et vous verrez les
166signatures apparaître dans les réponses:
167
168  # dig @127.0.0.1 dnssec.aroc SOA +dnssec
169  # dig @127.0.0.1 dnssec.aroc DNSKEY +dnssec
170  # dig @127.0.0.1 test.dnssec.aroc TXT +dnssec
171
172Quelles sont les dates d'inception et d'expiration sur les signatures ?
173
174
1759. Rappel!
176
177En réalité, vous devrez re-signer réguliÚrement afin que vos signatures
178n'expirent pas.
179
180Quand vous rédigez la zone, pas besoin de modifier la version signée
181(qui sera plus grosse et compliquée à lire) - vous modifiez la
182version non-signée:
183
184  # cd /etc/bind/db.dnssec.aroc
185  # vi dnssec.aroc
186
187AprÈs tout changement, vous devez recréer de nouvelles signatures:
188
189  # cd /etc/bind/db.dnssec.aroc
190  # dnssec-signzone -N unixtime dnssec.aroc
191
192Encore une fois, en utilisant "-N unixtime", on fait savoir à dnssec-signzone
193qu'il doit mettre à jour le numéro de série dans le SOA.  Pas besoin de le
194mettre à jour dans le fichier non-signé.
195