Installation personnalisée chiffrée

21

Mon ordinateur exécute Ubuntu. Je veux installer Ubuntu sur un autre support. Je souhaite activer le cryptage, mais comme les choix par défaut de l'installateur ubuntu (effacer / à côté de / etc ...) ne concernent que le lecteur par défaut, je dois choisir "autre chose" et créer les partitions sur l'autre lecteur manuellement, je crée ~ 128 Mo pour le démarrage, alors je suis perdu, si je fais une partition chiffrée avec le reste de l'espace, je ne peux pas la diviser, donc je n'ai pas d'échange; si au lieu de cela je crée deux partitions chiffrées, cela ne me semble pas correct car il souhaite configurer deux mots de passe différents ...

Comment puis-je configurer le swap? (Pendant ou après l'installation).

Yvain
la source

Réponses:

29

Comment accomplir cela avec LVM et une seule partition chiffrée

avertissement

Tout d'abord, 128M est trop petit pour démarrer! J'utilise 1G. Sinon, ce qui va arriver, c'est que vous pouvez oublier de supprimer les anciens noyaux et / boot se remplira, et vous devrez faire face à la douleur d'essayer de supprimer les anciens noyaux du système afin de pouvoir obtenir aptou apt-gettravailler encore. Même avec 1G, assurez-vous de retirer de temps en temps les vieux noyaux.

Les étapes suivantes ne sont pas destinées aux utilisateurs novices.
MISE À JOUR: J'ai créé un script qui effectuera les opérations suivantes pour vous et plus encore! Il vous suffit de l'exécuter à partir du Live OS avant l'installation. Vous pouvez trouver un article sur mon blog .


Pré-installation à partir du système d'exploitation en direct

Vous souhaitez configurer LUKS et LVM tout en partitionnant manuellement! J'ai testé cela sur Ubuntu 16.04.2

Démarrez Ubuntu à partir d'un système d'exploitation en direct et sélectionnez l'option pour essayer Ubuntu sans installer. Suivez les étapes que j'ai décrites ci-dessous. Supposons que vous installez sur / dev / sdb.

  1. Partitionnez le lecteur avec l'outil de votre choix: j'ai utilisé fdisk pour configurer le mien sur une table de partition msdos comme suit:
    • autres partitions: systèmes d'exploitation existants - nous ne nous soucions pas de ceux-ci
    • sdb1: / boot (1G)
    • sdb2: partition LUKS (le reste du disque)
  2. Configurer LUKS
    • sudo cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sdb2
    • sudo cryptsetup luksOpen /dev/sdb2 CryptDisk
    • Bien que cela ne soit pas nécessaire, il est judicieux de remplir votre partition LUKS avec des zéros afin que la partition, dans un état chiffré, soit remplie de données aléatoires. sudo dd if=/dev/zero of=/dev/mapper/CryptDisk bs=4M ATTENTION, cela peut prendre très longtemps!
  3. Configurer LVM sur / dev / mapper / CryptDisk
    • sudo pvcreate /dev/mapper/CryptDisk
    • sudo vgcreate vg0 /dev/mapper/CryptDisk
    • sudo lvcreate -n swap -L 2G vg0
    • sudo lvcreate -n root -L 10G vg0
    • sudo lvcreate -n home -l +100%FREE vg0

Installation à partir du système d'exploitation en direct

  1. Vous êtes maintenant prêt à installer. Lorsque vous arrivez à la partie "Type d'installation" de l'installation, choisissez l'option "Autre chose". Attribuez ensuite manuellement les partitions / dev / mapper / vg0- * comme vous souhaitez les configurer. N'oubliez pas de définir / dev / sdb1 comme / boot. la partition / boot ne doit pas être chiffrée. Si c'est le cas, nous ne pourrons pas démarrer. Remplacez le «périphérique d'installation du chargeur de démarrage» par / dev / sdb et poursuivez l'installation.
  2. Une fois l'installation terminée, ne redémarrez pas ! Choisissez l'option "Continuer les tests".

Configuration post-installation à partir du système d'exploitation en direct

Ce bit est vraiment important si vous voulez que votre système démarre! J'ai passé pas mal de temps à rechercher cela pour comprendre ces étapes de post-installation. Dans mon cas, je le faisais parce que je voulais personnaliser la taille de / boot sur / dev / sda, mais tout ce travail devrait également se poursuivre dans votre situation.

  1. Dans un terminal, tapez ce qui suit et recherchez l'UUID de / dev / sdb2. Prenez note de cet UUID pour plus tard.
    • sudo blkid | grep LUKS
    • La ligne importante sur ma machine se lit /dev/sdb2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"
  2. Ensuite, montons à nouveau le système nouvellement installé afin que nous puissions apporter d'autres modifications.

    • sudo mount /dev/vg0/root /mnt
    • sudo mount /dev/vg0/home /mnt/home # ce n'est probablement pas nécessaire
    • sudo mount /dev/sdb1 /mnt/boot
    • sudo mount --bind /dev /mnt/dev # Je ne suis pas tout à fait sûr que ce soit nécessaire
    • sudo mount --bind /run/lvm /mnt/run/lvm
    • (Uniquement si vous utilisez EFI): sudo mount /dev/sd*/your/efi/partition /mnt/boot/efi
  3. Maintenant, exécutez sudo chroot /mntpour accéder au système installé

  4. Du chroot, montez quelques autres choses
    • mount -t proc proc /proc
    • mount -t sysfs sys /sys
    • mount -t devpts devpts /dev/pts
  5. Configurez crypttab. À l'aide de votre éditeur de texte préféré, créez le fichier / etc / crypttab et ajoutez la ligne suivante, en remplaçant l'UUID par l'UUID de votre disque.
    • CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
  6. Enfin, reconstruisez quelques fichiers de démarrage.
    • update-initramfs -k all -c
    • update-grub
  7. Redémarrez, et le système devrait demander un mot de passe pour déchiffrer au démarrage!

Un merci spécial à Martin Eve , EGIDIO DOCILE et aux gens de blog.botux.fr pour les tutoriels qu'ils ont publiés. En tirant des morceaux de leurs poteaux et en faisant un petit dépannage supplémentaire, j'ai finalement pu comprendre cela.

J'ai essayé plusieurs fois et j'ai échoué encore et encore. Le peu que je devais travailler pour moi-même sur la base de messages d'erreur étaitsudo mount --bind /run/lvm /mnt/run/lvm

b_laoshi
la source
Merci beaucoup, mais je suis coincé au début où j'ai besoin de configurer la partition luks. Impossible de le trouver dans la sortie fdisk -L.
Yvain
Et lorsque j'essaie de configurer la crypte, j'obtiens et erreur: impossible de supprimer les en
Yvain
Je vois que vous avez marqué cela comme une solution. L'avez-vous fait fonctionner? Sinon, quel outil avez-vous utilisé pour créer vos partitions? Vous devez d'abord partitionner le disque avec un outil comme Gparted ou fdisk, créant une partition pour / boot et une pour le cryptage (EFI nécessiterait une troisième partition non cryptée). Je n'utilisais pas EFI dans ma configuration. Ce n'est qu'après avoir créé la partition pour le chiffrement que vous pouvez réellement exécuter la cryptsetup luksFormatcommande pour la chiffrer. Lors de la création de / dev / sdb2, vous pouvez le formater avec un système de fichiers ou non. cryptsetupeffacera tout système de fichiers existant.
b_laoshi
1
@Yvain - Je pense que c'est faux. Sha1 n'est plus considéré comme sécurisé. Quelque chose de plus sûr (comme l'option sha512 suggérée) devrait certainement être utilisé.
mike
1
+1 @b_laoshi Merci beaucoup pour la réponse, ça m'aide beaucoup :)
Tummala Dhanvi
3

Comment accomplir ces multiples partitions chiffrées et pas de LVM

Parce que ma réponse précédente était si longue, je poste une deuxième réponse qui adopte une approche différente si vous ne souhaitez pas utiliser LVM.

Vous pouvez créer plusieurs partitions chiffrées et utiliser le script decrypt_derived afin que vous n'ayez à entrer le mot de passe qu'une seule fois. Consultez cet article de blog pour obtenir des instructions étape par étape. L'auteur utilise un fichier de clés, mais le script LUKS decrypt_derived serait également suffisant.

b_laoshi
la source
J'ai fini par débrancher le lecteur principal, des installations assistées sont disponibles pour mon sd :) lol
Yvain
2

Une façon de faire la tâche consiste à utiliser le programme d'installation du réseau ubuntu https://www.ubuntu.com/download/alternative-downloads

Ce n'est pas un programme d'installation graphique. Mais il vous offre le choix explicite du disque après avoir choisi l'installation complète du disque avec cryptage.

ernstkl
la source
0

C'est la réponse pour ceux qui ne cessent de se cogner sur cette question qui souhaitent juste changer légèrement le partitionnement par défaut d'Ubuntu. Par exemple, supprimez la swappartition et augmentez la /boottaille. Je pense que beaucoup de gens seraient découragés de suivre les instructions de b_laoshi, en raison du nombre d'étapes nécessaires.

Donc, pour un partitionnement personnalisé simple avec chiffrement, je suggère d'utiliser "Effacer le disque et installer Ubuntu" avec l'option "Chiffrer la nouvelle installation d'Ubuntu pour la sécurité". Ce que nous allons changer, c'est la configuration de ce partitionnement par défaut.

Ces configurations sont contenues dans /lib/partman/recipes[-arch]/. Pour moi, j'ai changé /lib/partman/recipes-amd64-efi/30atomic. Pour obtenir 538M pour efi, 1024M pour /boot, et le reste pour /avec ext4, j'ai édité le fichier en

538 538 538 fat32
    $iflabel{ gpt }
    $reusemethod{ }
    method{ efi }
    format{ } .

1024 1024 1024 ext4
    $defaultignore{ }
    $lvmignore{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext4 }
    mountpoint{ /boot } .    

900 10000 -1 ext4
    $lvmok{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext4 }
    mountpoint{ / } .

Notez qu'une fois que vous avez choisi le disque à effacer dans le programme d'installation, il vous demandera le résumé du partitionnement, afin que vous puissiez vérifier si l'astuce a fonctionné et que vous obtenez le partitionnement souhaité. Voir également /ubuntu//a/678074/47073 .

Yrogirg
la source