1 | Firmado automtico en lnea (INLINE) con BIND |
---|
2 | --------------------------------------------- |
---|
3 | |
---|
4 | Recuerde que si ve un '#' antes de un comando, significa que debe |
---|
5 | ejecutar dicho comando como root, por medio de una de estas |
---|
6 | alternativas: |
---|
7 | |
---|
8 | a) sudo -s |
---|
9 | |
---|
10 | b) sudo command |
---|
11 | |
---|
12 | Continuaremos sobre el trabajo realizado en los ejercicios anteriores para |
---|
13 | habilitar firmado en lnea con BIND (9.9+) |
---|
14 | |
---|
15 | Con el firmado en lnea, la zona original nunca se modifica: esto permite |
---|
16 | al administrador, por ejemplo, hacer un vaciado "dump" desde una base de |
---|
17 | datos que contenga la zona, y hacer que BIND simplemente la firme. |
---|
18 | |
---|
19 | Cuando se actualiza la zona original, BIND detecta los cambios, y re-firma. |
---|
20 | |
---|
21 | |
---|
22 | *** EN SU SERVIDOR MAESTRO *** |
---|
23 | |
---|
24 | 1. Vamos a agregar un par de comandos al fichero de configuracin named.conf |
---|
25 | de BIND para habilitar firmado de DNSSEC en lnea |
---|
26 | |
---|
27 | Primero, edite named.conf bajo /etc/namedb/ y haga los siguientes cambios: |
---|
28 | |
---|
29 | zone "MITLD" { |
---|
30 | file "/etc/namedb/master/MITLD"; // <--- Quite ".signed" (si est) |
---|
31 | |
---|
32 | type master; |
---|
33 | |
---|
34 | key-directory "/etc/namedb/keys"; // <--- Agregue esto (si no est) |
---|
35 | auto-dnssec maintain; // <--- Agregue esto (si no est) |
---|
36 | inline-signing yes; // <--- Agregue esto |
---|
37 | |
---|
38 | // update-policy local; // <--- Quite, si est |
---|
39 | }; |
---|
40 | |
---|
41 | Grabe y salga. |
---|
42 | |
---|
43 | 2. Prepare las claves |
---|
44 | |
---|
45 | Si ha hecho el ejercicio de firmado manual antes, ya ha generado las |
---|
46 | claves, y podemos reusar las mismas. De lo contrario, vamos a generar |
---|
47 | un par de claves nuevas. |
---|
48 | |
---|
49 | |
---|
50 | a) Si no tiene las claves todava (si ya tiene claves, vaya al paso b): |
---|
51 | |
---|
52 | # mkdir -p /etc/namedb/keys |
---|
53 | # chown -R bind /etc/namedb/keys |
---|
54 | # cd /etc/namedb/keys |
---|
55 | |
---|
56 | - Genere el primer par de claves (ZSK) |
---|
57 | |
---|
58 | # dnssec-keygen MITLD |
---|
59 | |
---|
60 | ( saldr algo como: |
---|
61 | Generating key pair......................+++++ + .... |
---|
62 | KMITLD.+005+43116) |
---|
63 | |
---|
64 | - Genere el segundo par (KSK) |
---|
65 | |
---|
66 | # dnssec-keygen -f KSK MITLD |
---|
67 | KMITLD.+005+52159 |
---|
68 | |
---|
69 | Compruebe que las claves estn ah: |
---|
70 | |
---|
71 | # ls -l KMITLD* |
---|
72 | |
---|
73 | Fjese que no especificamos ningunos parmetros como algoritmo, |
---|
74 | tamao de la clave, etcÉ Usaremos los valores por defecto ahora. |
---|
75 | |
---|
76 | b) Si ya tiene las claves: |
---|
77 | |
---|
78 | Debemos asegurarnos de que el directorio tiene los permisos correctos, |
---|
79 | ya que BIND necesitar gestionarlo y necesitar acceso a los ficheros |
---|
80 | y el directorio: |
---|
81 | |
---|
82 | # chown -R bind /etc/namedb/keys |
---|
83 | |
---|
84 | Veamos las claves: |
---|
85 | |
---|
86 | # cd /etc/namedb/keys/ |
---|
87 | # ls -l KMITLD* |
---|
88 | |
---|
89 | -rw-r--r-- 1 bind wheel 591 Feb 18 15:52 KMITLD.+005+32044.key |
---|
90 | -rw------- 1 bind wheel 1774 Feb 18 15:52 KMITLD.+005+32044.private |
---|
91 | -rw-r--r-- 1 bind wheel 417 Feb 18 15:52 KMITLD.+005+64860.key |
---|
92 | -rw------- 1 bind wheel 1010 Feb 18 15:52 KMITLD.+005+64860.private |
---|
93 | |
---|
94 | |
---|
95 | 3. Ahora echemos un vistazo al fichero de zona |
---|
96 | |
---|
97 | Si haba hecho un backup de su zona, vamos a restaurarla, para empezar |
---|
98 | desde cero. |
---|
99 | |
---|
100 | # cd /etc/namedb/master |
---|
101 | # cp MITLD.backup MITLD |
---|
102 | |
---|
103 | Elimine el fichero .signed de la zona - BIND lo crear automticamente! |
---|
104 | |
---|
105 | # rm MITLD.signed |
---|
106 | |
---|
107 | De nuevo, recuerde revisar que en named.conf est cargando "MITLD", y no |
---|
108 | "MITLD.signed". |
---|
109 | |
---|
110 | Adems debemos comprobar que BIND puede escribir en el directorio master: |
---|
111 | |
---|
112 | # chown bind /etc/namedb/master |
---|
113 | |
---|
114 | 4. Ahora recargue la configuracin en el servidor |
---|
115 | |
---|
116 | # rndc reconfig |
---|
117 | |
---|
118 | En este paso debera tener ficheros nuevos en el directorio master/: |
---|
119 | |
---|
120 | # cd /etc/namedb/master |
---|
121 | # ls -l |
---|
122 | |
---|
123 | ... |
---|
124 | -rw-r--r-- 1 root wheel 497 Sep 13 14:56 MITLD |
---|
125 | -rw-r--r-- 1 root wheel 497 Sep 12 09:49 MITLD.backup |
---|
126 | -rw-r--r-- 1 bind wheel 512 Sep 13 15:04 MITLD.jbk |
---|
127 | -rw-r--r-- 1 bind wheel 1331 Sep 13 15:04 MITLD.signed |
---|
128 | -rw-r--r-- 1 bind wheel 3581 Sep 13 15:04 MITLD.signed.jnl |
---|
129 | ... |
---|
130 | |
---|
131 | A ver si el firmado funcion correctamente: |
---|
132 | |
---|
133 | # rndc signing -list MITLD |
---|
134 | Done signing with key 22603/RSASHA1 |
---|
135 | Done signing with key 39978/RSASHA1 |
---|
136 | |
---|
137 | Tambin revise los logs: |
---|
138 | |
---|
139 | # less /etc/namedb/logs/general |
---|
140 | |
---|
141 | 13-Sep-2012 15:04:27.444 reloading configuration succeeded |
---|
142 | 13-Sep-2012 15:04:27.450 zone MITLD/IN (unsigned): loaded serial 2012022301 |
---|
143 | 13-Sep-2012 15:04:27.451 any newly configured zones are now loaded |
---|
144 | 13-Sep-2012 15:04:27.471 zone MITLD/IN (signed): loaded serial 2012022301 |
---|
145 | 13-Sep-2012 15:04:27.493 zone MITLD/IN (signed): receive_secure_serial: unchanged |
---|
146 | 13-Sep-2012 15:04:27.501 zone MITLD/IN (signed): reconfiguring zone keys |
---|
147 | 13-Sep-2012 15:04:27.544 zone MITLD/IN (signed): next key event: 13-Sep-2012 16:04:27.501 |
---|
148 | |
---|
149 | |
---|
150 | # dig @localhost MITLD NS |
---|
151 | |
---|
152 | Note que la zona firmada no est en un formato legible. |
---|
153 | |
---|
154 | Para ver los contenidos de la zona firmada, se puede hacer una transferencia |
---|
155 | de zona (axfr) o tambin: |
---|
156 | |
---|
157 | # named-checkzone -D -f raw -o - MITLD MITLD.signed | less |
---|
158 | |
---|
159 | 5. Cambios en la zona |
---|
160 | |
---|
161 | Entonces, cmo actualizo la zona y la vuelvo a firmar? Simple! |
---|
162 | |
---|
163 | Vamos a modificar la zona y agregar un record llamado "mail" con la direccin IP |
---|
164 | del servidor auth1: |
---|
165 | |
---|
166 | mail A 10.10.XX.1 ; X is your group |
---|
167 | |
---|
168 | Entonces, edite el fichero de zona "MITLD" y agregue la lnea de arriba. |
---|
169 | |
---|
170 | Tambin recuerde cambiar el serial. |
---|
171 | |
---|
172 | Ahora, recargue la zona. BIND firmar automticamente: |
---|
173 | |
---|
174 | # rndc reload MITLD |
---|
175 | |
---|
176 | Espere unos segundos, y luego: |
---|
177 | |
---|
178 | # tail /etc/namedb/log/general |
---|
179 | |
---|
180 | Qu puede observar ? |
---|
181 | |
---|
182 | # dig @localhost mail.MITLD a |
---|
183 | # dig @localhost MITLD soa |
---|
184 | |
---|
185 | Fjese en el serial |
---|
186 | |
---|
187 | 6. Si no ha subido sus records DS a la raz en un ejercicio anterior, o si |
---|
188 | ha generado claves KSK nuevas, ahora debe enviar estos records DS a la |
---|
189 | raz. De lo contrario, puede ignorar el resto de este ejercicio! |
---|
190 | |
---|
191 | (DS = una huella digital criptogrfica (digest fingerprint) de la KSK). |
---|
192 | |
---|
193 | Genere records "DS" a partir de su clave KSK: |
---|
194 | |
---|
195 | Busque cul es la clave KSK: |
---|
196 | |
---|
197 | # cd /etc/namedb/keys |
---|
198 | # more KMITLD*key |
---|
199 | |
---|
200 | Busque la que tenga "IN DNSKEY 257". Anote el "keyid" y sustituya la cadena |
---|
201 | "+005+32044" ms abajo con "+005+keyid" donde keyid es el nmero en cuestin. |
---|
202 | |
---|
203 | # dnssec-dsfromkey KMITLD.+005+32044 >dsset-MITLD. |
---|
204 | |
---|
205 | No olvide el punto! |
---|
206 | |
---|
207 | 7. Suba el dsset de su zona (conteniendo la huella de su clave) al servidor raz: |
---|
208 | |
---|
209 | # scp dsset-MITLD. adm@a.root-servers.net: |
---|
210 | |
---|
211 | El password es el mismo que en clase |
---|
212 | |
---|
213 | 8. Avise al instructor de que lo ha hecho! |
---|
214 | |
---|
215 | El instructor incluir el DS-set en la raz y firmar la zona. |
---|
216 | |
---|
217 | 8. Verifique: |
---|
218 | |
---|
219 | # dig @a.root-servers.net DS MITLD. |
---|
220 | |
---|