Journal Remplacer Encfs ? Oui, mais par quoi ?

20
7
déc.
2020

Bonjour Nal'!

J'écris pour la première fois sur LinuxFr, poussé par lautre (@lautre:matrix.org), pour vous parler de mes dernières expériences en matière de dossiers chiffrés, dans l'objectif de synchroniser avec le Cloud. En effet, comme vous le savez tous, le Cloud, ce n'est jamais que l'ordinateur de quelqu'un d'autre. Et comment peut-on faire pour éviter que ce quelqu'un d'autre tripatouille dans nos documents privés ? Voyons ça ensemble!

Ma solution, pendant des années, a été d'utiliser Encfs et de synchroniser tout ça avec mon nextcloud¹. L'utilisation est en effet assez simple. On commencer par créer deux dossiers :

$ mkdir ~/coffre_ouvert
$ mkdir ~/Cloud/coffre_ferme

Le dossier coffre_ouvert contiendra les fichiers en clair alors que le dossier coffre_ferme contiendra les fichiers chiffrés et sera synchronisé en ligne.

Pour initialiser (et plus tard, monter le dossier en clair) :

$ encfs ~/Cloud/coffre_ferme/ ~/coffre_ouvert/

Cette solution a fonctionné pour moi pendant des années. Cependant, à chaque installation d'encfs sur un nouvel ordinateur, je devais ignorer sciemment le message indiquant que cette solution n'est pas sûre². Cette semaine, ce fut la fois de trop. J'ai craqué, je suis parti à la recherche d'une alternative!

Pour synchroniser efficacement avec le Cloud, il faut une programme qui chiffre "par fichier" et non "par bloc"³ ou "par partition"⁴. Voici les programmes libres sur lesquels je suis tombé :

J'ai testé gocryptfs et cryfs. L'installation et l'utilisation sont très similaires à celle d'Encfs.

Cryfs cache la structure des fichiers en découpant tout en petits bouts de tailles presque égales, comme expliqué sur le site. C'est une bonne chose si on veut augmenter le niveau de sécurité mais ça augmente énormément le nombre de fichiers, ce qui ralenti considérablement le client nextcloud.

Avec le même nombre de fichier au départ, la différence est impressionnante :

$ find coffre-cryfs/. -type f | wc -l
58830
$ find coffre-gocryptfs/. -type f | wc -l
2015

Gocryptfs remplit parfaitement la fonction. Il est probable que je migre mes dossiers Encfs vers cette solution. Si vous avez envie que les noms de fichiers restent lisible, il y a l'option -plaintextnames. (Mais on donne potentiellement plus d'informations à un attaquant.)

Cryptomator n'est pas dans les dépôts sur Ubuntu et bien qu'il y ait un ppa et un AppImage, j'ai envie d'une solution bien intégrée à mon système.

eCryptfs semble inutilement complexe (pour mon utilisation), je ne l'ai pas testé.

Voilà, j'ai fait le tour de mon aventure de la soirée. J'espère que vous trouverez ces quelques notes utiles. N'hésitez pas si vous avez des questions ou remarques. ;-)


¹ : Je parle de nextcloud parce que c'est la solution que j'utilise mais ça marche avec d'autres solutions permettant de synchroniser un dossier. Vous pouvez fouillez les alternatives.

² : Encfs n'est plus considéré comme sûr depuis un audit et la dernière release a plus de deux ans.

³ : Quand je parle de programme qui chiffre "par bloc", je pense à des programmes comme VeraCrypt ou Tomb qui chiffre un "bloc de données" d'une taille fixe et définie au départ. Chaque changement dans ce bloc oblige à tout resynchroniser, ce qui n'est pas vraiment pratique à l'usage, dès qu'on dépasse quelques dizaines de Mo.

⁴ : Quand je parle de programme qui chiffre "par partition", je pense à LUKS ou d'autres programmes qui permettent de chiffrer toute une partition. C'est indispensable mais ça ne permet pas de synchroniser avec le Cloud.

  • # Nextcloud - chiffrement bout en bout

    Posté par  . Évalué à 6.

    Je ne sais pas ce qu'il vaut, mais est-ce que ça ne serait pas plus pratique d'utiliser le chiffrement bout en bout de Nextcloud ? (et, éventuellement, appliquer une solution de chiffrement locale qui n'est pas nécessairement par fichier)

    https://nextcloud.com/endtoend/

    • [^] # Re: Nextcloud - chiffrement bout en bout

      Posté par  (site web personnel) . Évalué à 3.

      Il faut avoir confiance en l'hébergeur, et dans le cloud, et comme expliqué par SimonLefort, c'est difficile d'avoir une telle confiance.

      Le end2end de NextCLoud est seulement une surcouche, ça ne suffit pas.

      NextCloud propose aussi de chiffrer les fichiers déposés par les utilisateurs, ce qui les rends difficilement exploitables par quelqu'un qui aurait accès aux fichiers du serveur (par contre, ça empêche certaines fonctionnalités comme la génération des vignettes de pré-visualisation, bien sûr).

      Bref, même si le serveur démarre sur une partition chiffrée, et que NextCloud utilise le end2end (et même s'il chiffre éventuellement les fichiers), la possibilité de déposer des fichiers chiffrés est intéressant.

      Je n'ai pas confiance dans le NextCloud que j'ai installé sur mon serveur… même si j'ai fais un effort pour sécuriser l'installation à tous les niveaux.

      Ce journal est lumineux.
      merci

      Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html

      • [^] # Re: Nextcloud - chiffrement bout en bout

        Posté par  . Évalué à 2.

        Il faut avoir confiance en l'hébergeur

        Justement, le but du E2E n'est-il pas de ne pas devoir faire confiance en l'hébergeur ?

        Après je n'ai pas trop creusé, j'héberge ma propre instance, je ne me suis pas trop intéressé au E2E. Globalement, si quelqu'un accède à ma machine, je suis déjà dans la panade.

        • [^] # Re: Nextcloud - chiffrement bout en bout

          Posté par  (site web personnel) . Évalué à 2.

          C'est le serveur qui envoie le code vers vos navigateurs, donc, il faut avoir confiance dans le serveur, sinon ça ne sert à rien. (c'est ce que j'ai compris)

          Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html

          • [^] # Re: Nextcloud - chiffrement bout en bout

            Posté par  (site web personnel) . Évalué à 2.

            De mémoire nextcloud offre une autre possibilité, de chiffrer l'intégralité du bouzin. Option qui n'est pas activée par défaut pour des raisons de performance, mais qu'il faut peut être explorer

            • [^] # Re: Nextcloud - chiffrement bout en bout

              Posté par  (site web personnel) . Évalué à 2.

              Oui, c'est ce dont je parle. Le chiffrement des fichiers des utilisateurs.

              Il faut quand même avoir confiance en l'hébergeur.
              Et, l'activation de ce chiffrement va un peu ralentir les traitements (oui, ça bouffe un peu plus de CPU, s'il y en a assez, c'est transparent)
              Enfin, ça empêche de générer les preview automatiquement ou le scan anti-virus, puisque ces processus n'auront pas accès aux contenus de ces fichiers. Pareil pour la conversion des fichiers vidéos vers un autre format.

              Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html

            • [^] # Re: Nextcloud - chiffrement bout en bout

              Posté par  (site web personnel) . Évalué à 3.

              edit : ah bah quand on chiffre l'intégralité c'est le serveur qui a la clé et se la garde. Si on croit au serveur c'est pas mal car il reste possible d'utilisateur un navigateur web pour accéder à nextcloud. Tandis que bout en bout, seule la synchro est possible. Qu'il faille envoyer la clé au serveur dans le chiffrement de bout en bout est à vérifier, je me demande si justement l'intérêt est pas plutôt que chaque client doit avoir la clé de son côté et le serveur est incapable de faire quoi que ce soit.

              • [^] # Re: Nextcloud - chiffrement bout en bout

                Posté par  . Évalué à 3. Dernière modification le 07 décembre 2020 à 16:44.

                De mémoire, il y a 2 modes de chiffrements dans Nextcloud :

                • le chiffrement côté serveur : le serveur génère une clef par utilisateur qui est protégée par son mot de passe (et optionnellement par une clef principale connu par l’administrateur) et déchiffre les fichiers quand tu y accèdes ;
                • et le chiffrement de bout en bout où les fichiers sont chiffrés sur le client (soit le client « lourd », soit l’interface Web).

                Ce que je comprends des commentaires de Grégoire G vis à vis du e2ee, c’est que comme c’est le serveur qui envoie le JS qui va faire le chiffrement/déchiffrement dans le navigateur, il se peut qu’il injecte du code malicieux qui casserait ce chiffrement.

      • [^] # Re: Nextcloud - chiffrement bout en bout

        Posté par  (site web personnel) . Évalué à 2.

        Bonjour Grégoire G,

        Après avoir répondu sur les points techniques, j'ai failli oublier de te remercier.

        «Ce journal est lumineux.» est le plus beau commentaire qu'on ait pu faire sous un de mes texte.☺

    • [^] # Re: Nextcloud - chiffrement bout en bout

      Posté par  (site web personnel) . Évalué à 1.

      Bonjour raphj,

      Effectivement, l'application "End-to-End Encryption" (lien github) de Nextcloud pourrait aussi faire le travail, normalement… Sauf que je n'ai jamais réussis à créer un dossier chiffré avec.

      L'application est marquée comme étant encore en Alpha:
      «Provides the necessary endpoint to enable end-to-end encryption. End-to-end encryption is still in alpha state, don't use this in production and only with test data!»

      La documentation ne parle que de l'API et pas de la partie "utilisateur" (source).

      Bref, c'est une jolie promesse. Nextcloud communique à ce sujet depuis des années. Mais c'est pas encore prod-ready, à mon sens. Et c'est dommage! Parce qu'on est d'accord que j'aimerais bien pouvoir me passer de mes bricolages avec Encfs ou autre et parce que je voudrais pouvoir dire aux membres de ma famille "regardez, c'est tout simple!". Un jour, j'espère.

      Un autre point également qui me semble important. Chiffrer mes données avec un outil "standard" tel qu'Encfs, Gocryptfs, etc.. me permet de ne pas être lié à nextcloud. Je peux lire mes données depuis un backup sans passer par le client nextcloud. Je peux un jour migrer vers une autre solution, au besoin. C'est une liberté, à mon sens.

      J'espère avoir répondu à tes questions. :-)

      • [^] # Re: Nextcloud - chiffrement bout en bout

        Posté par  (site web personnel) . Évalué à 2. Dernière modification le 08 décembre 2020 à 18:23.

        Justement, utilises Encfs, Gocryptfs ou autre chose, et tu ne dépendras plus de Nextcloud ou d'autre chose.

        Le chiffrement par Nextcloud est possible, c'est transparent pour l'utilisateur, mais tu comprends bien que si l'utilisateur se fait piquer son login mot de passe au moment du login, c'est "mort".

        Alors qu'avec Encfs, Gocryptfs ou autre chose, tu es peinard, ça reste aussi transparent, puisque tu peux montrer et synchroniser tes dossiers sur ton ordinateur à travers Dolphin, Caja, ou un autre gestionnaire de fichier.

        Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html

        • [^] # Re: Nextcloud - chiffrement bout en bout

          Posté par  (site web personnel) . Évalué à 0.

          Bonjour Grégoire,

          Justement, utilises Encfs, Gocryptfs ou autre chose, et tu ne dépendras plus de Nextcloud ou d'autre chose.

          Ah mais pour moi, pas de problèmes. Je continuerai d'utiliser une solution externe à Nextcloud et ça me convient très bien.

          Par contre, c'est moins simple à utiliser pour un "non-technicien" (par exemple, mes parents), c'est pour ça que je souhaiterais pouvoir leur proposer le chiffrement end-to-end intégré à Nextcloud. Quand il sera vraiment utilisable…

          • [^] # Re: Nextcloud - chiffrement bout en bout

            Posté par  (site web personnel) . Évalué à 2.

            Je ne vois pas pourquoi le chiffrement avec encfs ou une autre solution est complexe. Tu mets en place les automatismes, et ensuite c'est transparent, non?

            Sinon, le chiffrement end2end dans NextCloud est fonctionnel et utilisable, de manière transparente, mais tu perds certaines fonctionnalités.

            Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html

  • # chiffrement à la volée

    Posté par  . Évalué à 3.

    J'ai l'impression que ce qu'il te faut c'est un outil de chiffrement à la volée, c'est pas ce que fait rclone ?
    En tout cas, ça y ressemble.

    • [^] # Re: chiffrement à la volée

      Posté par  (site web personnel) . Évalué à 1.

      Bonjour cacatoès,

      Je n'avais pas pensé à rclone, je ne l'ai jamais utilisé. Il est possible qu'il puisse aussi répondre au besoin. Cette page explique qu'on peut passer via WebDAV et que nextcloud et owncloud sont donc supportés par l'outil.

      Cependant, j'ai l'impression que l'objectif de rclone est de monter le disque réseau sur la machine et de travailler à partir de là. Donc sans internet, pas de fichiers. Je me trompe ? Si oui, l'avantage que je vois c'est que ça ne prend pas de place sur la machine locale. Mais j'ai peur que ça soit bien loin sur une connexion ADSL classique…

      Dans mon cas, mes fichiers sont synchronisés sur plusieurs machines. Si je perds le serveur (crash, ..) ou si j'ai une coupure du réseau, j'ai toujours les données localement.

      Il faudrait tester cette solution pour comparer plus clairement. :-)

      • [^] # Re: chiffrement à la volée

        Posté par  . Évalué à 2.

        j'ai l'impression que l'objectif de rclone est de monter le disque réseau sur la machine et de travailler à partir de là.

        Non, c'est une des possibilités offertes.
        Mais l'utilisation première de rclone, c'est de synchroniser et de copier vers différents hébergements "cloud". Regarde les différentes commandes disponibles.

        D'ailleurs, le montage par fuse peut être très lent, car ces services de cloud ne sont généralement pas optimisés pour ça. (par exemple, évite les répertoires contenant des dizaines de milliers de fichiers)

  • # À propos de cryfs

    Posté par  . Évalué à 1.

    cryfs permet de spécifier la taille des blocs.

    Par contre j'ai laissé tomber son utilisation (justement pour une instance nextcloud) parce que j'ai une machine sous Debian Buster et une sous Ubuntu 20.04, et les versions de cryfs, différentes, déconseillent fortement de gérer les fichiers de l'autre version.

    • [^] # Re: À propos de cryfs

      Posté par  (site web personnel) . Évalué à 1.

      Bonjour lgmdmdlsr,

      Merci pour l'information sur la taille des blocs avec Cryfs. Je me suis contenté des tests rapides, je l'avoue. ;-)

      Merci pour ton retour d'expérience sur les problèmes qu'il peut y avoir entre deux versions de Cryfs. C'est un point qui m'embêterait beaucoup. J'ai aussi plusieurs machines avec des distributions différentes, j'ai besoin que la solution soit stable.

      CryFS propose toujours, sur leur site, qu'on leur donne une adresse mail pour qu'il nous prévienne quand ils sortent de bêta. ("Let us notify you when CryFS is stable!") Je n'avais pas remarqué en première lecture…

  • # Ext4 ?

    Posté par  . Évalué à 1.

    Si jamais Ext4 possède un système de chiffrement à la volée (merci android/google). Par contre il faudra désactiver la clé lors de la synchronisation avec le cloud. Il doit sûrement y avoir un moyen de rendre ça transparent. https://wiki.archlinux.org/index.php/Ext4#Using_file-based_encryption

    • [^] # Re: Ext4 ?

      Posté par  (site web personnel) . Évalué à 1.

      Bonjour MookSkook,

      Je ne sais pas, il faudrait prendre un peu de temps pour creuser ce point. :-)

    • [^] # Re: Ext4 ?

      Posté par  (site web personnel) . Évalué à 1.

      Pourquoi pas proposer un système de fichier encodé (ext, btrfs, zfs …) via iscsi ? Je me trompe probablement mais dans ce cas la clé ne reste-t-elle pas uniquement sur le client ?

  • # Cryptomator

    Posté par  (site web personnel) . Évalué à 1.

    Lors de mon premier test nocturne, je n'avais pas testé Cryptomator.

    J'ai pris un peu de temps pour le tester depuis : https://simonlefort.be/informatique:cryptomator

    Je ne pense pas que je l'utiliserai parce que gocryptfs comble parfaitement mon besoin. Néanmoins, cryptomator semble une alternative intéressante pour ceux qui préfèrent avoir une interface graphique.

  • # Verdict?

    Posté par  (site web personnel) . Évalué à 3.

    Alors, est-ce que quelques jours t'on permis d'avancer dans ta décision? Est-ce que Gocryptfs a gagné? Ou Donald Trump peut être

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.