Cifrado para rsync eficiente

4

Uso rsync (también llamado deltacopy) para copiar un archivo de texto grande (6GB) (volcado de base de datos SQL) en un servidor remoto. esto me permite una reducción de ancho de banda de 100: 1 en lugar de simplemente copiar el archivo, ya que la mayoría del contenido no cambia día a día

Este es un solo archivo que contiene todos los datos de la base de datos, rsync compara el contenido pieza por pieza con el contenido de destino (mediante hashes) y solo envía los hashes y las partes modificadas por el cable.

En su lugar, puedo generar un volcado con un archivo por tabla de base de datos, pero las únicas tablas que probablemente no se modifiquen día a día son pequeñas.

Quiero comenzar a cifrar este archivo en el origen y almacenar solo copias encriptadas en el destino, pero me parece que cualquier cifrado más fuerte que un simple cifrado de sustitución va a comprometer la eficiencia que obtengo al usar rsync.

¿Hay algún cifrado fuerte que pueda usar para este propósito?

    
pregunta Jasen 16.05.2018 - 01:26
fuente

2 respuestas

2

Puedes usar duplicidad para eso. Duplicity es una aplicación escrita en Python que utiliza librsync, GnuPG y tar para copias de seguridad incrementales, cifradas y firmadas. Está diseñado específicamente para situaciones en las que el servidor no es de confianza (por ejemplo, cuando se utiliza Dropbox o un Amazon VPS). Duplicity calcula el delta entre el archivo local y el archivo remoto (con metadatos almacenados en caché localmente) y envía un archivo cifrado al servidor remoto que contiene registros de cambios incrementales y datos asociados. Cada archivo de instantáneas suele tener un tamaño de 25 MiB (aunque es configurable), y sin la clave, es imposible saber si el archivo de instantáneas contiene 25 MiB de nuevos archivos, 25 MiB de cambios incrementales, o incluso 25 MiB de metadatos , como los registros de eliminación de archivos.

La duplicidad generalmente solo transmitirá una copia de seguridad completa una sola vez, y luego todas las copias de seguridad subsiguientes serán en forma de deltas. Esto lo hace similar a un sistema de revisión donde todos los cambios pasados pueden revertirse. Cuando se elimina un archivo local y se sincroniza con el servidor remoto, el archivo remoto simplemente se marca como borrado. Por supuesto, es posible en cualquier momento "limpiar" los cambios anteriores y hacer una nueva copia de seguridad completa para ahorrar espacio. Consulte la página del manual para obtener más información.

El beneficio de la duplicidad es que el servidor de destino no puede confiar completamente sin comprometer la capacidad de realizar copias de seguridad eficientes e incrementales. Se debe almacenar localmente un caché moderado de metadatos para que esto sea posible, pero puede intercambiar los requisitos de almacenamiento para los requisitos de ancho de banda y volver a descargar los metadatos antes de cada sincronización.

    
respondido por el forest 16.05.2018 - 02:27
fuente
0

Un algoritmo de cifrado se considera efectivo cuando su salida no se puede diferenciar de los datos aleatorios. Por lo tanto, no es posible tener una buena compresión y cifrado, ya que la compresión se basa en la identificación de patrones de datos.

Lo más probable es que su solución solo cifre y transfiera la diferencia entre las versiones de ese archivo.

    
respondido por el P. Cap 16.05.2018 - 05:05
fuente

Lea otras preguntas en las etiquetas