Este artículo está traducido por IA

Cifrar datos en reposo

Introducción

La función Cifrar datos en reposo proporcionada por DocSpace te permite asegurar la seguridad de los datos sensibles en tu DocSpace.

El cifrado es una conversión reversible de la información para mantener la confidencialidad de los datos almacenados en disco. Así, incluso si los intrusos logran acceder a los datos almacenados en el disco duro, no podrán leerlos ya que están cifrados.

El cifrado se basa en el tipo de cifrado Encrypt-then-MAC (AES-256-CBC + HMAC-SHA256) de todo el cuerpo de datos dentro de la instancia de ONLYOFFICE y cumple con el estándar internacional de cifrado de datos AES-256. El tipo de cifrado AES-256 con el algoritmo simétrico CipherMode.CBC se utiliza para cifrar los datos en DocSpace, mientras que la función de hash SHA256 emparejada con el código de autenticación de mensajes HMAC verifica la integridad y autenticidad de los datos cifrados.

Esta función está disponible solo para versiones de servidor. Funciona solo para DiscDataStore (solo disco local. No implementado para s3 y otros servicios en la nube).

ImportantePor razones de seguridad, no se recomienda almacenar los datos cifrados y las claves de cifrado en la misma máquina. Por lo tanto, es necesario distribuir los servicios de DocSpace y el almacenamiento en disco en diferentes máquinas. La única opción es montar otra máquina como una unidad externa.

Montar un disco de máquina remota a través de SSHFS

Consideremos la opción de montar el disco en Linux cuando DocSpace está instalado a través de paquetes DEB.

SSHFS (Secure SHell FileSystem) es un programa cliente para Linux (y otros sistemas operativos para los cuales existe una implementación de FUSE (Filesystem in Userspace)) utilizado para gestionar archivos de manera remota a través del protocolo SSH (más precisamente, su extensión SFTP) como si estuvieran ubicados en el ordenador local.

  • HostA es el servidor de aplicaciones con DocSpace
  • HostB es el servidor de almacenamiento de archivos
  • /var/www/onlyoffice/Data/ es la ruta a la carpeta de datos en HostA
  • /app/onlyoffice/data es la ruta a la carpeta de datos en HostB
  • docspace es el nombre del usuario sin privilegios en HostA
  • datauser es el nombre del usuario sin privilegios en HostB
Paso 1. Configuración de HostB

Instala actualizaciones en el sistema y reinicia:

sudo su
apt update
apt upgrade
reboot

Crea y configura el usuario sin privilegios y la carpeta de destino:

sudo su
adduser datauser
mkdir /app/onlyoffice/data
chown datauser:datauser /app/onlyoffice/data
Paso 2. Configuración de HostA

Instala actualizaciones y paquetes necesarios en el sistema y reinicia:

sudo su
apt update
apt upgrade
apt install sshfs
reboot

Detén los servicios de DocSpace:

sudo systemctl stop 'docspace-*' --all

Mueve los datos de DocSpace a un directorio temporal para que el directorio de origen esté vacío antes de montar:

mkdir /var/www/onlyoffice/tmp
mv /var/www/onlyoffice/Data/* /var/www/onlyoffice/tmp/

Crea el usuario sin privilegios, genera claves y prepara el punto de montaje:

sudo su
adduser docspace
ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519 -C "key_for_hostb_connection"

Muestra la clave pública en la pantalla de HostA para copiarla a HostB:

sudo su
cat /root/.ssh/id_ed25519.pub

Ejemplo de salida:

root@sftp-test-01:~# cat /root/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBsDV25Pg8yB1QHeTZXJGphGTDhfqQQKVetcqvhk0dkf key_for_hostb_connection

La clave mostrada por el comando cat debe copiarse y pegarse en el archivo /home/datauser/.ssh/authorized_keys en HostB.

Prueba la conexión usando la clave de HostA a HostB:

ssh -i /root/.ssh/id_ed25519 datauser@hostB

Si completaste el paso anterior correctamente, se abrirá una conexión a HostB. Se puede cerrar con el comando exit.

Prueba el montaje:

sshfs -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 datauser@hostB:/app/onlyoffice/data/ /var/www/onlyoffice/Data/
touch /var/www/onlyoffice/Data/test.txt
umount /var/www/onlyoffice/Data

Después de ejecutar estos comandos, el archivo text.txt debería aparecer en la carpeta /app/onlyoffice/data en HostB. Si el archivo aparece, el montaje funciona correctamente y puedes proceder a la configuración final.

Descubre el ID del usuario sin privilegios y realiza cambios en el archivo /etc/fstab:

sudo id -u docspace

Este comando mostrará el uid del usuario docspace, que debe sustituirse en los parámetros uid y gid en la línea de montaje:

sshfs#datauser@hostB:/app/onlyoffice/data   /var/www/onlyoffice/Data   fuse   _netdev,users,allow_other,IdentityFile=/root/.ssh/id_ed25519,ServerAliveInterval=15,ServerAliveCountMax=3,reconnect,uid=1000,gid=1000,umask=0022   0   0

Esta línea debe añadirse al archivo /etc/fstab. Después de añadir la línea, monta la carpeta a través de /etc/fstab y pruébalo:

sudo su
systemctl daemon-reload
mount -a
su docspace
touch /var/www/onlyoffice/Data/test2.txt

Si todos los procedimientos se realizan correctamente, el archivo test2.txt se creará en la carpeta /app/onlyoffice/data en HostB.

Elimina los archivos de prueba y restaura los datos de DocSpace:

rm /var/www/onlyoffice/Data/test*.txt
mv /var/www/onlyoffice/tmp/* /var/www/onlyoffice/Data/
rmdir /var/www/onlyoffice/tmp

Inicia los servicios de DocSpace:

sudo systemctl start 'docspace-*' --all

Después de iniciar la aplicación, verifica el funcionamiento en la interfaz (descargando, abriendo archivos, cambiando el avatar, subiendo la licencia).

De manera similar, puedes montar la carpeta con los registros.

Prepararse para el proceso de cifrado

Antes de comenzar el procedimiento de cifrado, debes realizar algunos pasos preliminares.

  1. En tu DocSpace, haz clic en el menú Icono de Opciones en la esquina inferior izquierda y selecciona el elemento de menú Espacios -> Gestión de Espacios en el panel lateral izquierdo.
  2. Cambia a la sección Configuración -> Respaldo y desactiva la función Respaldo Automático de Datos.
  3. Asegúrate de que haya suficiente espacio en tu disco duro.
ImportanteSe recomienda guardar el machinekey de la configuración. Por ejemplo, si reinstalas DocSpace, no podrás conectarte a los datos cifrados con un machinekey diferente.

Si DocSpace está instalado usando los paquetes DEB, encuentra el valor core.machinekey en el archivo /etc/onlyoffice/docspace/appsettings.production.json.

Después de que las preparaciones preliminares estén listas, puedes proceder al siguiente paso.

Cifrar almacenamiento

  1. Cambia a la sección Gestión de Espacios -> Configuración -> Almacenamiento.
  2. Marca la casilla Notificar a los usuarios que el espacio no estará disponible para notificar a todos los usuarios activos por correo electrónico cuando comience el proceso de cifrado.
    Al completar con éxito el proceso de cifrado, todos los usuarios activos también recibirán notificaciones por correo electrónico. Si ocurre un error durante el proceso de cifrado, entonces todos los administradores (independientemente de la opción Notificar a los usuarios) recibirán notificaciones por correo electrónico del proceso de cifrado fallido.
  3. Haz clic en el botón Cifrar almacenamiento y luego en OK para iniciar el proceso de cifrado.

El tiempo requerido para completar el procedimiento depende del volumen de datos. Todos los espacios estarán no disponibles durante el proceso de cifrado. Tan pronto como termine el cifrado, los datos de DocSpace estarán disponibles para trabajar.

Cifrar almacenamiento Cifrar almacenamiento
ImportanteSe genera una nueva contraseña cada vez que se inicia el cifrado. Si tu contraseña ha sido comprometida por alguna razón, necesitarás descifrar todos los datos y volver a cifrarlos.
ImportanteCuando se habilita el mecanismo de cifrado, una copia de seguridad recién creada del archivo de datos contendrá archivos descifrados. Cuando se restaura dicha copia, los archivos se cifrarán nuevamente en el disco.
ImportanteSi surgen problemas mientras el servicio está en funcionamiento (errores críticos, el servicio se detiene, se corta la electricidad, etc.), todos los espacios permanecerán bloqueados. Solo pueden solucionarse manualmente en la base de datos: UPDATE tenants_tenants SET status='0' WHERE status='6';

Descifrar almacenamiento

Para descifrar datos en DocSpace,

  1. Cambia a la sección Gestión de Espacios -> Configuración Sección de almacenamiento.
  2. Marque la casilla Notificar a los usuarios que el espacio no estará disponible para notificar a todos los usuarios activos por correo electrónico cuando comience el proceso de descifrado.
    Al completar con éxito el proceso de descifrado, todos los usuarios activos también recibirán notificaciones por correo electrónico. Si ocurre un error durante el proceso de descifrado, todos los administradores (independientemente de la opción Notificar a los usuarios) recibirán notificaciones por correo electrónico del proceso de descifrado fallido.
  3. Haga clic en el botón Descifrar almacenamiento y luego en OK para iniciar el proceso de descifrado.
    Descifrar almacenamiento Descifrar almacenamiento

El tiempo necesario para completar el procedimiento depende del volumen de datos. Todos los espacios estarán no disponibles durante el proceso de cifrado. Tan pronto como termine el cifrado, los datos de DocSpace estarán disponibles para trabajar.

Artículos con etiqueta:
Ver todas las etiquetas