I. Linux en Entreprise : Disque dure chiffré avec un Dual boot Windows-Ubuntu

I. Linux en Entreprise : Disque dure chiffré avec un Dual boot Windows-Ubuntu
II. Linux en Entreprise : Comment se préparer face à d’éventuels problèmes de déchiffrage
III. Linux en Entreprise: Applications Windows et leurs équivalents Linux
IV. Linux en Entreprise: télétravail et VPN

I. Linux en Entreprise : Disque dure chiffré avec un Dual boot Windows-Ubuntu

Celà fait un moment que je me suis posé la question de comment utiliser Linux en entreprise. Il y a eu deux défis auquels j’ai du faire face.

  • Comment respecter les règles de sécurité informatique imposées par l’entreprise? Entre autre, comment protéger les données sensibles stockées sur un ordinateur tournant sour linux lorsque l’ordinateur se retrouve en dehors de l’entreprise?
  • Est-ce que les outils que j’utilise sous Windows vont être compatible avec Linux? Si ce n’est pas le cas, quelles sont les alternatives?

Je dois l’avouer que l’utilisation massive des outils dans cloud (outlook365, etc.) nous simplifie la vie dans un sens où, il n’est plus nécessaire d’avoir Windows pour les utiliser. Je vais en parler dans un prochain article.

 

Dans cette première partie, je vais vous donner les différentes étapes que j’ai suivit afin de pouvoir installer Ubuntu sur une partition chiffrée avec LUKS.

Ce post peut aussi intéresser des particuliers qui souhaitent sécuriser leurs ordinateurs tournant sous Linux.

 

Avant de faire quoi que ce soit comme manipulation sur votre ordinateur, je vous recommande vivement de faire plusieurs essais dans une machine virtuelle afin de vous familiariser avec les différentes étapes.

J’ai donc lancé une machine virtuelle avec les configurations suivantes:

OS : Xubuntu 18.10
RAM : 1Go
HDD : 20Go (disque vierge, non partitionné)

Mon plan est de configurer les différentes partitions comme suit:

/boot : 1Go – ext4
/root : 15Go – ext4
swap : 1Go
/home : le reste du disque – ext4

 

I. Preparation du disque avec GParted

Insérer l’ISO d’Ubuntu dans le lecteur de média de la VM (Virtual Machine en anglais, ou machine virtuelle), puis sélecter l’option Essayer Ubuntu sans l’installer.

GParted est compris dans l’ISO. Il n’y a plus besoin de le télécharger à part entière.

Quand vous sélectionnez votre partition, il vous sera demandé de choisir une table de partition. Sur les systèmes assez récent, GPT est un très bon choix.

 

Au niveau partition, il nous en faut deux. Celle utilisée pour  le boot, ne sera pas chiffré. La deuxième partition, dans laquelle on y mettra root, swap et home par le suite, sera entièrement chiffrée.

A la question, pourquoi ne pas chiffrer la partition boot, la réponse a été donnée ici.

 

II. Préparation de la partition chiffrée avec LUKS

Dans cette deuxième partie, je vais vous donner les étapes pour chiffrer la partition dans laquelle nous allons installer Ubuntu.

Cette partie se déroule en trois étapes:
– Initialiser la partition à chiffrer avec LUKS puis la formater
– Initialiser chaque disque associée à un volume physique
– Créer les différents volumes logiques

Je n’ai qu’un seul disque dur sur mon ordinateur, donc je ne vais pas m’embêter à expliquer comment faire dans le cas où vous avez plus d’un disque. Par contre, je vous renvoie à cet article qui traite le sujet.

 

Ne vous étonner pas si l’initialisation de la partition à chiffrer /dev/sda2, se déroule très vite.

$ sudo fdisk -l
$ sudo cryptsetup luksFormat /dev/sda2

C’est tout à fait normal, puisque l’option luksFormat, contrairement à ce que son nom nous fait croire, ne formate pas du tout le disque. Pour ce faire, nous allons utiliser la commande dd.

Commencer par accéder au conteneur LUKS, qu’on va nommer hdcrypt, et qui sera le chemin d’accès au disque déchiffré.

$ sudo cryptsetup luksOpen /dev/sda2 hdcrypt

Formatter le disque avec la commande dd. En mode parano, vous pouvez lancer la même commande plusieurs fois.

$ sudo dd if=/dev/zero of=/dev/mapper/hdcrypt bs=16M

En fonction de la taille de votre disque, cette commande risque de prendre du temps avant de se terminer. Il n’y a pas d’indication sur l’avancement de l’opération à l’écran.

Ne paniquez pas si vous ne voyez pas de progrès, laisser votre ordinateur le temps de terminer le processus, et n’oubliez surtout pas de brancher votre ordinateur à un secteur.

Le meilleur moment pour lancer cette commande, c’est durant la nuit. Au matin, il faut espérer que l’opération se termine.

 

Notre conteneur est presque prêt. Pour vous donner une idée de ce que l’on va faire par la suite,

La première étape serait d’associer un volume physique (PV, Physical Volume) à notre container.

$ sudo pvcreate /dev/mapper/hdcrypt


Créer ensuite un groupe « vgcrypt », dans lequel on regroupera tous les disques logiques.

$ sudo vgcreate vgcrypt /dev/mapper/hdcrypt

Et enfin, préparer nos disques logiques. Donnez leurs un nom qui vous donnera une indication sur la future utilisation du volume.

$ sudo lvcreate -n lvroot -L 15G vgcrypt
$ sudo lvcreate -n lvswap -L 1g vgcrypt
$ sudo lvcreate -n lvhome -l 100%FREE vgcrypt

Faites attention à la différence entre -l, qui demande à avoir une valeur en pourcentage, et -L qui s’attend à une quantité en Go, d’où le G ou g.

Nos différentes partitions (volumes logiques) sont maintenant créées. Il faut maintenant y associer les systèmes de fichier appropriés pour chaque partition.

Je ne vais pas me prendre la tête à choisir lequel utiliser. Si vous voulez utiliser autre chose que EXT4, libre à vous.

$ sudo mkfs.ext4 -L Root /dev/vgcrypt/lvroot
$ sudo mkfs.ext4 -L Home /dev/vgcrypt/lvhome
$ sudo mkswap -L Swap /dev/vgcrypt/lvswap

Ici, le label (-L <option>) n’est pas obligatoire. C’est une indication supplémentaire pour indiquer à quelle partition je vais associer le volume.

Vérifier les informations de vos partitions avec fdisk.


La partie déchiffrée du disque se situe dans /dev/mapper.

 

III. Installation d’Ubuntu dans une partition chiffrée

Je ne vais pas détailler le processus d’installation. Cependant, il y a quelques points auxquels j’aimerai qu’on discute.

Ubuntu a une option pour chiffrer tout le disque, par contre celà effacera entièrement le disque dur. Ce n’est pas une option pour moi, puisqu’il me faut toujours ma partition Windows. Si comme moi, vous souhaitez garder le double boot, faites attention à ne pas sélectionner cette option.

La dernière option est celle qui nous intéresse, puisqu’elle nous laisse le choix de manipuler les partitions à notre façon.

Pour chaque volume logique, nous allons lui associer les partitions correspondantes.

Par exemple, à la partition /home il lui faut associer au volume /dev/mapper/vgcrypt-lvhome (format de fichier ext4).

Aussi, faites attention quand vous choisissez le boot loader, sinon le système ne pourra pas être installé, ou encore l’OS ne peut pas démarrer par la suite.

Poursuivez l’installation,

Et ne redémarrer pas encore votre système puisqu’il n’est pas tout à fait prêt.

 

IV. GRUB et les partitions chiffrées

Le GRUB ne sait pas lire des partitions chiffrées, en tout cas au moment où j’écris cet article. Il va donc falloir lui donner manuellement toutes les informations nécessaire pour qu’il puisse démarrer le système d’exploitation qu’on vient d’installer.

Si, à un moment ou à un autre, le GRUB n’arrive pas à démarrer le système, suite à une mise-à-jour par exemple, il va falloir refaire toutes les étapes ci-dessous pour débloquer le situation.

Commencer par monter toutes les partitions dont en a besoin en mode chroot, en commençant par celle qui contient la partition root, suivit du boot, puis le reste.

$ sudo mount /dev/mapper/vgcrypt-lvroot /mnt
$ sudo mount /dev/sda1 /mnt/boot
$ sudo mount /dev/mapper/vgcrypt-lvhome /mnt/home
$ sudo mount --bind /dev /mnt/dev

Récupérer ensuite l’UUID du disque /dev/sda2 chiffré avec LUKS. On n’en aura besoin pour la suite.

Monter ensuite les systèmes de fichiers du noyau virtuels proc, sysfs et devpts une fois connecté avec chroot.

$ sudo chroot /mnt
# mount -t proc proc /proc
# mount -t sysfs sys /sys
# mount -t devpts devpts /dev/pts

Créer un fichier crypttab pour y ajouter les informations ci-dessous.

[chroot]# vi /etc/crypttab
# <target name> <source device>		<key file> <options>
hdcrypt         UUID=UUID_de_sda2		none		luks,retry=1,lvm=vgcrypt

 

Déclarer le disque chiffré.

[chroot]# vi /etc/initramfs-tools/conf.d/cryptroot
CRYPTROOT=target=hdcrypt,source=/dev/disk/by-uuid/UUID_de_sda2

 

Regénérer les images de démarrage.

[chroot]# update-initramfs -k all -c

Indiquer au GRUB que la partition racine est chiffrée.

[chroot]# vi /etc/default/grub
 
GRUB_CMDLINE_LINUX="cryptopts=target=hdcrypt,source=/dev/disk/by-uuid/UUID_de_sda2,lvm=vgcrypt"

Mettre à jour les informations du GRUB.

[chroot]# update-grub


Et voilà, on est arrivé au bout. Vous pouvez maintenant redémarrer votre système.

Sources

Pourquoi la partition Boot n’est pas Cryptable ?
How can I install Ubuntu encrypted with LUKS with dual-boot?
Installer un Ubuntu chiffré avec LUKS, LVM et un partitionnement personnalisé
LFCS: How to Manage and Create LVM Using vgcreate, lvcreate and lvextend Commands – Part 11
Setup Flexible Disk Storage with Logical Volume Management (LVM) in Linux – PART 1