Comment puis-je installer Ubuntu crypté avec LUKS avec double démarrage?


73

Le disque d'installation Ubuntu 13.04 a une option pour installer Ubuntu chiffré à l'aide de LUKS. Cependant, il n'y a pas d'option permettant d'effectuer une installation chiffrée avec des partitions existantes pour un scénario à double démarrage.

Comment puis-je installer Ubuntu chiffré avec une autre partition du disque live?


En regardant le script cryptroot, cette édition refusée est en fait correcte. Chaque ligne de conf.d / cryptroot est traitée de la même manière qu'un autre argument cryptopts. Est-il possible d'utiliser le programme d'installation sans que la partition déchiffrée ne soit un groupe de volumes? J'ai essayé et il semble que cela ne me permettra pas de l'utiliser sans partitions. Dans mon cas, il s’agit d’un disque SSD avec 3 partitions: Linux / boot, Linux /, Windows, swap et / home étant sur le disque dur, ce qui évite vraiment le recours à LVM. J'imagine que je devrais rester fidèle à mon idée originale, qui était d'utiliser debootstrap à partir du CD live.

Guide utile: " Comment configurer une installation Ubuntu cryptée? ", Par Gayan chez HecticGeek.com - hecticgeek.com/2012/10/…
Gabriel Staples

Réponses:


88

Tout d'abord, si vous souhaitez installer Ubuntu chiffré sur un disque dur en remplaçant les partitions et les systèmes d'exploitation existants, vous pouvez le faire directement à partir du programme d'installation graphique. Ce processus manuel n'est requis que pour le double démarrage.

Cette réponse a été testée avec Ubuntu 13.04.

  1. Démarrez à partir d’un DVD live ou d’une clé USB Ubuntu, puis sélectionnez "Essayer Ubuntu".

  2. Créez deux partitions en utilisant GParted inclus dans le disque live. La première partition ne devrait pas être formatée et devrait être assez grande pour root et swap, dans mon exemple, c’est /dev/sda3. La seconde partition doit faire plusieurs centaines de mégaoctets et être formatée en ext2 ou ext3. Elle sera non chiffrée et montée /boot(dans mon exemple, c'est /dev/sda4).

    Dans cette capture d'écran, j'ai une installation existante d'Ubuntu non chiffrée dans deux partitions: /dev/sda1et /dev/sda5, surlignez dans le cercle à gauche. J'ai créé une partition non formatée dans /dev/sda3et une partition ext3 dans /dev/sda4, destinées à l'installation chiffrée d'Ubuntu, mises en évidence dans le cercle à droite:

    Capture d'écran GParted

  3. Créez un conteneur LUKS à l'aide de ces commandes. Remplacez-la /dev/sda3par la partition non formatée créée précédemment et cryptcherriespar un nom de votre choix.

    sudo cryptsetup luksFormat /dev/sda3
    sudo cryptsetup luksOpen /dev/sda3 cryptcherries
    
  4. Avertissement : vous remarquerez que l' luksFormatétape s'est terminée très rapidement, car le périphérique sous-jacent en bloc n'est pas effacé de manière sécurisée. À moins que vous ne fassiez qu'essayer, et que vous ne vous préoccupiez pas de la sécurité contre différents types d'attaque judiciaire, il est essentiel d'initialiser correctement le nouveau conteneur LUKS avant de créer des systèmes de fichiers. L'écriture de zéros dans le conteneur mappé entraîne l'écriture de données aléatoires fortes sur le périphérique de bloc sous-jacent. Cela peut prendre un certain temps, il est donc préférable d’utiliser la pvcommande pour surveiller les progrès:

    ### Only for older releases, e.g. not for 19.04, `pv` is not included in the repo must be added first
    # sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
    # sudo apt-get update
    
    sudo apt-get install -y pv
    sudo sh -c 'exec pv -tprebB 16m /dev/zero >"$1"' _ /dev/mapper/cryptcherries
    

    ou, si vous effectuez une installation hors ligne et que vous ne pouvez pas obtenir facilement pv:

    sudo dd if=/dev/zero of=/dev/mapper/cryptcherries bs=16M
    
  5. Dans le conteneur LUKS monté, créez un volume physique LVM, un groupe de volumes et deux volumes logiques. Le premier volume logique sera monté sur /et le second sera utilisé comme échange. vgcherriesest le nom du groupe de volumes et, et lvcherriesrootet lvcherriesswapsont les noms des volumes logiques, vous pouvez choisir le vôtre.

    sudo pvcreate /dev/mapper/cryptcherries
    sudo vgcreate vgcherries /dev/mapper/cryptcherries
    sudo lvcreate -n lvcherriesroot -L 7.5g vgcherries
    sudo lvcreate -n lvcherriesswap -L 1g vgcherries
    
  6. Créez des systèmes de fichiers pour les deux volumes logiques: (Vous pouvez également effectuer cette étape directement à partir du programme d'installation.)

    sudo mkfs.ext4 /dev/mapper/vgcherries-lvcherriesroot
    sudo mkswap /dev/mapper/vgcherries-lvcherriesswap
    
  7. Sans redémarrer , installez Ubuntu à l’aide du programme d’installation graphique (le raccourci se trouve sur le bureau dans Xubuntu 18.04), en choisissant un partitionnement manuel. Attribuez /à /dev/mapper/vgcherries-lvcherriesrootet /bootà la partition non chiffrée créée à l'étape 2 (dans cet exemple, /dev/sda4).

  8. Une fois l’installateur graphique terminé, sélectionnez "poursuivre les tests" et ouvrez un terminal.

  9. Recherchez l'UUID des partitions LUKS ( /dev/sda3dans ce cas), vous en aurez besoin plus tard:

    $ sudo blkid /dev/sda3
    /dev/sda3: UUID="8b80b3a7-6a33-4db3-87ce-7f126545c74af" TYPE="crypto_LUKS"
    
  10. Montez les périphériques appropriés aux emplacements appropriés /mntet chrootez dessus:

    sudo mount /dev/mapper/vgcherries-lvcherriesroot /mnt
    sudo mount /dev/sda4 /mnt/boot
    sudo mount --bind /dev /mnt/dev
    sudo chroot /mnt
    > mount -t proc proc /proc
    > mount -t sysfs sys /sys
    > mount -t devpts devpts /dev/pts
    
  11. Créez un fichier nommé /etc/crypttabdans l'environnement chrooté pour contenir cette ligne, en remplaçant la valeur UUID par l'UUID de la partition LUKS et vgcherriespar le nom du groupe de volumes:

    # <target name> <source device> <key file> <options>
    cryptcherries UUID=8b80b3a7-6a33-4db3-87ce-7f126545c74af none luks,retry=1,lvm=vgcherries
    
  12. Exécutez la commande suivante dans l'environnement chrooté:

    update-initramfs -k all -c
    
  13. Redémarrez et démarrez dans Ubuntu crypté. Vous devriez être invité à entrer un mot de passe.

  14. Vérifiez que vous utilisez la partition chiffrée pour /en exécutant mount:

    $ mount
    /dev/mapper/vgcherries-lvcherriesroot on / type ext4 (rw,errors=remount-ro)
    /dev/sda4 on /boot type ext3 (rw)
    # rest of output cut for brevity
    
  15. Vérifiez que vous utilisez la partition swap chiffrée (et non des partitions swap non chiffrées d'autres installations) en exécutant cette commande:

    $ swapon -s
    Filename                              Type      Size   Used Priority
    /dev/mapper/vgcherries-lvcherriesswap partition 630780 0    -1
    
  16. Vérifiez que vous pouvez démarrer en mode de récupération, vous ne voulez pas savoir plus tard, lors d’une urgence, que le mode de récupération ne fonctionne pas :)

  17. Installez les mises à jour susceptibles de reconstruire le disque mémoire et de mettre à jour la configuration de grub. Redémarrez et testez le mode normal et le mode de récupération.


3
Je peux vérifier que, dans 15.04, vous pouvez omettre les étapes 11, 13 et 14. En fait, il peut être nécessaire d'omettre ces étapes (car l'exécution de update-grub de cette manière a provoqué la perte de ma partition Windows.)
process91

4
@ process91 On dirait que les étapes ont changé de nombre. Maintenant, vous devez omettre les 12, 14 et 15.
Aleksandr Dubinsky

5
Grand guide. A travaillé pour la première fois pour Windows 10 avec BitLocker et Ubuntu 16.04 en omettant les étapes 12, 14 et 15 ici. J'ai remarqué qu'il y avait quelques autres points d'achoppement qui pourraient être clarifiés, en particulier le choix de la partition bootloader (celle-ci est installée sur une partition EFI existante, mais vous pouvez probablement simplement sélectionner le disque sur lequel vous installez Ubuntu, par exemple / dev / sda). Toute personne disposant des autorisations complètes de l'éditeur est la bienvenue pour copier-coller de ma publication
Steven Maude

5
@unhammer vient d'éditer la réponse et a supprimé quelques étapes, pour ceux qui lisent les commentaires et s'embrouillent.
Flimm

3
L'auteur a déjà supprimé les anciennes étapes 12,14,15. Donc, ne sautez PAS aucune étape. Fonctionne avec Ubuntu Mate 16.04.1.
user4955663

9

Il est possible de créer une configuration à double démarrage chiffrée en utilisant uniquement les outils d'interface graphique du LiveCD Ubuntu.

Conditions préalables

  • Une clé USB avec l'installateur Ubuntu 19.04.
  • Si vous avez une carte mère EFI, assurez-vous que le disque utilise la table de partition GUID (GPT). L'utilisation d'un disque MBR avec cette méthode semble échouer. Vous pouvez convertir un MBR en GPT avec des outils Linux ( gdisk), mais vous devez d'abord faire une sauvegarde. Si vous convertissez la table de partition, vous devrez réparer le chargeur de démarrage Windows ultérieurement.

les fenêtres

  • Dans la barre de démarrage, tapez disk partitionet sélectionnez la première option (ouvrir le gestionnaire de partition de disque à partir des paramètres).

  • Réduisez la taille de votre partition principale à la taille souhaitée pour Ubuntu (je viens d’utiliser la valeur par défaut, divisant mon lecteur de 500 Go en un système d’exploitation Windows de 240 Go et un espace non alloué de 240 Go).

BIOS

  • Désactivez le démarrage sécurisé (si vous avez bitlocker, vous devez le redéfinir pour pouvoir démarrer en toute sécurité sous Windows à chaque fois) - cela me convient parfaitement car Ubu est mon système d'exploitation principal, utilisez simplement windoze pour les jeux.

Ubuntu LiveCD

Enfin - Démarrez dans le programme d’installation USB 19.04

  • Appuyez Entersur l'option d' installation par défaut Ubuntu .

  • Quand vous arrivez à l'écran qui dit Effacer tout le disque et a des cases à cocher, cliquez sur l'option Quelque chose d'autre (partitionnement manuel). Sinon, vous perdrez vos données Windows!

Une fois que le gestionnaire de partition de disque a chargé votre disque, vous disposez d'un grand espace non alloué. Cliquez dessus et cliquez sur le bouton Ajouter pour créer des partitions.

  • Commencez par créer une /bootpartition de 500 Mo (principale, ext4).
  • Deuxièmement, avec le reste de l’espace, créez un volume chiffré. Cela créera une seule partition LV. Modifiez-le pour qu'il soit la /partition racine sélectionnée .
  • Ensuite, le reste du processus d’installation fonctionnera normalement.

Lorsque vous démarrez pour la première fois, connectez-vous, ouvrez un terminal, exécutez sudo apt-get updateet sudo apt dist-upgraderedémarrez, puis reconnectez-vous.

Un fichier d'échange de 2 Go sera créé automatiquement. Si vous voulez plutôt un 8 Go, lisez cette réponse .


4
En mai 2019, c'est la réponse préférée (semble fonctionner depuis 2012, en fait), aucune complication en ligne de commande n'est nécessaire. Dans le partitionnement, après avoir créé le volume physique pour le chiffrement, je n'ai pas vu le nouveau /dev/mapper/sdaX_crypt en haut de la liste . Ce guide contient des captures d'écran et permet de visualiser le formatage d'une partition. Il peut être utile: hecticgeek.com/2012/10/…
firepol

Bonne réponse, Falieson! Mais je ne l'ai pas compris pendant les 14 et 17 premiers jours de recherche que j'ai consultés. Je pense donc que je vais écrire ma propre réponse avec des captures d'écran. Cet article posté par @firepol ( hecticgeek.com/2012/10/… ) était SUPER utile, et ce n’est qu'après avoir suivi votre article que votre réponse a eu un sens pour moi.
Gabriel Staples

De plus, j'aimerais ajouter la prochaine fois que vous devriez cesser d'utiliser Windows Bitlocker et basculer vers VeraCrypt. C'est gratuit et Open Source, sans frais, et semble bien fonctionner avec le double démarrage. Ma partition Windows l'utilise, ainsi que mes disques durs externes et certains volumes locaux basés sur des fichiers. Voici une excellente vidéo d'introduction à VeraCrypt: youtube.com/watch?v=C25VWAGl7Tw , et leur page de téléchargement: veracrypt.fr/en/Downloads.html . Pour le chiffrement LUKS basé sur Linux sur des lecteurs externes ext4, toutefois, j'utilise l' utilitaire Ubuntu Disks inclus , qui dispose d'une case à cocher pour le chiffrement LUKS lors du formatage.
Gabriel Staples

5

Tout d’abord, explique pourquoi seul le chiffrement de la partition Linux peut ne pas être suffisamment sécurisé:

  1. https://superuser.com/questions/1013944/encrypted-boot-in-a-luks-lvm-ubuntu-installation
  2. https://security.stackexchange.com/questions/166075/fr/encrypting-the-boot-partition-in-a-linux-system-can-protect-from-an-evil-maid-a
  3. https://www.reddit.com/r/linux/comments/6e5qlz/benefits_of_encrypting_the_boot_partition/
  4. https://unix.stackexchange.com/questions/422860/why-should-we-encrypt-the-system-partition-and-not-only-home
  5. https://www.coolgeeks101.com/howto/infrastructure/full-disk-encryption-ubuntu-usb-detached-luks-header/
  6. https://superuser.com/questions/1324389/how-to-avoid-encrypted-boot-partition-password-prompt-in-lvm-arch-linux

Maintenant, j'ai suivi ce tutoriel:

  1. https://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive
  2. http://web.archive.org/web/20160402040105/http://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive

Sur cette réponse, je présente une installation étape par étape (avec des images) de Linux Mint 19.1 XFCEet Ubuntu 18.04.2entièrement cryptée sur un seul disque. Tout d' abord j'ai installé Ubuntu 14.04.2sur /dev/sda5et je n'ai pas créé les partitions d'échange car Linux Mint 19.1et Ubuntu 18.04.2ne les utilisent pas, par exemple, ils utilisent des fichiers d'échange.

Ubuntu 18.04.2 Beaver bionique

Tout d’abord, insérez le Ubuntusupport d’installation et redémarrez la machine dans la Ubuntusession en direct, puis sélectionnez Try Ubuntuet ouvrez un terminal, puis

  1. sudo su -
  2. fdisk /dev/sda, puis, créez les partitions suivantes
    • entrez la description de l'image ici
  3. cryptsetup luksFormat /dev/sda5
  4. cryptsetup luksOpen /dev/sda5 sda5_crypt
  5. pvcreate /dev/mapper/sda5_crypt
  6. vgcreate vgubuntu /dev/mapper/sda5_crypt
  7. lvcreate -L10G -n ubuntu_root vgubuntu
    • lvcreate -l 100%FREE -n ubuntu_root vgubuntu(facultatif, au lieu de courir lvcreate -L10G -n ubuntu_root vgubuntu, vous pouvez l'exécuter lvcreate -l 100%FREE -n ubuntu_root vgubuntupour utiliser tout votre espace disque disponible, au lieu de seulement 10 Go)
    • entrez la description de l'image ici
  8. Ne fermez pas le terminal et ouvrez le programme d’installation de la distribution, sélectionnez Autre chose et installez-le avec
    • /dev/sda1monté en /bootpartition avec ext2format
    • /dev/mapper/vgubuntu-ubuntu_rootmonté comme /avec le ext4format.
    • /dev/sda comme installation du chargeur de démarrage
    • Ne marque rien d'autre
    • entrez la description de l'image ici
    • entrez la description de l'image ici
  9. Ne redémarrez pas, cliquez sur Continuer avec Linux, puis sélectionnez le terminal ouvert.
  10. mkdir /mnt/newroot
  11. mount /dev/mapper/vgubuntu-ubuntu_root /mnt/newroot
  12. mount -o bind /proc /mnt/newroot/proc
  13. mount -o bind /dev /mnt/newroot/dev
  14. mount -o bind /dev/pts /mnt/newroot/dev/pts
  15. mount -o bind /sys /mnt/newroot/sys
  16. cd /mnt/newroot
  17. chroot /mnt/newroot
  18. mount /dev/sda1 /boot
  19. blkid /dev/sda5 (copier l'UUID sans les guillemets et l'utiliser à l'étape suivante)
  20. echo sda5_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab
    • entrez la description de l'image ici
    • entrez la description de l'image ici
    • entrez la description de l'image ici
  21. Créer le fichier /etc/grub.d/40_custom
    • entrez la description de l'image ici
  22. Modifier /etc/default/grubet définir
    • GRUB_TIMEOUT_STYLE=menu
    • GRUB_TIMEOUT=10
    • entrez la description de l'image ici
  23. update-initramfs -u
  24. update-grub
    • entrez la description de l'image ici
    • entrez la description de l'image ici
  25. exit
  26. reboot
  27. Après le redémarrage de votre ordinateur, sélectionnez l'option Ubuntuet il vous demandera correctement votre mot de passe de cryptage
    • entrez la description de l'image ici
  28. Après vous être connecté, lancez
    • sudo apt-get update
    • sudo apt-get install gparted
  29. Et en ouvrant gpartedvous trouverez ceci
    • entrez la description de l'image ici

Pour des instructions plus détaillées, lisez le didacticiel original indiqué en haut de cette question ou recherchez sur Google à propos de l'utilisation de ces commandes.


Linux Mint 19.1 Cannelle

Pour les installations Linux restantes , démarrez rebootvotre ordinateur avec l’installateur (Live CD) et ouvrez une fenêtre de terminal.UbuntuMint 19.1

  1. sudo su -
  2. cryptsetup luksFormat /dev/sda6
  3. cryptsetup luksOpen /dev/sda6 sda6_crypt
  4. pvcreate /dev/mapper/sda6_crypt
  5. vgcreate vgmint /dev/mapper/sda6_crypt
  6. lvcreate -L10G -n mint_root vgmint
    • lvcreate -l 100%FREE -n mint_root vgmint(facultatif, au lieu de courir lvcreate -L10G -n mint_root vgmint, vous pouvez le lancer lvcreate -l 100%FREE -n mint_root vgmintpour utiliser tout votre espace disque disponible, au lieu de seulement 10 Go)
    • entrez la description de l'image ici
    • entrez la description de l'image ici
  7. Ne fermez pas le terminal et ouvrez le programme d’installation de la distribution, sélectionnez Autre chose et installez-le avec
    • /dev/sda2monté en /bootpartition avec ext2format
    • /dev/mapper/vgmint-mint_rootmonté comme /avec le ext4format.
    • /dev/sda2comme installation du chargeur de démarrage (ne pas sélectionner /dev/sdacomme auparavant)
    • Ne marque rien d'autre
    • entrez la description de l'image ici
    • entrez la description de l'image ici
  8. Ne redémarrez pas, cliquez sur Continuer avec Linux, puis sélectionnez le terminal ouvert.
  9. mkdir /mnt/newroot
  10. mount /dev/mapper/vgmint-mint_root /mnt/newroot
  11. mount -o bind /proc /mnt/newroot/proc
  12. mount -o bind /dev /mnt/newroot/dev
  13. mount -o bind /dev/pts /mnt/newroot/dev/pts
  14. mount -o bind /sys /mnt/newroot/sys
  15. cd /mnt/newroot
  16. chroot /mnt/newroot
  17. mount /dev/sda2 /boot
  18. blkid /dev/sda6 (copier l'UUID sans les guillemets et l'utiliser à l'étape suivante)
  19. echo sda6_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab
    • entrez la description de l'image ici
    • entrez la description de l'image ici
    • entrez la description de l'image ici
  20. update-initramfs -u
  21. update-grub
    • entrez la description de l'image ici
    • entrez la description de l'image ici
  22. exit
  23. reboot
  24. Après le redémarrage de votre ordinateur, sélectionnez l'option Linux Mint on /dev/sda2
    • entrez la description de l'image ici
  25. Ensuite, il démarrera correctement Mint 19.1et demandera le mot de passe de cryptage
    • entrez la description de l'image ici
  26. Après vous être connecté, lancez
    • sudo apt-get update
    • sudo apt-get install gparted
  27. Et en ouvrant gpartedvous trouverez ceci
    • entrez la description de l'image ici

Liens connexes:

  1. Comment redimensionner une partition LVM active?
  2. Comment redimensionner une partition LVM? (ie: volume physique)
  3. https://www.tecmint.com/extend-and-reduce-lvms-in-linux/
  4. Grub chainloader ne fonctionne pas avec Windows 8
  5. Démarrage UEFI avec chiffrement / démarrage sur Ubuntu 14.04 LTS

1
J'ai 1 disque dur sur mon ordinateur et il y avait un Kubuntu 18.04 non chiffré. J'ai installé le deuxième Kubuntu 18.04 chiffré à proximité du premier Kubuntu non chiffré. Maintenant, les deux fonctionnent bien sur un disque dur. Merci pour la réponse détaillée.
Ikrom

1
La partie concernant Linux Mint devrait être supprimée de cette réponse. Cette partie est hors sujet, n'a pas été demandée par OP, elle rend la réponse inutile et longue et conduit à des questions de suivi hors sujet comme celle-ci .
mook765

-1 pour la pièce liée à la menthe.
user68186
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.