Chiffrer des données au repos

Introduction

La fonctionnalité Chiffrement de données au repos dans DocSpace permet de garantir la sécurité des données sensibles dans votre DocSpace.

Chiffrement est une transformation réversible d'informations afin de garantir une confidentialité des données stockées sur un disque. Alors, si un intrus parvenait à accéder aux données sur un disque dur, celles-ci seraient rendues inexploitables, car chiffrées.

Le chiffrement est basé sur la paradigme encrypt-then-mac (AES-256-CBC + HMAC-SHA256) qui est mis en place pour tout l'ensemble de données dans l'instance ONLYOFFICE et qui est conforme aux normes internationales de protection des données AES-256 . Le chiffrement AES-256 est une méthode de chiffrement symétrique avec l'algorithme CipherMode.CBC utilisée pour chiffrer les données de DocSpace, tandis que la fonction de hachage SHA256 associée au filtrage du code d'authentification des messages HMAC permet de vérifier l'intégrité et l'authenticité des données chiffrées.

Cette fonctionnalité n'est disponible que dans la version de serveur. Cela fonctionne uniquement avec DiscDataStore (uniquement sur disque local. Cela ne concerne pas s3 et d'autres service cloud).

ImportantPour des raisons de sécurité, il n'est pas recommandé de stocker des données chiffrées et des clés de chiffrement sur le même ordinateur. Alors, il est nécessaire de distribuer les services DocSpace et le stockage sur disque sur plusieurs ordinateurs. La seule option est de monter une autre machine en tant que lecteur externe.

Monter une machine distante via SSHFS

Examinons l'option de montage du disque sous Linux lorsque DocSpace est installé à partir des paquets DEB.

SSHFS (Secure SHell FileSystem) est un système de fichiers client sous Linux (et d'autres systèmes d'exploitation qui prennent en charge l'implémentation FUSE (Filesystem in Userspace)) permettant de monter des répertoires distants utilisant le protocole SSH (notamment l'extension SFTP) comme s'ils se trouvaient sur l'ordinateur local.

  • HostA est l'hôte du serveur d'applications pour DocSpace
  • HostB est l'hôte du stockage de fichiers
  • /var/www/onlyoffice/Data/ est le chemin d'accès au dossier sur HostA
  • /app/onlyoffice/data est le chemin d'accès au dossier sur HostB
  • docspace est le nom de l'utilisateur qui ne dispose pas des privilèges sur HostA
  • datauser est le nom de l'utilisateur qui ne dispose pas des privilèges sur HostB
Étape 1. Configurer HostB

Installez les mises à jour et redémarrez le système:

sudo su
apt update
apt upgrade
reboot

Créez et configurez l'utilisateur qui ne dispose pas des privilèges et le dossier cible:

sudo su
adduser datauser
mkdir /app/onlyoffice/data
chown datauser:datauser /app/onlyoffice/data
Étape 2. Configurer HostA

Installez les mises à jour et les paquets nécessaires et redémarrez le système:

sudo su
apt update
apt upgrade
apt install sshfs
reboot

Arrêtez les services DocSpace:

sudo systemctl stop 'docspace-*' --all

Déplacez les données DocSpace vers un répertoire temporaire afin que le répertoire source soit vide avant le montage:

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

Créez l'utilisateur qui ne dispose pas des privilèges, générez les clés et préparez le point de montage:

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

Affichez la clé publique sur l'écran de HostA pour les copier vers HostB:

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

Exemple de sortie:

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

Il faut copier et coller la clé renvoyée par la commande cat dans le fichier /home/datauser/.ssh/authorized_keys sur HostB.

Testez la connexion utilisant la clé de HostA pour HostB:

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

Si l'étape précédente est correcte, la connexion avec Hostb s'ouvrira. Utilisez la commande exit pour fermer la connexion.

Essayez le monage:

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

Lors de l'exécution de ses commandes, le fichier text.txt doit apparaître dans le dossier /app/onlyoffice/data sur HostB. Si ce fichier existe, le montage fonctionne correctement et vous pouvez procéder à la configuration finale.

Recherchez l'ID de l'utilisateur qui ne dispose pas des privilèges et apportez les modifications au fichier /etc/fstab:

sudo id -u docspace

Cette commande afficher l'UID de l'utilisateur docspace let vous devez substituer les valeurs uid et gid dans la ligne de montage avec cet UID:

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

Il faut ajouter cette ligne au fichier /etc/fstab. Une fois la ligne ajoutée, montez le dossier via /etc/fstab et faites un test:

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

Si tous les processus et procédures soient exécutés correctement, le fichier test2.txt apparaîtra dans le dossier /app/onlyoffice/data sur HostB.

Supprimez les fichiers de test et restaurez les données de DocSpace:

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

Démarrez les services DocSpace:

sudo systemctl start 'docspace-*' --all

Une fois l'application démarrée, vérifiez le fonctionnement de l'interface (téléchargement, ouverture des fichiers, modification d'avatar, téléchargement de la licence).

Vous pouvez également monter le dossier avec les journaux d'activité.

Préparer le processus de chiffrement

Avant de commencer le processus de chiffrement, il faut effectuer quelques opérations préliminaires.

  1. Dans votre DocSpace, cliquez sur le menu Icône Options dans le coin inférieur gauche et sélectionnez Espaces -> Gestion d'espaces dans le menu sur le volet gauche.
  2. Passez à la section Paramètres -> Sauvegarde et désactivez l'option Activer la sauvegarde automatique.
  3. Assurez-vous d'avoir suffisamment d'espace disque disponible.
ImportantIl est recommandé de conserver la machinekey du fichier config. Par exemple, lorsque vous réinstallez DocSpace, il sera impossible de vous connecter aux données chiffrées ulisant une aute machinekey.

Lorsque DocSpace est installé depuis des paquets DEB, recherchez la valeur core.machinekey dans le fichier /etc/onlyoffice/docspace/appsettings.production.json.

Une fois l'étape de préparation terminée, vous pouvez passez à l'étape suivante.

Chiffrer le stockage

  1. Passez à la section Gestion d'espaces -> Paramètres -> Stockage.
  2. Activez l'option Avertir les utilisateurs que l'espace ne sera pas disponible pour informer des utilisateurs actifs par e-mail lors du lancement de chiffrement.
    Une fois le chiffrement terminé avec succès, tous utilisateurs actifs recevront une notification par e-mail. Si une erreur se produit lors du chiffrement, tous les administrateurs (sans tenir compte de l'option Notifier des utilisateurs) recevront une notification de l'échec du chiffrement par e-mail.
  3. Cliquez sur Chiffrement de données au stockage, et ensuite sur OK pour lancer le chiffrement.

Le temps nécessaire à la réalisation de cette procédure dépend du volume de données. Tous les espaces sont rendus indisponibles pendant le processus de déchiffrement. Une fois le déchiffrement terminé, toutes les données deviennent disponibles dans DocSpace.

Chiffrer le stockage Chiffrer le stockage
ImportantUn nouveau mot de passe est généré à chaque fois que le chiffrement est démarré. Lorsque votre mot de passe est compromis pour une raison quelconque, il vous faut déchiffrer vos données et les chiffrer à nouveau.
ImportantUne fois le chiffrement activé, la sauvegarde de données archivées comportera des données déchiffrés. Lors de restauration de cette copie, tous les fichiers seront chiffrés encore une foi sur le disque.
ImportantSi des problèmes surviennent pendant le fonctionnement du service (erreurs critiques, arrêt du service, coupure d'électricité, etc.), tous les espaces resteront bloqués. Il est possible de les réparer manuellement depuis la base de données: UPDATE tenants_tenants SET status='0' WHERE status='6';

Déchiffrer le stockage

Pour déchiffrer les données de DocSpace,

  1. Passez à la section Gestion d'espaces -> Paramètres -> Stockage.
  2. Activez l'option Avertir les utilisateurs que l'espace ne sera pas disponible pour informer des utilisateurs actifs par e-mail lors du lancement de déchiffrement.
    Une fois le déchiffrement terminé avec succès, tous utilisateurs actifs recevront une notification par e-mail. Si une erreur se produit lors du déchiffrement, tous les administrateurs (sans tenir compte de l'option Notifier des utilisateurs) recevront une notification de l'échec du déchiffrement par e-mail.
  3. Cliquez sur Déchiffrement de données au stockage, et ensuite sur OK pour lancer le chiffrement.
    Déchiffrer le stockage Déchiffrer le stockage

Le temps nécessaire à la réalisation de cette procédure dépend du volume de données. Tous les espaces sont rendus indisponibles pendant le processus de déchiffrement. Une fois le déchiffrement terminé, toutes les données deviennent disponiblesdans DocSpace.

Hébergez ONLYOFFICE DocSpace sur votre serveur ou utilisez dans le cloud

Articles avec le tag :
Parcourir tous les tags