Forum Linux.debian/ubuntu Autohébergement et chiffrement, Proxmox

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes : aucune
2
13
jan.
2024

J'ai acheté un Lenovo Thinkcenter Tiny avec l'idée d'y migrer mes services autohébergés. Je suis un peu bloqué dans ma réflexion quant au chiffrement des données sur la machine. Voici des infos:

  • L'ordinateur tourne sous Proxmox
  • L'ordinateur doit pouvoir démarrer seul car je n'y ai pas souvent accès physiquement
  • Les services tourneront dans des VM Debian
  • Services: Nextcloud, NginX, Subsonic, BorgBackup…
  • Possibilité de brancher un disque externe chiffré pour partage sur le réseau local

Une première idée, ce serait de pouvoir entrer un mot de passe dans une interface web après le démarrage du serveur. Mais j'ai un peu de mal à voir comment lancer les différents services et utiliser le mot de passe après ça.

Est ce que vous avez des idées, des suggestions?

  • # Questions

    Posté par  . Évalué à 3.

    Il faut se poser plus de questions:
    - que veux tu chiffrer
    - pour quelles raisons

    Par exemple si une raison est "je ne veux pas qu'une autre personne que moi puisse utiliser l'ordinateur" la réponse technique ne sera pas la même que "je veux que les données soient chiffrées pour le cas où on m'arrache mon disque usb" … vois tu l'idée ?

    Ainsi, chiffrer un OS n'a pas la même portée que chiffrer les données utilisateur. Et si seules les données t'importent tu peux tout à fait imaginer l'os booter sans intervention et ensuite devoir manuellement faire le nécessaire pour rendre accessible tes données (donc saisie d'un mot de passe via une interface ou autre).

    Donc dis nous quel est ton objectif car chiffrer pour chiffrer … c'est …

    eric.linuxfr@sud-ouest.org

    • [^] # Re: Questions

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

      Je veux protéger les données en cas de vol de la machine. Donc effectivement l'idée c'est que l'OS boote et ensuite une action permet le déchiffrement des données.

      Ma question est alors: quel est le meilleur moyen de faire ça sans accès physique à la machine?

      Un LUG en Lorraine : https://enunclic-cappel.fr

      • [^] # Re: Questions

        Posté par  . Évalué à 3.

        Je pense a une méthode, un peu fragile peut-être, mais pourquoi pas.

        Pour résumer, l'idée serait d'avoir la clé/la passphrase sur le réseau, ce qui permet de l'avoir en dehors du système, et donc de la détruire.

        Le système de base démarre sans chiffrement, va chercher une clé sur "un truc" sur le réseau local ou sur Internet, que tu contrôles (le truc, pas Internet).

        Si la clé n'est pas disponible, le système ne peut être déchiffré. Tu as une autre clé avec toi, pour le cas où tu fais une maintenance et que la machine n'a plus de réseau, par exemple.

        En cas de vol, tu supprimes la clé du "truc", et la machine ne peut plus déchiffrer le système complet.

        En ce qui concerne "le truc", ça peut être un fichier sur un site Internet, ou un fichier dans une Freebox ou équivalement NAS/stockage multimédia. J'imagine qu'avec certains services genre Duo ou Okta, tu dois même pouvoir faire une notif push sur smartphone qui te demande de confirmer.

        Ça se rapproche pas mal de cette technique, mais dans l'autre sens : How to unlock LUKS using Dropbear SSH keys remotely in Linux.

        Un variante très fragile, mais qui peut être complémentaire, serait d'utiliser l'adresse MAC du routeur correspond à celle de ton réseau comme clé.

        Comme tu peux en général avoir plusieurs clés pour un même volume, tu peux avoir ta passphrase, une clé sur un site, et la MAC de ton routeur. (sur mon ordi j'ai une passphrase et une Yubikey).

        Peut-être que ce genre de truc existe tout fait, je n'ai pas cherché.

        Bonne chance !

        • [^] # Re: Questions

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

          Idée de "truc" sur le réseau qui permette à la machine de démarrer : le couple clevis (côté client, qui doit déchiffrer) / tang (côté "serveur", sans lequel le client ne peut pas démarrer automatiquement).

          L'avantage, par rapport à d'autres solutions, c'est que tang (le serveur) n'a pas la clé. Il a juste un élément indispensable pour que clevis puisse reconstruire la clé de son côté. Si ta machine a été volée, il suffit d'éteindre tang ou de le rendre inaccessible à clevis pour que le déchiffrement n'ait plus lieu.

          Note : au moins dispo sur Debian et Fedora a priori, probablement dispo sur d'autres distributions Linux.

          • [^] # Re: Questions

            Posté par  . Évalué à 2.

            Ah oui ça a l'air chouette, merci.

            Je me suis demandé ce que c'est que ces noms curieux, et clevis/tang désignent des parties d'une manille.

  • # intel vpro ?

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

    Certains thinkcentre tiny sont en intel vpro
    Si c'est le cas de celui-la, il y a peut être un truc à faire avec ça (accès distant au boot/bios, kvm, …)

  • # Backup

    Posté par  . Évalué à 2.

    Tu mentionnes Borgbackup (bon choix, ma foi), sans doute pour sauvegarder les services et les données, mais prévois-tu une autre copie ailleurs ? En cas de vol, il faudrait que tes données soient toujours disponibles pour toi :).

    • [^] # Re: Backup

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

      BorgBackup ce sera pour sauvegarder mon laptop, celui-ci ne sera vraisemblablement pas volé en même temps que le serveur ;)

      Sinon sur le serveur il ne devrait pas y avoir de données importantes non disponibles ailleurs. Néanmoins il n'y aura pas que des données publiques, d'où mon intérêt pour le chiffrement.

      Un LUG en Lorraine : https://enunclic-cappel.fr

  • # ssh, zfs

    Posté par  (site web personnel) . Évalué à 2. Dernière modification le 13 janvier 2024 à 17:01.

    En faisant quelques recherches je suis tombé là dessus:
    https://herold.space/proxmox-zfs-full-disk-encryption-with-ssh-remote-unlock/

    Est ce que ça vous paraît être une solution fiable? N'étant pas encore expert sous Proxmox ma première impression est qu'il manque des explications à cet article, ça ressemble plus à une prise de notes.

    Un LUG en Lorraine : https://enunclic-cappel.fr

    • [^] # Re: ssh, zfs

      Posté par  . Évalué à 4.

      C'est la même méthode que celle expliquée sur Nixcraft : se connecter en ssh pour déverrouiller le volume. Ça a l'air d'être la norme, c'est sans doute plus simple et plus sûr que la méthode que j'ai décrite, où c'est le serveur Proxmox qui va demander sa clé à quelqu'un d'autre.

      En voici trois qui montent un serveur ssh sur lequel se connecter :
      - https://github.com/dracut-crypt-ssh/dracut-crypt-ssh
      - https://github.com/dynerose/Remote-unlock-native-ZFS
      - https://github.com/gsauthof/dracut-sshd

      Et un qui utilise un repo en ligne et une confirmation humaine pour fournir la clé :
      - https://github.com/stewartadam/zfs-keyvault

      Selon ce que tu préfères :).


      Pour tes backups de laptop, ça vaut le coup d'avoir une seconde copie, par exemple sur SwissBackup. Une serveur volé est plus difficile à revendre qu'un laptop, mais ne compte pas sur la mansuétude de tes visiteurs.

      • [^] # Re: ssh, zfs

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

        Merci pour les liens, je vais essayer la première solution qui a l'air d'être la plus populaire :)

        Un LUG en Lorraine : https://enunclic-cappel.fr

  • # Conclusion

    Posté par  (site web personnel) . Évalué à 4. Dernière modification le 15 janvier 2024 à 23:55.

    Je suis parvenu à mes fins en partant d'une Debian avec chiffrement complet du système (LVM/LUKS).

    J'ai installé Proxmox en suivant le wiki, puis configuré le déchiffrement par ssh en m'aidant de ce thread.

    Et là j'installe ma premère VM Debian :D
    Merci pour les conseils

    Un LUG en Lorraine : https://enunclic-cappel.fr

Suivre le flux des commentaires

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