{"id":1954,"date":"2016-10-26T09:57:47","date_gmt":"2016-10-26T09:57:47","guid":{"rendered":"https:\/\/esferas.org\/msqlu\/?p=1954"},"modified":"2016-10-26T15:31:22","modified_gmt":"2016-10-26T15:31:22","slug":"poniendo-a-salvo-las-claves-de-cifrado-de-los-backups","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2016\/10\/26\/poniendo-a-salvo-las-claves-de-cifrado-de-los-backups\/","title":{"rendered":"Poniendo a salvo las claves de cifrado de los backups &#8230;"},"content":{"rendered":"<p><a href=\"https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2015\/02\/kablam_Panic.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-557 size-thumbnail\" src=\"https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2015\/02\/kablam_Panic-150x150.png\" alt=\"kablam_Panic\" width=\"150\" height=\"150\" \/><\/a>&#8230; y es que esta noche he tenido una pesadilla horrorosa. So\u00f1aba que uno de los servidores virtuales se estropeaba, no recuerdo por qu\u00e9, pero me ve\u00eda obligado a recuperarlo desde las copias de seguridad.<\/p>\n<p><!--more--><\/p>\n<p>El lado pesadillesco viene cuando me doy cuenta de que todas las copias de seguridad que llevo realizando durante bastante tiempo, y en varios lugares, no valen absolutamente nada sin las claves de cifrado. Pero nada, nada.<\/p>\n<p>Y esas claves de cifrado se guardan, l\u00f3gicamente, en la m\u00e1quina origen, la que ha fallecido y debo recuperar. \u00bf Veis el drama ?<\/p>\n<p>Cifrar las copias de seguridad tiene muchas ventajas. La principal para m\u00ed es que puedo usar sistemas que no tienen nada que ver entre s\u00ed (como los de mi trabajo, los m\u00edos personales o los de una amiga) para guardar copias unos de otros con la seguridad de que s\u00f3lo ocupan espacio y un poco de ancho de banda. Los datos son impenetrables por mucho acceso que se tenga en la m\u00e1quina que los almacena.<\/p>\n<p>La desventaja, como se deduce, es que sin las claves de descifrado los datos s\u00f3lo hace eso: ocupar espacio y malgastar ancho de banda. Ponerlas a salvo es una de esas tareas que uno aparta a un lado en el fragor de la batalla y que se resisten al olvido en forma de sue\u00f1o molesto.<\/p>\n<p>Vamos a ello.<\/p>\n<h4>Qu\u00e9 y c\u00f3mo hay que conservar<\/h4>\n<p>En mi caso en concreto empleo -principalmente- el programa <a href=\"https:\/\/attic-backup.org\/quickstart.html#encrypted-repos\">attic<\/a> para realizar las copias. Dado que utiliza una clave criptogr\u00e1fica AES de 256 bits y una HMAC-SHA256 para verificar la autenticidad, conservados en un archivo concreto en la m\u00e1quina origen, bastar\u00e1 con guardar su contenido para poder acceder a ellas.<\/p>\n<p>Por cierto que el acceso no consiste s\u00f3lo en la recuperaci\u00f3n de datos, tambi\u00e9n en la manipulaci\u00f3n de las copias, por lo que sin ellas no es posible ni a\u00f1adir nueva informaci\u00f3n ni efectuar mantenimiento o consulta sobre ellas.<\/p>\n<p>Pero en cualquier caso disponer de la clave no es la \u00fanica informaci\u00f3n imprescindible; necesitamos m\u00e1s cosas, especialmente si las conexiones son raritas:<\/p>\n<ul>\n<li>La direcci\u00f3n de la m\u00e1quina origen: aquella de la que se realizan copias.<\/li>\n<li>La direcci\u00f3n de la m\u00e1quina destino: la que guarda las copias.<\/li>\n<li>El tipo de acceso al repositorio de copias: usuario y contrase\u00f1a, puerto, directorio destino, &#8230;<\/li>\n<\/ul>\n<p>Y luego est\u00e1 el problema de d\u00f3nde guardarlo de forma segura. No hay que olvidar que con esta informaci\u00f3n se dispone de acceso ilimitado a los datos guardados, a menos que se cuente con un segundo sistema de cifrado o alguna protecci\u00f3n similar.<\/p>\n<p>La primera idea es copiarlas a un lugar seguro, entendiendo \u00e9ste como con uno con un acceso nulo o muy limitado desde el exterior, adem\u00e1s de una buena organizaci\u00f3n para no olvidarse de d\u00f3nde est\u00e1. Porque esa es otra, a veces guardo tan bien las cosas que luego me veo obligado a perder el tiempo entre miles y miles de archivos hasta que consigo (o no) encontrarlas.<\/p>\n<p>Seguidamente pienso en lo que puede ocurrir si la m\u00e1quina donde se guardan las claves se cae o desaparece en el peor momento, y me doy cuenta de que los soportes f\u00edsicos como el papel siguen siendo fiables y que son los que voy a tener que utilizar como recurso final. Impresos y guardados bajo llave, o escondidos en la cama del perro, a elegir.<\/p>\n<h4>Y me pongo manos a la obra<\/h4>\n<p>Una vez que s\u00e9 qu\u00e9 datos debo conservar utilizo un formato de texto simple y llano para guardar una ficha de cada copia de seguridad.<\/p>\n<p>Tambi\u00e9n me planteo que como las claves son secuencias num\u00e9ricas bastante largas, me vendr\u00eda bien una forma de incorporarlas con sencillez a un portapapeles. Y pienso que los c\u00f3digos QR son la soluci\u00f3n m\u00e1s adecuada. Y busco y encuentro muchas herramientas para hacerlo; no es un problema.<\/p>\n<p>El plan es el siguiente:<\/p>\n<ol>\n<li>Elegir un lugar (digital) donde guardar todas las claves.<\/li>\n<li>Abrir una ficha por cada una de ellas en un archivo simple.<\/li>\n<li>Crear una imagen QR de la clave y guardarla en un archivo.<\/li>\n<li>Imprimir la ficha junto con la imagen. Bien combinadas en un documento que haga <em>bonito<\/em>, bien por separado.<\/li>\n<li>Archivar en lugar seguro.<\/li>\n<\/ol>\n<p>Todav\u00eda se puede ajustar un poco m\u00e1s si protejo criptogr\u00e1ficamente el almacenamiento de todas las claves; de momento lo dejo as\u00ed para poder pasar a la siguiente fase: probar las copias.<\/p>\n<h4>Un ejemplo<\/h4>\n<p>He registrado las copias (retocando algunos datos) en una ficha como la que menciono bajo el nombre de <em>esferas.org.txt<\/em> con este contenido:<\/p>\n<pre class=\"lang:default decode:true \">Origen: esferas.org\r\nDestino: backups.taquiones.net\r\nConexi\u00f3n: ssh:\/\/operador@backups.taquiones.net:998\r\nPassword: XXXXXXXX\r\nFormato: repositorio attic\r\n\r\nClave: \r\nATTIC KEY 61bc62c304cebce47c8a1f96993b7e150b835f5bee42ea104c5ab4c871958d3c\r\nhqRzYWx02gAgW4Dy2kFxvFgHoI8s80j1VcADpuMgQ1KTWv9FibnIksdfdmVyc2lvbgGqaX\r\nRlcmF0aW9uc84AAYagpGRhdGHaANBGjapalu87u8rjJ\/FD0lrsdf+PQuffWu5kf3LL1P2Y\r\nZArrQZ9p\/vV7NLLcuxHuN8wS6hqAwYavb7ufasVBFl7lGKv5ja2mJHk2w8irVPYajAVHI+\r\nQwNU9LaWpaKgfcpnEL3tvIG0V2XfweN+ugmJg5dfqaJ4wnJGX6QvPAC9nbXrL7OqzbfnKF\r\nbZn0ESYVjruHYuz1re+wkk6xpXQM5ssNsv8yVlecVKdfZasFgngTYw9crr6RHnpZ3O+O0S\r\n5Xv0KA8x5RQRgOHvDVqqsvpqTkqWFsZ29yaXRobaZzaGEysfakaGFzaNoAIBL\/Fvj9Nlci\r\njQEO2n4eWdhb3TdDWRM33n+ojUQPY5F9\r\n\r\n<\/pre>\n<p>Luego creo una imagen QR con los par\u00e1metros m\u00ednimos empleando <a href=\"http:\/\/fukuchi.org\/works\/qrencode\/manual\/\">qrencode <\/a><\/p>\n<pre class=\"lang:sh decode:true\">$ qrencode -o esferas.org.png &lt; esferas.org.txt<\/pre>\n<p><a href=\"https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/esferas.org_.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1961 size-full alignright\" src=\"https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/esferas.org_.png\" alt=\"esferas-org\" width=\"291\" height=\"291\" srcset=\"https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/esferas.org_.png 291w, https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/esferas.org_-150x150.png 150w, https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/esferas.org_-36x36.png 36w, https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/esferas.org_-133x133.png 133w\" sizes=\"auto, (max-width: 291px) 100vw, 291px\" \/><\/a>He probado a leerlo con <a href=\"https:\/\/f-droid.org\/repository\/browse\/?fdfilter=barcode&amp;fdid=com.google.zxing.client.android\">Barcode Scanner<\/a> en mi m\u00f3vil y ha enviarme una copia al correo electr\u00f3nico con muy buenos resultados (y r\u00e1pidos).<\/p>\n<p><a href=\"https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/Selecci\u00f3n_118.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1962 size-medium alignleft\" src=\"https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/Selecci\u00f3n_118-300x144.png\" alt=\"seleccion_118\" width=\"300\" height=\"144\" srcset=\"https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/Selecci\u00f3n_118-300x144.png 300w, https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/Selecci\u00f3n_118-768x367.png 768w, https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/Selecci\u00f3n_118-1024x490.png 1024w, https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/Selecci\u00f3n_118-133x64.png 133w, https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/Selecci\u00f3n_118.png 1087w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Imprimirlo es muy sencillo, basta con crear un peque\u00f1o documento al que se a\u00f1adan las dos informaciones y obtener una versi\u00f3n PDF. \u00bf Por qu\u00e9 no basta con lo anterior ? Pues porque si tengo que escribir la ristra de cifras sin cometer error voy dado. Es mejor tenerlo todo en una \u00fanica hoja.<\/p>\n<p><a href=\"https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/Sin-t\u00edtulo-1-2-LibreOffice-Writer_120.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1963\" src=\"https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/Sin-t\u00edtulo-1-2-LibreOffice-Writer_120-265x300.png\" alt=\"sin-titulo-1-2-libreoffice-writer_120\" width=\"265\" height=\"300\" srcset=\"https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/Sin-t\u00edtulo-1-2-LibreOffice-Writer_120-265x300.png 265w, https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/Sin-t\u00edtulo-1-2-LibreOffice-Writer_120-133x151.png 133w, https:\/\/esferas.org\/msqlu\/wp-content\/uploads\/sites\/12\/2016\/10\/Sin-t\u00edtulo-1-2-LibreOffice-Writer_120.png 584w\" sizes=\"auto, (max-width: 265px) 100vw, 265px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8230; y es que esta noche he tenido una pesadilla horrorosa. So\u00f1aba que uno de los servidores virtuales se estropeaba, no recuerdo por qu\u00e9, pero me ve\u00eda obligado a recuperarlo desde las copias de seguridad.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[2],"tags":[18,497,34,663,662,35],"class_list":["post-1954","post","type-post","status-publish","format-standard","hentry","category-software","tag-administracion-de-sistemas","tag-attic","tag-backups","tag-barcode-scanner","tag-qr","tag-seguridad"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/1954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/comments?post=1954"}],"version-history":[{"count":0,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/1954\/revisions"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=1954"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=1954"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=1954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}