Ejercicio de Renovaci—n de clave ZSK Manual ------------------------------------------- OBJECTIVO Vamos a renovar la clave ZSK de la zona que acabamos de firmar. IMPORTANTE: POR FAVOR, ANOTE las IDs de las claves KSK/ZSK actuales en un papel para saber cu‡l es cual. RECUERDE - Estamos guardando nuestras claves en /etc/named/keys - Actualmente tenemos dos pares de claves en este directorio una ZSK y una KSK. Cada par est‡ representado por dos ficheros, uno que acaba en ".key" (la clave pœblica) y otro que acaba en ".private" (la clave privada). - Hay un conjunto (RRset) de records DS en el dominio ra’z correspondiente a nuestra KSK RENOVACIîN (ROLLOVER) DEL ZSK 1. Eche un vistazo a las claves que hemos generado. Tome nota de los nombres de los ficheros que contienen las ZSK y KSK actuales. # cd /etc/namedb/keys/ # ls K* 2. Genere un nuevo par ZSK, que usaremos para reemplazar el viejo. # dnssec-keygen MITLD <---- Sustituya MITLD con el nombre de su dominio Asegœrese de que el proceso named pueda leer los ficheros: # chown bind K* # chmod u+r K* # ls Ahora deber’a tener un tercer par de claves en el directorio. Si revisa el record DNSKEY, deber’a ver que el campo flags es 256 (porque este es un ZSK, no un KSK). Anote el nombre del fichero que contiene la nueva ZSK. 3. Eche un vistazo a su conjunto de records DNSKEY # dig MITLD dnskey Su zona deber’a contener un KSK y un ZSK (revise las flags para distinguir entre ambos) Necesitamos a–adir la nueva clave en la zona, para que sea incluida en el pr—ximo evento de firmado. Al final del fichero "MITLD", A„ADA la nueva clave: $include "/etc/namedb/keys/KMITLD.+005+45000.key"; Incremente el nœmero de serie Grabe y salga. 4. Vuelva a firmar su zona para que el nuevo ZSK estŽ firmado, pero NO firmaremos usando el nuevo ZSK - s—lo queremos que el nuevo ZSK estŽ firmado por el actual ZSK. Esto se llama "pre-publicaci—n". # cd /etc/namedb/keys # dnssec-signzone -o MITLD -k KMITLD.+005+46516 ../master/MITLD KMITLD.+005+36390 F’jese en el ejemplo anterior que s—lo estamos usando el ZSK actual para firmar, no el nuevo - esto es para asegurarnos de que dnssec-signzone no tratar‡ de firmar con ambos ZSKs. No ser’a una "mala" cosa, pero doblar’a el tama–o de la zona. Esto afecta m‡s que nada a zonas de por s’ muy grandes. As’ que decimos a dnssec-signzone exactamente cu‡les claves debe usar al hacer la renovaci—n, PRECISAMENTE para controlar los tiempos en que se introduce una clave, se usa para firmar, y finalmente se retira. La salida del comando anterior deber’a ser: Zone signing complete: Algorithm: RSASHA1: KSKs: 1 active, 0 stand-by, 0 revoked ZSKs: 1 active, 1 stand-by, 0 revoked MITLD.signed F’jese en los ZSKs: 1 active, 1 stand-by 5. Veamos quŽ cambios ha causado esto en la zona. # rndc reload MITLD # dig MITLD dnskey # dig MITLD dnskey +dnssec # dig MITLD soa +dnssec Su zona deber’a contener ahora un KSK y dos ZSKs; ambos ZSKs deber’an estar presentes en el conjunto DNSKEY, que deber’a estar firmado por el KSK. PERO el rŽcord SOA (y otros conjuntos de records en la zona) deber’an estar firmados SOLAMENTE UNA VEZ usando el viejo ZSK. Y el conjunto DNSKEY deber’a incluir las 3 claves (1 KSK, 2 ZSKs). Esto se llama "pre-firmado". A este punto, deber’amos esperar (en principio) 2 x TTL para que ambos ZSKs aparezcan en la cachŽ de todo el mundo (por defecto, en nuestro lab, el TTL es de 2 minutos, pero esto ser‡ diferente en la pr‡ctica). Pero en fin, espere al menos 2 minutos antes de firmar con el nuevo ZSK en lugar del ZSK anterior. Una vez que estemos seguros de que "toda la Internet" (toda la clase) puede ver ambas claves, entonces podemos firmar con el nuevo ZSK. Compruebe la cachŽ usando dig! 6. Firme con el nuevo ZSK. Recuerde, tenemos 3 claves. En nuestra zona hay: $include "/etc/namedb/keys/KMITLD.+005+46516.key"; // KSK $include "/etc/namedb/keys/KMITLD.+005+36390.key"; // ZSK a retirar $include "/etc/namedb/keys/KMITLD.+005+45000.key"; // nuevo ZSK Incremente el nœmero de serie. Luego: # cd /etc/namedb/keys # dnssec-signzone -o MITLD -k KMITLD.+005+46516 ../master/MITLD KMITLD.+005+45000 ... F’jese c—mo ahora usamos 45000 (la segunda ZSK) para firmar, no la 36390. Ahora, recargue la zona y propague los cambios. # rndc reload MITLD Compruebe con dig, como en el paso 5, que puede ver s—lo UNA firma para cada uno de sus RRsets - o sea, que est‡ firmando con UNA sola ZSK. Todav’a tiene que esperar a que caduque el TTL antes de quitar la vieja ZSK. 7. Ahora debe comprobar, usando dig, que est‡ firmando con una sola clave # dig www.MITLD +dnssec Pero tambiŽn compruebe que la VIEJA ZSK todav’a est‡ publicada en nuestro conjunto DNSKEY: # dig MITLD dnskey Todav’a deber’a ver 3 claves 8. Retire la vieja ZSK. Luego de esperar al menos 2 minutos (120s), retire la vieja ZSK: # cd /etc/namedb/master/ Edite el fichero de zona y a–ada un signo de comentario (';') en frente de la vieja ZSK (revise de nuevo cu‡l clave es) $include "/etc/namedb/keys/KMITLD.+005+46516.key"; // KSK ;$include "/etc/namedb/keys/KMITLD.+005+36390.key"; // ZSK (comentada) $include "/etc/namedb/keys/KMITLD.+005+45000.key"; // nueva ZSK Incremente el nœmero de serie. Ahora vuelva a firmar la zona, pero notar‡ que expl’citamente NO indicaremos la ZSK que acabamos de retirar: # cd /etc/namedb/keys # dnssec-signzone -o MITLD -k KMITLD.+005+46516 ../master/MITLD KMITLD.+005+45000 # rndc reload MITLD # tail /etc/namedb/log/general 9. Igual que en el paso 5, revise que todas las firmas aœn funcionan, y que el viejo ZSK ya no est‡ en el set DNSKEY Todav’a funciona su dominio? :)