| 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 | |
|---|