Puede hacer una copia de seguridad de un contenedor cifrado como un solo objeto, o montarlo y copiar los archivos de dentro. Ambos atraviesan la VPN sin problema, y ahí acaba el parecido. Restauran cosas distintas, dependen de claves distintas, ocupan cantidades distintas de almacenamiento y fallan de maneras distintas cuando alguien necesita los datos de vuelta. Elija primero el objeto de restauración, luego el transporte y luego el cifrado de la copia almacenada. La lista de abajo sigue ese orden, porque casi toda disputa sobre copias de seguridad es en realidad un desacuerdo sobre cuál de esas tres decisiones se tomó primero.

Dos objetos, dos formas de restauración

Una copia de imagen restaura un contenedor: recupera el volumen cifrado y sigue necesitando su material de restauración para abrirlo. Una copia a nivel de archivos restaura archivos y árboles de directorios, y el cifrado que los protege es una propiedad del repositorio de copias, no del contenedor original. Una copia simple en una carpeta remota es un tercer caso, y hereda la protección que esa carpeta tenga por casualidad.

ObjectWhat a restore gives youWhere the encryption question lands
Encrypted container imageThe volume, still lockedThe container format and its recovery key material
Mounted files into a backup toolSelected files and metadataThe backup repositorys own keys and design
Plain copy to a remote folderWhatever the copy process keptWhatever protects that storage afterwards

La fila del medio es la que la gente lee mal. Puede ser un diseño perfectamente bueno: el programa de copias lee texto plano en local y escribe un repositorio cifrado y autenticado. Entonces la seguridad descansa en ese programa y en sus credenciales, no en la contraseña del contenedor original, y las dos cosas no deben describirse como si fueran el mismo control.

Comprobación 1: ¿qué debe reconstruir la restauración?

Haga la pregunta en forma de restauración, no de copia. Si el requisito es “devolver este servicio a otro host”, una imagen con su material de restauración es una respuesta coherente. Si el requisito es “recuperar la hoja de cálculo financiera de marzo”, restaurar una imagen de varios gigabytes solo para extraer un archivo es una forma cara de responder. Ambas son restauraciones legítimas y no son presupuestos intercambiables. Un plan que solo nombre una de ellas acabará siendo probado por la otra.

Escriba el objetivo de restauración en el plan: el volumen entero, un árbol de directorios o archivos individuales. Luego anote qué metadatos deben viajar con ellos, porque la propiedad, los permisos, los atributos extendidos y las marcas de tiempo forman parte de una restauración a nivel de archivos y a menudo se pierden en flujos de trabajo basados en copia que parecían suficientes durante las pruebas.

Decida también quién realiza la restauración. Un repositorio a nivel de archivos que cualquier operador puede montar es un modelo de acceso distinto del de una imagen que exige la presencia del titular de la clave, y ninguno es automáticamente mejor. Lo importante es que la elección sea deliberada y esté escrita.

Comprobación 2: ¿qué protege la copia almacenada?

La VPN protege un tramo del transporte. No dice nada sobre la copia almacenada una vez que termina la transferencia, y “pasó por el túnel” no es una afirmación sobre la capacidad del operador de copias para leer sus datos. Si el lado remoto lo gestiona otra persona, la pregunta es qué pueden leer ellos, no si el enlace estaba cifrado.

Para una imagen, eso significa proteger el material de clave del contenedor por separado de la imagen misma. Perder la cabecera es perder el volumen, así que haga una copia de la cabecera en un lugar donde no esté la imagen:

cryptsetup luksHeaderBackup /dev/vg0/data --header-backup-file data-header.img
cryptsetup luksDump /dev/vg0/data | head -20

Para un repositorio a nivel de archivos, verifique que la herramienta cifra y autentica el contenido y los metadatos antes de que salgan del host, y averigüe quién tiene las claves. La documentación de diseño de Restic es explícita en que asume un host de origen de confianza y en que el cifrado no impide que alguien con acceso al almacenamiento borre las copias. Ambos avisos importan: un repositorio puede ser confidencial y aun así ser destruido.

Comprobación 3: ¿es coherente la copia?

Una copia que captura un sistema de archivos en cambio es una copia, no un punto de restauración. Para una imagen, use el método admitido por la herramienta de volúmenes para una instantánea estable, que normalmente significa una operación de instantánea o un desmontaje en lugar de leer un archivo grande mientras cambia:

lvcreate -L 5G -s -n data-snap /dev/vg0/data
cryptsetup open /dev/vg0/data-snap data-snap --readonly

Para los archivos montados, use el procedimiento de coherencia admitido por la aplicación para bases de datos activas y otros datos coordinados. Una copia a nivel de sistema de archivos y un punto de restauración coherente con la aplicación son descripciones distintas, y la diferencia solo se hace visible cuando intenta arrancar la aplicación desde la copia restaurada.

Mantenga el material de restauración en una ruta protegida independiente. Perder la máquina original nunca debería hacer perder también la única credencial que abre su copia, que es exactamente lo que ocurre cuando el archivo de clave vive en el volumen que se está copiando. Pruebe esa separación a propósito: restaure en un host que nunca haya visto el original, usando solo lo que el plan dice que está disponible.

Comprobación 4: ¿la detección de cambios vale para este objeto?

Un contenedor cifrado parece un único archivo grande y opaco para la mayoría de las herramientas de transferencia, así que una pequeña edición en texto plano puede provocar una gran relectura o una subida completa según la herramienta y el formato. El troceado de tamaño variable y la deduplicación, como documenta restic, pueden reducirlo, pero es una propiedad de esa herramienta y no de los contenedores cifrados en general.

Mida en lugar de suponer. Compare una primera ejecución con una segunda tras un cambio pequeño e inofensivo, y anote los bytes transferidos y el tiempo transcurrido. Conserve una copia buena conocida mientras experimenta, para que una prueba no consuma su único punto de restauración.

Después termine la lista con la única prueba que cuenta: restaurar sin la máquina original. Abra un contenedor restaurado o restaure archivos seleccionados con sus metadatos, y confirme que la aplicación o el usuario puede usar el resultado. Una transferencia rápida y bien cifrada que no puede responder a esa prueba es una copia de sus datos, no una copia de seguridad.

Artículos relacionados