Configuration du chiffrement

Le but principal du chiffrement du serveur ownCloud est de protéger les fichiers sur les services de stockage distants connectés à votre serveur ownCloud, tels que Dropbox et Google Drive. C’est un moyen simple et facile pour protéger vos fichiers sur un stockage distant.

Dans ownCloud 9.0 le chiffrement fait une distinction entre le chiffrement local et celui des stockages distants. Ceci permet de chiffrer vos stockages distants tels que Dropbox et Google sans avoir à chiffrer également vos fichiers locaux sur le serveur ownCloud.

Note

À compter de la version 9.0 d’ownCloud, le chiffrement authentifié pour tous les nouveaux fichiers chiffrés est géré. consulter https://hackerone.com/reports/108082 pour plus d’informations techniques sur l’impact.

Pour une sécurité maximale, assurez-vous de configurer les stockages externes avec l’option « Rechercher les modifications : Jamais ». Ceci permettra au serveur ownCloud d’ignorer les nouveaux fichiers qui ne sont pas ajoutés via ownCloud, de sorte qu’un administrateur d’un service de stockage distant malveillant ne pourra pas ajouter de fichiers sur votre stockage sans que vous le sachiez. Bien sûr, ce n’est pas approprié si votre stockage distant nécessite des changements externes à ownCloud qui sont légitimes.

ownCloud chiffre les fichiers stockés sur le serveur ownCloud et ceux des stockages distants connectés à votre serveur ownCloud. Le chiffrement et le déchiffrement sont réalisés par le serveur ownCloud. Tous les fichiers envoyés sur le stockage distant seront chiffrés par le serveur ownCloud, et déchiffrés lorsqu’ils sont récupérés avant de vous être présentés ou présentés aux personnes avec qui vous les partagez.

Note

Le chiffrement des fichiers augmente la taille d’environ 35% : vous devez donc prendre en compte cette information quand vous estimez la taille du stockage de votre serveur et quand vous définissez les quotas de stockage utilisateur. Les quotas des utilisateurs sont basés sur la taille des fichiers non chiffrés et non sur la taille des fichiers chiffrés.

Quand les fichiers des stockages externes sont chiffrés par ownCloud, vous ne pouvez pas les partagez directement à partir de votre service de stockage externe mais seulement par l’intermédiaire du serveur ownCloud car la clé de chiffrement des données ne quitte jamais le serveur ownCloud.

Le chiffrement d’ownCloud utilise une clé de chiffrement forte qui est débloquée par le mot de passe des utilisateurs. Vos utilisateurs n’ont pas besoin de retenir un mot de passe supplémentaire, mais juste de se connecter comme d’habitude. Le chiffrement ne concerne que le contenu des fichiers et pas le nom des fichiers ou des dossiers.

Important

Pensez à sauvegarder régulièrement toutes les clés de chiffrement pour empêcher toute perte de données irréversible.

Les clés de chiffrement sont stockées dans les répertoires suivants :

Répertoire Description
data/<user>/files_encryption clés privées des utilisateurs et toutes les autres clés nécessaires au déchiffrement des fichiers utilisateur.
data/files_encryption clés privées et toutes les autres clés nécessaires au déchiffrement des fichiers stockés sur un stockage externe.

Note

Vous pouvez déplacer les clés dans un emplacement différent. Pour se faire, f*référez-vous à la section Changement de l’emplacement des clés de la documentation.

Quand le chiffrement est activé, tous les fichiers sont chiffrés et déchiffrés par l’application ownCloud, et stockés chiffrés sur le stockage distant. Ceci protège vos données sur le stockage distant. L’administrateur d’ownCloud et du stockage distant ne verront que des fichiers chiffrés et parcourant les dossiers.

Avertissement

Les clés de chiffrement sont stockées uniquement sur le serveur ownCloud, éliminant ainsi l’exposition de vos données aux fournisseurs de stockage tiers. L’application de chiffrement ne protège pas vos données si le serveur owncloud est compromis et s’il n’empêche pas les administrateurs d’ownCloud de lire les fichiers des utilisateurs. Ceci nécessiterait un chiffrement du côté client, ce que cette application ne fournit pas. Si votre serveur ownCloud n’est connecté à aucun service de stockage externe, il est alors préférable d’utiliser d’autres outils de chiffrement, comme des outils de chiffrement de fichiers ou de disque.

Important

Veuillez également noter que le chiffrement SSL s’arrête au serveur Apache du serveur ownCloud et que les fichiers existent dans un état non chiffré entre la terminaison de la connexion SSL et le code d’ownCloud qui chiffre et déchiffre les fichiers. Ceci peut être exploité par quiconque possèdant un accès administrateur sur votre serveur. Lire How ownCloud uses encryption to protect your data pour plus d’informations.

Avant d’activer le chiffrement

Prenez toutes les précautions utiles avant d’activer le chiffrement car celui-ci n’est pas réversible à partir de l’interface Web d’ownCloud. Si vous perdez vos clés de chiffrement, vous ne pourrez pas récupérer vos fichiers. Assurez-vous toujours d’avoir une sauvegarde de vos clés de chiffrement stockée dans un endroit sûr et envisagez d’activer toutes les options de récupération.

Il existe plus d’options avec la commande occ (voir Changement du mot de passe de la clé de récupération)

Activation du chiffrement

Le chiffrement dans ownCloud se compose de deux parties. Le système de chiffrement de base est activé ou désactivé sur la page d’administration. Vous devez d’abord activer ceci, puis sélectionner le module de chiffrement à charger. Le seul module de chiffrement disponible actuellement est le module de chiffrement par défaut d’ownCloud.

Tout d’abord rendez-vous dans la section Chiffrement côté serveur de votre page d’administration et cochez la case Activer le chiffrement côté serveur. Vous avez encore une dernière chance pour changer d’avis.

../_images/encryption3.png

Après avoir cliqué sur le bouton Activer le chiffrement, le message « Aucun module de chiffrement n’est chargé. Merci d’activer un module de chiffrement dans le menu des applications. » apparaît. Rendez-vous alors dans votre page Applications pour activer le module de chiffrement par défaut d’ownCloud.

../_images/encryption1.png

Retournez sur la page d’administration pour voir que le module de chiffrement par défaut d’ownCloud a été ajouté au sélecteur de module et sélectionné automatiquement. Maintenant, vous devez vous déconnecter et vous reconnecter pour initialiser vos clés de chiffrement.

../_images/encryption14.png

Après votre reconnexion, il y a une case à cocher pour activer le chiffrement de l’espace de stockage principal. Celle-ci est cochée par défaut. Désélectionnez la case pour empêcher le chiffrement de l’espace de stockage principal.

../_images/encryption15.png

Activation du chiffrement en ligne de commande

Pour activer le chiffrement en ligne de commande, exécutez les deux commandes suivantes :

# Active l'application de chiffrement par défaut
php occ app:enable encryption

# Active le chiffrement
php occ encryption:enable

Note

Veuillez noter que les commandes doivent être passées dans cet ordre.

Activation du chiffrement basé sur la clé maître

Pour activer le chiffrement basé sur la clé maître :

  1. Activez l’application Encryption, en utilisant la commande suivante

    php occ app:enable encryption
    
  2. Puis, activez le chiffrement en utilisant la commande suivante

    php occ encryption:enable
    
  3. Enfin, activez la clé maître en utilisant la commande suivante

    php occ encryption:enable-master-key
    

Note

Quand LDAP est configuré avec une règle de nommage du dossier home utilisateur, le chiffrement rencontre quelques problèmes. C’est un bogue connu et nous travaillons pour le résoudre.

Partage de fichiers chiffrés

Après l’activation du chiffrement, vos utilisateurs devont également se déconnecter et se reconnecter pour générer leurs clés personnelles de chiffrement. Un bandeau jaune apparaîtra en haut de l’écran les invitant à se déconnecter et à se reconnecter.

../_images/chiffrement1.png

Les propriétaires de partage pourraient avoir besoin de re-partager leurs fichiers après l’activation du chiffrement. Les utilisateurs essayant d’accéder au partage verront un message les invitant à demander au propriétaire du partage de re-partager les fichiers avec eux. Pour les partages individuels, il suffit d’enlever le partage et de le remettre. Pour les partages de groupes, créez un partage individuel avec chaque personne ne pouvant accéder au partage. Ceci met à jour le chiffrement et le propriétaire du partage peut alors supprimer les partages individuels.

../_images/encryption9.png

Chiffrement des points de montage externes

Vous et vos utilisateurs peuvent chiffrer individuellement des points de montage externes. Vous devez avoir l’application de Stockages externes activée sur votre page d’administration et activée pour vos utilisateurs.

Les paramètres de chiffrement peuvent être configurés dans les options de montage pour un point de montage externe, consulter Options de montage (Configuration du stockage externe (interface graphique))

Activation des clés de récupération de fichiers des utilisateurs

Si vous perdez votre mot de passe ownCloud, vous perdez alors l’accès à vos fichiers chiffrés. Si l’un de vos utilisateurs perd son mot de passe ownCloud, ses fichiers sont irrécupérables. Vous ne pouvez pas réinitialiser son mot de passe de façon normale. Vous verrez alors un bandeau jaune indiquant : « Veuillez fournir un mot de passe administrateur de récupération de données, sinon toutes les données de l’utilisateur seront perdues. »

Pour éviter cela, créez une clé de récupération. Rendez-vous dans la section Chiffrement de votre page d’administration et définissez un mot de passe de récupération.

../_images/encryption10.png

Vos utilisateurs auront alors la possibilité d’activer le mot de passe de récupération sur leur page Personnel. S’ils ne le font pas, la clé de récupération ne fonctionnera pas pour eux.

../_images/encryption7.png

Pour les utilisateurs ayant activé la récupération du mot de passe, donnez-leur un nouveau mot de passe et l’accès à leurs fichiers chiffrés en fournissant la clé de récupération sur la page Utilisateurs.

../_images/encryption8.png

Vous pouvez changer votre mot de passe de récupération.

../_images/encryption12.png

Changement du mot de passe de la clé de récupération

Suivez ces étapes pour supprimer les anciennes clés partagées de récupération et chiffrer vos fichiers avec la nouvelle clé de récupération :

  1. supprimez la clé de récupération dans data/owncloud_private_keys et data/public-keys ;
  2. modifiez la table oc_appconfig et supprimez les lignes avec les clés de configuration : recoveryKeyId et recoveryAdminEnabled pour l’identifiant d’application : files_encryption ;
  3. connectez-vous en tant qu’administrateur et activez la clé de récupération à nouveau avec un nouveau mot de passe. Ceci générera une nouvelle paire de clés ;
  4. tous les utilisateurs qui ont utilisé la clé originale de récupération devront la désactiver et l’activer à nouveau.

Note

Vous ne pouvez changer le mot de passe de la clé de recouvrement que si vous connaissez l’original. Ceci est volontaire, car seuls les administrateurs connaissant le mot de passe doivent être capables de le modifier. Sans quoi, tous les administrateurs pourraient changer le mot de passe.

Avertissement

La modification du mot de passe de la clé de récupération empêche tous les utilisateurs de récupérer leurs fichiers tant qu’ils n’ont pas appliqué la nouvelle clé de récupération.

Désactivation du chiffrement

Vous ne pouvez désactiver le chiffrement qu’avec occ. Assurez-vous d’avoir une sauvegarde de toutes les clés de chiffrement, y compris celles des utilisateurs. Passez votre serveur en mode utilisateur unique, puis désactivez le chiffrement à l’aide des commandes suivantes:

sudo -u www-data php occ maintenance:singleuser --on
sudo -u www-data php occ encryption:disable

Sortez du mode utilisateur unique quand c’est terminé:

sudo -u www-data php occ maintenance:singleuser --off

Fichiers non chiffrés

Seules les données dans les fichiers de data/user/files sont chiffrées, pas les noms de fichiers ou de dossiers. Les fichiers suivants ne sont jamais chiffrés :

  • les fichiers existants dans la corbeille ou Versions (Seuls les fichiers nouveaux ou modifiés après l’activation du ciffrement sont chiffrés) ;
  • les fichiers existants dans Versions ;
  • les vignettes de l’application Galerie ;
  • les aperçus de l’application Fichiers ;
  • l’index de recherche de l’application de recherche de texte ;
  • les données des applications tierces.

Il peut y avoir d’autres fichiers qui ne sont pas chiffrés. Seuls les fichiers exposés aux fournisseurs de stockage tiers sont assurés d’être chiffrés.

Service LDAP ou autres services externes d’authentification utilisateur

Si vous utilisez un service d’authentification utilisateur externe, tels qu’un serveur LDAP ou Samba, et que vous avez changé le mot de passe utilisateur sur ces serveurs, l’utilisateur sera invité à changer sont mot de passe ownCloud lors de sa prochaine connexion au serveur ownCloud pour le synchroniser. L’utilisateur aura besoin de son ancien et de son nouveau mot de passe pour faire cela. Si vous avez activé la clé de récupération, vous pouvez alors changer le mot de passe de l’utilisateur sur la page Utilisateurs pour le mettre à jour, et bien sûr, notifier l’utilisateur et lui donner son nouveau mot de passe.

Commandes occ pour le chiffrement

Si vous avez un accès au shell du serveur, vous pouvez utiliser la commande occ pour réaliser des opérations de chiffrement et avoir des options supplémentaires comme le déchiffrement et la création d’une clé de chiffrement maître. Consulter Chiffrement pour des informations détaillées sur l’utilisation de occ.

Obtention de l’état du chiffrement et le module de chiffrement chargé:

occ encryption:status
 - enabled: false
 - defaultModule: OC_DEFAULT_MODULE

Activation du chiffrement. Ce qui suit est l’équivalent de l’activation de Activer le chiffrement côté serveur sur votre page d’administration:

occ encryption:enable
Encryption enabled

Default module: OC_DEFAULT_MODULE

Listing des modules de chiffrement disponibles:

occ encryption:list-modules
 - OC_DEFAULT_MODULE: Default encryption module [default*]

Pour sélectionner un module de chiffrement différent de celui par défaut (actuellement, le seul module disponible est module is OC_DEFAULT_MODULE):

occ encryption:set-default-module [Module ID].

[module ID] est tiré de la commande encryption:list-modules command.

Chiffrement de tous les fichiers de données de tous les utilisateurs. Pour des raisons de performances, lors de l’activation du chiffrement sur un serveur ownCloud, seuls les fichiers nouveaux ou modifiés sont chiffrés. Cette commande permet de chiffrer tous les fichiers. Vous devez auparavant mettre le serveur en mode utilisateur unique pour empêcher toute activité utilisateur jusqu’à la fin du chiffrement:

sudo -u www-data php occ maintenance:singleuser --on
Single user mode enabled

Puis exécutez occ:

sudo -u www-data php occ encryption:encrypt-all

Vous êtes sur le point de démarrer le chiffrement de tous les fichiers stockés
dans votre serveur ownCloud.
Les fichiers chiffrés dépendrant du module de chiffrement utilisé. Selon le
nombre et la taille de vos fichiers, ceci peut prendre un certain temps.
Assurez-vous qu'aucun utilisateur n'accède à ses fichiers pendant cette opération !

Voulez-vous vraiment continuer ? (y/n)

Si vous saisissez y, cela créera une paire de clés pour chacun de vos utilisateurs et chiffrera leurs fichiers en affichant la progression jusqu’à ce que tous les fichiers de l’utilisateur soient chiffrés.

Déchiffrement de tous les fichiers ou des fichiers d’un seul utilisateur en ajoutant son nom de compte à la fin de la commande:

sudo -u www-data php occ encryption:decrypt-all [utilisateur]

Obtention de la localisation actuelle des clés:

sudo -u www-data php occ encryption:show-key-storage-root
Current key storage root:  default storage location (data/)

Changement de l’emplacement des clés

Déplacement des clés vers un dossier différent, localement ou sur un autre serveur. Le dossier doit déjà exister, appartenir à l’utilisateur root et au groupe HTTP et être restreint à l’utilisateur root et au groupe HTTP. L’exemple suivant s’applique à Ubuntu Linux. Veuillez noter que le nouveau répertoire est relatif à votre répertoire occ:

mkdir /etc/keys
chown -R root:www-data /etc/keys
chmod -R 0770 /etc/keys
occ encryption:change-key-storage-root ../../../etc/keys
Start to move keys:
   4 [============================]
Key storage root successfully changed to ../../../etc/keys

Création d’une nouvelle clé maître. Utilisez ceci si vous avez une infrastructure single-sign on. N’utilisez ceci que sur une nouvelle installation sans données existantes ou sur des systèmes sur lesquels le chiffrement n’a pas encore été activé. Il n’est pas possible de le désactiver:

sudo -u www-data php occ encryption:enable-master-key

Chiffrement lors de la migration à ownCloud 8.0

Quand vous effectuez la mise à jour d’une ancienne version d’ownCloud vers ownCloud 8.0, vous devez migrer manuellement les clés de chiffrement avec la commande occ après la fin de la migration, comme dans cet exemple pour CentOS : sudo -u apache php occ encryption:migrate-keys Vous devez lancer la commande occ en tant qu’utilisateur HTTP. Voir Utilisation de la commande occ pour en apprendre plus sur occ.

Chiffrement lors de la migration à ownCloud 8.1

Le service de chiffrement a encore changé dans ownCloud 8.1, vous devez donc effectuer quelques étapes supplémentaires pour migrer correctement le chiffrement. Si vous ne suivez pas ces étapes, vous ne pourrez plus accéder à votre fichiers.

Avant de commencer la mise à jour, passez le serveur en mode maintenance:singleuser (voir Configuration du mode de maintenance). Vous devez faire cela pour empêcher les utilisateurs d’accéder aux fichiers avant d’avoir terminé la migration complète du chiffrement.

Quand la migration est terminée, suivez les étapes de Activation du chiffrement pour activer le nouveau système de chiffrement. Puis cliquez sur le bouton Démarrer la migration sur la page d’administration pour migrer les clés de chiffrement, ou utilisez la commande occ. Nous vous recommandons vivement d’utiliser la commande occ. Le bouton Démarrer la migration est destiné aux administrateurs n’ayant pas d’accès à la console, comme par exemple pour des installations sur un hébergement partagé. Cet exemple s’applique à Debian/Ubuntu Linux:

$ sudo -u www-data php occ encryption:migrate

Cet exemple s’applique à Red Hat/CentOS/Fedora Linux:

$ sudo -u apache php occ encryption:migrate

Vous devez exécuter occ en tant qu’utilisateur HTTP (voir Utilisation de la commande occ).

Quand vous avez terminé, sortez votre serveur ownCloud du mode maintenance:singleuser.

Toute la documentation est sous licence Creative Commons Attribution 3.0 Unported license — Traduction : Cédric Corazza.