Tengo un servidor de respaldo, que crea archivos xz
comprimidos tar
de árboles de directorios para respaldar. Estos archivos de alquitrán pueden ser enormes (múltiples TB), están split
en pedazos (2.5TB), y cada pieza está escrita en una cinta LTO-6, y las cintas salen del sitio.
Ahora quiero agregar cifrado. Puedo GPG cifrar el archivo tar antes de dividirlo, usando el cifrado de clave pública-privada y con uno o más destinatarios (claves públicas de administrador).
Sin embargo, en caso de recuperación, al menos un administrador debe poner su clave privada en el servidor de respaldo, ya que los archivos son demasiado grandes para desempaquetarlos en otro lugar.
GPG utiliza un esquema de cifrado híbrido bajo el capó, con un cifrado simétrico como AES con una clave de sesión, y solo esa clave de sesión obtiene una clave pública-privada cifrada para los destinatarios.
¿Hay alguna manera de permitir que un administrador proporcione la clave de sesión para descifrar el archivo a recuperar sin poner la clave privada en el servidor de respaldo ?
Podría reinventar la rueda, por supuesto:
- crear una clave de sesión aleatoria en el servidor de respaldo por cada archivo a respaldar
- usar cifrado simétrico GPG para cifrar el archivo
- use el cifrado asimétrico GPG para cifrar la clave de sesión para cada destinatario
Pero, ¿hay una forma "estándar" o integrada o de mejores prácticas para lograr lo anterior?
head
y tal. El enfoque resuelve mi picazón original.Parece que la mayor parte de su pregunta ha sido respondida, sin embargo, si su equipo administrador desconfía de las claves privadas que terminan fuera de su control local, podría considerar
sshfs
montar las copias de seguridad remotas en una sesión ssh.Instalar a través de apt en el sistema de cada administrador remoto
Asumiendo que la configuración ssh de los administradores se parezca a la siguiente
Entonces sus administradores pueden usar algo como a continuación para montar
Para desmontar después de la inspección, el administrador remoto puede usar lo siguiente
Lo bueno de usar sshfs es que solo se necesitan claves públicas para GnuPG y ssh en el servidor remoto, las claves privadas relacionadas permanecen en los sistemas que los poseen. La segunda parte es que hasta que se lea o acceda, la mayor parte de la información del archivo permanece en su sistema de archivos relacionado.
Si todavía está buscando herramientas para facilitar el cifrado automático de registros o directorios, es posible que desee verificar la herramienta de concepto que he introducido en GitHub (específicamente el Escenario Cuatro escrito para su
sshsf
uso) que con una pequeña personalización cifrará felizmente casi cualquier datos a través de GnuPG. Pero tenga en cuenta que es experimental y que algunas de sus características pueden dañar los datos si se usan incorrectamente. El código fuente tiene menos de ~ 1600 ~ líneas, por lo que es muy posible auditar en menos de un fin de semana.Se puede obtener seguridad adicional configurando la configuración ssh del servidor remoto para que los usuarios de chroot solo permitan el acceso al directorio encriptado y deshabiliten el shell interactivo para las claves de administrador que se usan de esta manera.
fuente
Si desea que la clave secreta se mantenga fuera de los discos duros, puede crear un disco RAM (¿recuerda eso?) Y cargar las claves secretas allí desde su ubicación segura que no está en el servidor según sea necesario. Úselo para descifrar y cuando termine, sobrescríbalo con / dev / random. El secreto tiene que ir a la RAM para que GPG lo use de todos modos, entonces, ¿por qué no dos veces?
Si no puede permitir que una clave secreta esté alguna vez en el servidor, incluso en la RAM, entonces tiene una imposibilidad técnica. GPG debe tener la clave secreta en algún lugar para descifrar cualquier cosa.
Información de Ramdisk: /unix/66329/creating-a-ram-disk-on-linux
fuente