Passa al contenuto principale

Crittografa i dati a riposo

Introduzione​

La funzione Crittografa dati a riposo fornita da ONLYOFFICE Apps ti permette di garantire la sicurezza dei dati sensibili nel tuo workspace.

La crittografia è una conversione reversibile delle informazioni per mantenere la riservatezza dei dati memorizzati su disco. Pertanto, anche se degli intrusi riuscissero ad accedere ai dati memorizzati sul disco rigido, non sarebbero in grado di leggerli poiché sono crittografati.

La crittografia si basa sul tipo Encrypt-then-MAC (AES-256-CBC + HMAC-SHA256) dell'intero corpo dei dati all'interno dell'istanza ONLYOFFICE ed è conforme allo standard internazionale di crittografia dei dati AES-256. Il tipo di crittografia AES-256 con algoritmo simmetrico CipherMode.CBC viene utilizzato per cifrare i dati in ONLYOFFICE Apps, mentre la funzione di hashing SHA256 abbinata al codice di autenticazione del messaggio HMAC verifica l'integrità e l'autenticità dei dati crittografati.

Questa funzione è disponibile solo per le versioni server. Funziona solo per DiscDataStore (solo disco locale. Non implementato per s3 e altri servizi cloud).

Importante

Per motivi di sicurezza, non è consigliato memorizzare dati crittografati e chiavi di crittografia sulla stessa macchina. Pertanto, è necessario distribuire i servizi ONLYOFFICE Apps e l'archiviazione su disco su macchine diverse. L'unica opzione è montare un'altra macchina come unità esterna.

Montare un disco di una macchina remota tramite SSHFS​

Consideriamo l'opzione di montare il disco su Linux quando ONLYOFFICE Apps è installato tramite pacchetti DEB.

SSHFS (Secure SHell FileSystem) è un programma client per Linux (e altri sistemi operativi per i quali esiste un'implementazione FUSE (Filesystem in Userspace)) utilizzato per gestire file in remoto tramite il protocollo SSH (più precisamente, la sua estensione SFTP) come se fossero situati sul computer locale.

  • HostA è l'host del server applicativo con ONLYOFFICE Apps
  • HostB è l'host di archiviazione file
  • /var/www/onlyoffice/Data/ è il percorso della cartella dati su HostA
  • /app/onlyoffice/data è il percorso della cartella dati su HostB
  • apps è il nome dell'utente non privilegiato su HostA
  • datauser è il nome dell'utente non privilegiato su HostB

Passo 1. Configurazione di HostB​

Installa gli aggiornamenti sul sistema e riavvia:

sudo su
apt update
apt upgrade
reboot

Crea e configura l'utente non privilegiato e la cartella di destinazione:

sudo su
adduser datauser
mkdir /app/onlyoffice/data
chown datauser:datauser /app/onlyoffice/data

Passo 2. Configurazione di HostA​

Installa gli aggiornamenti e i pacchetti necessari sul sistema e riavvia:

sudo su
apt update
apt upgrade
apt install sshfs
reboot

Ferma i servizi ONLYOFFICE Apps:

sudo systemctl stop 'apps-*' --all

Sposta i dati di ONLYOFFICE Apps in una directory temporanea in modo che la directory di origine sia vuota prima del montaggio:

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

Crea l'utente non privilegiato, genera le chiavi e prepara il punto di montaggio:

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

Visualizza la chiave pubblica sullo schermo di HostA per copiarla su HostB:

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

Esempio di output:

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

La chiave visualizzata dal comando cat deve essere copiata e incollata nel file /home/datauser/.ssh/authorized_keys su HostB.

Testa la connessione utilizzando la chiave da HostA a HostB:

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

Se hai completato correttamente il passaggio precedente, si aprirà una connessione a HostB. Può essere chiusa con il comando exit.

Testa il montaggio:

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

Dopo aver eseguito questi comandi, il file test.txt dovrebbe apparire nella cartella /app/onlyoffice/data su HostB. Se il file appare, il montaggio funziona correttamente e puoi procedere alla configurazione finale.

Scopri l'ID dell'utente non privilegiato e apporta modifiche al file /etc/fstab:

sudo id -u apps

Questo comando visualizzerà l'uid dell'utente apps, che deve essere sostituito nei parametri uid e gid nella riga di montaggio:

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

Questa riga deve essere aggiunta al file /etc/fstab. Dopo aver aggiunto la riga, monta la cartella tramite /etc/fstab e testala:

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

Se tutte le procedure sono state eseguite correttamente, il file test2.txt verrà creato nella cartella /app/onlyoffice/data su HostB.

Elimina i file di test e ripristina i dati di ONLYOFFICE Apps:

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

Avvia i servizi ONLYOFFICE Apps:

sudo systemctl start 'apps-*' --all

Dopo aver avviato l'applicazione, verifica il funzionamento nell'interfaccia (scaricamento, apertura file, modifica dell'avatar, caricamento della licenza).

note

Allo stesso modo, puoi montare la cartella con i log.

Prepararsi al processo di crittografia​

Prima di iniziare la procedura di crittografia, è necessario eseguire alcuni passaggi preliminari.

  1. Nel tuo workspace, fai clic sul menu Icona opzioni nell'angolo in basso a sinistra e seleziona la voce di menu Spazi -> Gestione Spazi nel pannello laterale sinistro.
  2. Passa alla sezione Impostazioni -> Backup e disabilita la funzione Backup automatico dei dati.
  3. Assicurati che ci sia abbastanza spazio sul tuo disco rigido.
Importante

È consigliato salvare la machinekey dalla configurazione. Ad esempio, se reinstalli ONLYOFFICE Apps, non sarai in grado di connetterti ai dati crittografati con una machinekey diversa.

Se ONLYOFFICE Apps è installato utilizzando i pacchetti DEB o RPM, trova il valore core.machinekey nel file /etc/onlyoffice/apps/appsettings.<community|enterprise|developer>.json, sostituendo l'edizione effettivamente installata.

Dopo che le preparazioni preliminari sono pronte, puoi procedere al passaggio successivo.

Crittografa l'archiviazione​

  1. Passa alla sezione Gestione Spazi -> Impostazioni -> Archiviazione.

  2. Seleziona la casella Notifica agli utenti che lo spazio sarà non disponibile per avvisare tutti gli utenti attivi tramite email quando il processo di crittografia inizia.

    note

    Al completamento con successo del processo di crittografia, tutti gli utenti attivi riceveranno anche notifiche email. Se si verifica un errore durante il processo di crittografia, tutti gli amministratori (indipendentemente dall'opzione Notifica utenti) riceveranno notifiche email del processo di crittografia non riuscito.

  3. Fai clic sul pulsante Crittografa l'archiviazione e poi su OK per avviare il processo di crittografia.

Il tempo necessario per completare la procedura dipende dal volume dei dati. Tutti gli spazi saranno non disponibili durante il processo di crittografia. Non appena la crittografia è terminata, i dati del workspace saranno disponibili per il lavoro.

Crittografa l&#39;archiviazione

Importante

Viene generata una nuova password ogni volta che viene avviata la crittografia. Se la tua password è stata compromessa per qualche motivo, dovrai decrittografare tutti i dati e crittografarli nuovamente.

Importante

Quando il meccanismo di crittografia è abilitato, una nuova copia di backup dell'archivio dati conterrà file decrittografati. Quando una tale copia viene ripristinata, i file verranno crittografati nuovamente sul disco.

Importante

Se si verificano problemi durante l'esecuzione del servizio (errori critici, il servizio viene interrotto, l'elettricità viene spenta, ecc.), tutti gli spazi rimarranno bloccati. Possono essere risolti solo manualmente nel database: UPDATE tenants_tenants SET status='0' WHERE status='6';

Decrittografa l'archiviazione​

Per decrittografare i dati nel tuo workspace,

  1. Passa alla sezione Gestione Spazi -> Impostazioni -> Archiviazione.

  2. Seleziona la casella Notifica agli utenti che lo spazio non sarà disponibile per avvisare tutti gli utenti attivi via email quando inizia il processo di decrittografia.

    note

    Al termine con successo del processo di decrittografia, tutti gli utenti attivi riceveranno anche notifiche via email. Se si verifica un errore durante il processo di decrittografia, tutti gli amministratori (indipendentemente dall'opzione Notifica Utenti) riceveranno notifiche via email del processo di decrittografia non riuscito.

  3. Clicca sul pulsante Decritta archiviazione e poi su OK per avviare il processo di decrittografia.

    Decrittografa l&#39;archiviazione

Il tempo necessario per completare la procedura dipende dal volume dei dati. Tutti gli spazi saranno indisponibili durante il processo di decrittografia. Non appena la decrittografia sarà terminata, i dati del workspace saranno disponibili per il lavoro.