Forum Linux.général Deux systèmes de chiffrement cote à cote pour un système dual boot (suite)

Posté par  . Licence CC By‑SA.
4
2
sept.
2021

Sommaire

Bonjour,

Préambule

J'avais posté en début d'année le sujet suivant: https://linuxfr.org/forums/linux-general/posts/deux-systemes-de-chiffrement-cote-a-cote-pour-un-systeme-dual-boot, malheureusement par manque de temps j'ai dû laisser de côté le sujet pendant un bon moment.

J'en profite pour dire Merci pour les réponses obtenues et présenter mes excuses pour ne pas avoir donné de retour plus tôt.

Aujourd'hui un nouveau poste informatique m'est confié et je saute donc sur l'occasion pour essayer de mettre en place la solution.

Le sujet mis à jour

Sur ma (nouvelle) machine portable je souhaite faire cohabiter un Windows 10 et un Linux (Mint).
L'ordinateur portable est relativement récent et dispose d'un bios EFI, le disque est un SSD nvme.
La partition Windows est chiffrée par bitlocker dont la clef est sans doute stockée/associée la puce TPM de l'ordinateur (aucune saisie de mot de passe n'est nécessaire au démarrage).

L'objectif est d'installer linux à côté de windows en mettant en place un chiffrement indépendant de la partition Windows (et bien sûr de bitlocker ou encore de la puce TPM) pour la(ou les) partition(s) linux.

Une fois la partition windows déchiffrée (Bitlocker désactivé) et réduite voici l'état des partitions du disque:
Partitions

Idéalement j'aimerais que par défaut, sans clef USB ou carte SD insérée, ce soit Windows qui se lance. Et si une clef USB ou une carte SD spécifique est insérée, le choix soit laissé à l'utilisateur de lancer soit la distribution linux soit la partition Windows voir de booter sur un autre média amovible.

La difficulté supplémentaire par rapport au sujet précédent: le bios possède un compte super utilisateur dont je n'ai pas le mot de passe et qui empêche par exemple configurer le système pour démarrer sur une clef externe.
Je contourne actuellement l'impossibilité de booter sur un média externe en mettant le disque nvme dans un autre ordinateur dont le bios n'est pas verrouillé, et compte faire tous les paramétrages et installations dans cet autre PC avant de remettre le disque dans le bon.

Les réponses (tardives) à vos retours précédents

Merci pour vos retour!

Julien_J06 le 26/01/21 à 18:56

https://linuxfr.org/nodes/123098/comments/1839653

Pour le point 2. Sur le forum, j'ai lu un commentaire récemment qui proposait d'utiliser une partition EFI pour chaque OS si la carte mère le permet ça peut simplifier la cohabitation (toutefois je ne suis pas un spécialiste de l'EFI)

=> Par ce nouvel ordinateur, étant donné que désormais les modifications bios sont limitées, je pense que cette solution serait entravée.

Pour le point 3. Une piste est d'insérer une seconde clé USB lors de l'installation et de choisir d'installer /boot dessus (à combiner avec un tuto qui indique comment chiffrer /boot également) - penser a la laisser branchée lors des mises à jour qui touchent au /boot

Cette solution me plaît beaucoup, je l'intègre dans les questions qui vont suivre ci-dessous.

gouttegd le 27/01/21 à 00:05

https://linuxfr.org/nodes/123098/comments/1839679

L’utilisation de VeraCrypt peut être pertinente pour un volume externe (clef USB ou assimilé) que l’on souhaite utiliser à partir de plusieurs systèmes différents (VeraCrypt est portable et un volume VeraCrypt créé par exemple sous GNU/Linux est déchiffrable avec VeraCrypt sous Windows). Pour un volume système, je ne vois pas de raison de ne pas utiliser le chiffrement natif (dm-crypt donc).

=> Ok dans ce cas, l'utilisation de dm-crypt (via LUKS) semble donc la meilleure option :)

🚲 Tanguy Ortolo le 27/01/21 à 09:08

https://linuxfr.org/nodes/123098/comments/1839689

Toi, tu veux chiffrer ce système de fichiers. Il faut donc une prise en charge de ce chiffrement dans l'initrd. Et ça, je pense que ça ne laisse qu'un seul candidat, LUKS, qui est certainement intégré à l'initrd prévu par ta distribution (en installant au besoin un paquet spécifique), et probablement le seul qui soit ainsi intégré.

=> LUKS semble donc faire l'unanimité, ce sera donc mon choix :)

Pour GRUB, là c'est plus particulier. Il a apparemment une prise en charge de LUKS, mais je ne sais pas ce qu'elle vaut. Généralement, dans ce genre de cas, il me semble qu'on met en place un /boot non chiffré. C'est là que GRUB ira chercher le noyau et l'initrd à lancer. Il n'y a pas de problème à ne pas chiffrer ce système de fichiers, puisqu'il ne contient que des informations publiques, à savoir un noyau Linux et un initrd assemblé selon les règles d'une distribution GNU/Linux connue.

=> Ok, Je vais donc partir sur un /boot non chiffré (au moins pour commencer)

Les (nouvelles) questions

  1. Si j'ai bien compris pour les systèmes récents avec UEFI; on installe usuellement le GRUB/le boot dans une partition appelée GPT ?

  2. Est-il possible d'installer un premier GRUB sur la partition GPT, qui permettra de rediriger automatiquement sur la carte SD si elle est présente, ou de booter sur la partition windows si elle est absente? Et mettre un deuxième GRUB sur la carte SD permettant de choisir le système à lancer?

  3. Connaissez vous un bon tutoriel pour mettre en place la solution LUKS avec une partition chiffrée lors de l'installation de Linux Mint, ou pouvez-vous m'aider pour les étapes clef? Beaucoup de tutoriels que je trouve partent sur LUKS + LVM (par exemple : https://qastack.fr/ubuntu/293028/how-can-i-install-ubuntu-encrypted-with-luks-with-dual-boot), mais LVM n'est pas nécessaire pour ce sujet c'est bien ça?

  4. J'ai l'habitude de manipuler les conteneurs TrueCrypt/Veracrypt avec une clef dans un fichier + un mot de passe à saisir. Vu que dm-crypt semble également capable de fonctionner avec un fichier clef, serait-il possible de stocker ce fichier sur la carte SD qui servira à choisir la partition démarrée?

  5. Est-ce que dans le cas de l'utilisation d'un fichier clef il est acceptable d'avoir un mot de passe court, le niveau de résistance au brute force serait bien la "somme" du fichier clef (très long) + mot de passe (court) ?

Merci de m'avoir lu.

  • # GPT

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

    GPT n'est pas un type de partition mais un successeur de MBR, c’est-à-dire une table de partition (FAT) : https://lecrabeinfo.net/differences-mbr-gpt-tables-de-partitionnement.html t'éclairera sans doute.

    En ce qui concerne le chiffrement de partition via LUKS, nul besoin de l'associer à LVM : https://doc.ubuntu-fr.org/cryptsetup

    Notes que j'ai obtenues ces deux liens en trois secondes grâce à mon moteur de recherche favori !

    Pour ma part, j'ai deux partitions chiffrées (sur deux disque, mais ça ne change rien) : /home et /data. Le déchiffrement de /data se fait par un fichier se trouvant sur /home.
    https://www.howtoforge.com/automatically-unlock-luks-encrypted-drives-with-a-keyfile

    Il te reste à creuser encore un peu.

    « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

    • [^] # Re: GPT

      Posté par  . Évalué à 1. Dernière modification le 04/09/21 à 10:04.

      Bonjour, merci d'avoir répondu si vite :)

      GPT n'est pas un type de partition mais un successeur de MBR, c’est-à-dire une table de partition (FAT) : https://lecrabeinfo.net/differences-mbr-gpt-tables-de-partitionnement.html t'éclairera sans doute.

      En effet j'ai fait un raccourci alors que "table de partition" != "partition", je m'étais renseigné ici : https://wiki.archlinux.fr/GRUB#Syst.C3.A8mes_UEFI
      En fait j'avais commencé par chercher sur google "où est installé GRUB par défaut". J'ai visiblement un peu tout mélangé.
      Si je comprends bien la table de partition (GPT dans mon cas) se trouve dans la partition "EFI"? La deuxième sur mon image de Gparted? En revanche ce n'est pas ici que sera mis en place GRUB c'est bien ça?

      En ce qui concerne le chiffrement de partition via LUKS, nul besoin de l'associer à LVM : https://doc.ubuntu-fr.org/cryptsetup

      Oui j'avais compris cela, mais ce que je voulais dire c'est que les tutoriels pour mise en place de LUKS intègrent une partie LVM dont je n'ai pas besoin et qui du coup me perd :/

      Notes que j'ai obtenues ces deux liens en trois secondes grâce à mon moteur de recherche favori !

      J'ai pourtant bien effectué pas mal de recherches avant de passer la soirée à rédiger ce sujet, mes faibles connaissances ou peut-être une tendance à balayer trop vite les résultats ne m'ont pas permis de m'en sortir :/ En tout cas merci pour ton aide :)

      • [^] # Re: GPT

        Posté par  . Évalué à 1. Dernière modification le 04/09/21 à 10:16.

        Pour ma part, j'ai deux partitions chiffrées (sur deux disque, mais ça ne change rien) : /home et /data. Le déchiffrement de /data se fait par un fichier se trouvant sur /home.

        Oui j'avais vu qu'il était possible d'utiliser un fichier clef, j'avais trouvé cela ici : https://wiki.archlinux.org/title/dm-crypt/Device_encryption donc vis à vis de ton expérience on peut le stocker sur la carte SD et LUKS saura le trouver? On peut bien aussi le coupler à un mot de passe: utiliser le fichier clef ET le mot de passe demandé à l'utilisateur?

      • [^] # Re: GPT

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

        Si je comprends bien la table de partition (GPT dans mon cas) se trouve dans la partition "EFI"? La deuxième sur mon image de Gparted? En revanche ce n'est pas ici que sera mis en place GRUB c'est bien ça?

        Non, les tables de partitions (FAT), quelles soient MBR ou GPT ne sont stockées sur aucune partition, ça n'aurait aucun sens : https://fr.wikipedia.org/wiki/Table_de_partitionnement. Elles se trouvent sur les premiers secteurs du disque (et aussi les derniers dans le cas de GPT).

        https://fr.wikipedia.org/wiki/GUID_Partition_Table#/media/Fichier:GUID_Partition_Table_Scheme.svg

        Tu te mélanges les pinceaux ;)

        En ce qui concerne le chiffrement, as-tu lu : https://www.howtoforge.com/automatically-unlock-luks-encrypted-drives-with-a-keyfile ? Tout y est il me semble.

        « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

        • [^] # Re: GPT

          Posté par  . Évalué à 3.

          Tu mélange les acronymes.
          FAT (File Allocation Table) est bien un système de fichiers, qui est donc (généralement) stocké dans une partition.

          • [^] # Re: GPT

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

            Ouch ! Au temps pour moi.

            « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

        • [^] # Re: GPT

          Posté par  . Évalué à 1. Dernière modification le 05/09/21 à 20:22.

          Non, les tables de partitions (FAT), quelles soient MBR ou GPT […] se trouvent sur les premiers secteurs du disque (et aussi les derniers dans le cas de GPT).

          Oh ok c'est plus clair, merci

          => Du coup je suppose que Gparted (par exemple) reconnaît si il y a une table de partition MBR ou GPT et adapte la première adresse sur le disque où il peut commencer à inscrire une "vraie" partition ? (un peu plus loin pour la GPT du coup)

          => Que contient et à quoi sert la partition EFI? Je suppose qu'elle ne contient pas le firmware successeur du BIOS, celui-ci doit toujours être dans l'eeprom sur la carte mère non?

          => Du coup Grub lui il s'installe ou par défaut?

          En ce qui concerne le chiffrement, as-tu lu : https://www.howtoforge.com/automatically-unlock-luks-encrypted-drives-with-a-keyfile ? Tout y est il me semble.

          Super lien, merci :)
          Aurais tu un lien pour les étapes qui précèdent la configuration de la clef:

          1. Je démarre sur une clef usb live de linux mint

          2. J'installe d'abord LUKS depuis la live ou j'installe d'abord linux mint?

          3. Comment je fais pour installer GRUB deux fois, une fois sur le disque, une autre dans la carte SD. Avec le premier qui renvoie sur le deuxième si la carte SD est présente ou démarre windows si elle est absente?

          • [^] # Re: GPT

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

            Aurais tu un lien pour les étapes qui précèdent la configuration de la clef:

            Non, il va falloir chercher ;) Plus sérieusement, c'est à l'installateur de ta distro (ici Mint) de te proposer le chiffrement des partitions, de te demander où installer le chargeur de démarrage (Grub) … il me semble. Tu devrais trouver la marche à suivre dans la documentation de Mint (ou peut-être Ubuntu ou Debian), et tu auras plus de chance d'avoir des réponses sur les forums associés. Bonne chance.

            « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

            • [^] # Re: GPT

              Posté par  . Évalué à 1.

              Bonjour,

              J'ai réussi avec succès à installer linux sur une partition chiffrée à côté de celle de windows sur bitlocker.

              En fait tu avais raison c'était assez simple avec l'installateur de linux mint: partitionnement manuel, il a suffit de choisir "partition chiffrée" à la place d'ext4/btrfs, de choisir une clef, de mettre le point de montage "/" dedans et "/boot" en dehors et c'était fait.

              Par contre je ne pouvais pas ajouter un fichier clef. Une fois la distribution démarrée, avec gnome disk utility, ("Disques" en Français) je peux changer la clef, mais toujours pas ajouter un fichier clef.

              => Une idée de comment faire? Il faut utiliser un autre outil je suppose?

              L'autre soucis c'est que je n'arrive pas à mettre GRUB sur la clef USB externe. Si je choisi cette clef en guise de disque où installer le bootloader et que je met le point de montage "/boot" sur une partition de la clef, au redémarrage j'arrive systématiquement au prompt de grub (sans aucun choix/menu quoi).

              En revanche si je choisi le disque interne en guise de disque où installer le bootloader et que je mets le point de montage "/boot" sur une partition de ce disque, aucun problème, j'ai mon menu GRUB fonctionnel.

              => Qu'est-ce qui m'échappe?

              => Question bonus: Lorsque j'ai cherché la taille idéale à donner à la partition du point de montage "/boot" j'ai vu qu'elle n'avait pas besoin d'être très grande. J'ai mis 200Mo, bon avec le recul j'aurais du mettre 256Mo voire 512Mo (https://linuxhint.com/boot-partition-size-debian/) car j'ai une notification qui m'indique que l'espace disque est faible sur cette partition alors qu'il reste pourtant 74Mo de libre. Est-ce qu'il y a des cas/usage où cela peut créer des problèmes?

              • [^] # Re: GPT

                Posté par  . Évalué à 1.

                Pour la taille de la partition du point de montage /boot, je pense pouvoir confirmer que 200Mo est trop peu: Lors de l'installation du driver de la carte graphique, il essaye d'écrire /boot/initrd.img-5.4… et n'y arrive pas, probablement car il n'y a pas assez de place. (sans doute pour cela que la notification espace faible est apparue)

Suivre le flux des commentaires

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