- Accueil
- DocSpace
- Configuration
- Chiffrer des données au repos
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).
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).
Préparer le processus de chiffrement
Avant de commencer le processus de chiffrement, il faut effectuer quelques opérations préliminaires.
- Dans votre DocSpace, cliquez sur le menu
dans le coin inférieur gauche et sélectionnez Espaces -> Gestion d'espaces dans le menu sur le volet gauche.
- Passez à la section Paramètres -> Sauvegarde et désactivez l'option Activer la sauvegarde automatique.
- Assurez-vous d'avoir suffisamment d'espace disque disponible.
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
- Passez à la section Gestion d'espaces -> Paramètres -> Stockage.
- 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.
- 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.


UPDATE tenants_tenants SET status='0' WHERE status='6';
Déchiffrer le stockage
Pour déchiffrer les données de DocSpace,
- Passez à la section Gestion d'espaces -> Paramètres -> Stockage.
- 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.
- Cliquez sur Dé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 disponiblesdans DocSpace.