- Inicio
- DocSpace
- Configuración
- Cifrar datos en reposo
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).
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).
Prepararse para el proceso de cifrado
Antes de comenzar el procedimiento de cifrado, debes realizar algunos pasos preliminares.
- En tu DocSpace, haz clic en el menú
en la esquina inferior izquierda y selecciona el elemento de menú Espacios -> Gestión de Espacios en el panel lateral izquierdo. - Cambia a la sección Configuración -> Respaldo y desactiva la función Respaldo Automático de Datos.
- Asegúrate de que haya suficiente espacio en tu disco duro.
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
- Cambia a la sección Gestión de Espacios -> Configuración -> Almacenamiento.
-
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.
- 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.
UPDATE tenants_tenants SET status='0' WHERE status='6';Descifrar almacenamiento
Para descifrar datos en DocSpace,
- Cambia a la sección Gestión de Espacios -> Configuración Sección de almacenamiento.
-
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.
-
Haga clic en el botón Descifrar almacenamiento y luego en OK para iniciar el proceso de descifrado.
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.