Ubuntu 16.04 chiffré en dual-boot avec Windows (UEFI)

Ubuntu 16.04 chiffré en dual-boot avec Windows

en mode UEFI

Pages 1 - 2 - 3 - 4

ubuntu-16.04.02

Un premier tutoriel sur ce site explique l'installation personnalisée d'Ubuntu 16.04 complètement chiffré sur un ordinateur sans autre système d'exploitation.

Nous allons maintenant voir comment réaliser le même type d'installation en dual-boot avec Windows.

Ce guide est valable avec les versions 7, 8.1 et 10 de Windows sur système 64 bits en mode UEFI.

 

Nous utiliserons de nouveau un container chiffré LUKS contenant des volumes logiques LVM pour séparer le système d'exploitation Ubuntu (root), l'espace d'échange (swap) et les données utilisateurs (home).

A quoi sert le chiffrement ?

Un simple mot de passe ne suffit pas à protéger un ordinateur.

Si quelqu'un a accès physiquement à votre ordinateur, ou s'il est volé, une simple clef USB avec un système live permet de lire l'intégralité des données non chiffrées (données personnelles ou système d'exploitation). Un logiciel malveillant peut également être installé.

De la même manière, si vous vous débarrassez de votre disque dur, les données restent accessibles après un simple effaçage ou même un reformatage (il est par contre possible d'effacer plus radicalement les données avec des applications spécialisées).

En chiffrant l'ordinateur, on se protège de ces risques.

 

Pourquoi chiffrer aussi le système d'exploitation ?

Même en dehors du répertoire de l'utilisateur (/home sur un système Linux), il y a des données sensibles dans d'autres répertoires. Dans /var et dans /tmp, on va trouver des variables spécifiques à l'installation (journaux ou logs, courriers système, fichiers temporaires, serveur web ...).

On va pouvoir connaître aussi l'ensemble des logiciels et applications utilisés ainsi que leur configuration. C'est donc une source de vulnérabilité.

Par ailleurs, des tests ont montré que le chiffrement complet est plus performant en terme de rapidité que le chiffrement partiel.

Scénario de chiffrement choisi : LVM dans LUKS

Une solution pour chiffrer complètement une installation est de chiffrer chacune des partitions une à une. L'inconvénient est qu'il faudra donner un mot de passe pour chaque partition avant de démarrer le système d'exploitation.

Nous allons donc utiliser ici une autre alternative : un container chiffré (LUKS) contenant des Volumes logiques pour chacune des partitions. Il ne faudra donc donner qu'un seul mot de passe pour déchiffrer les 3 volumes.

Le logiciel LVM (Logical Volume Manager) permet de gérer ces volumes logiques.

Il y a plusieurs niveaux de volume :

  • le volume physique (PV : physical volume) = il s'agit d'un disque physique ou d'une partition d'un disque physique
  • le groupe de volumes (VG : volume group) = il est constitué d'un ou plusieurs volumes physiques (lvm est capable de rassembler plusieurs partitions ou plusieurs disques dans un seul volume. On peut ainsi avoir un système d'exploitation ou un répertoire du système d'exploitation déployés sur plusieurs disques)
    Même lorsque l'on utilise qu'un seul volume physique, il faut tout de même déclarer un groupe de volumes (qui ne contiendra alors qu'un seul volume physique)
  • les volumes logiques (LV : logical volume) = il s'agit de partitions virtuelles qui seront utilisées par le système d'exploitation.

 

Dans notre installation, un seul volume physique sera utilisé. Le schéma d'utilisation de notre disque dur se présentera de la manière suivante (les partitions sur fonds bleu sont celles de Windows) :

 

Avant de commencer l'installation

Choix de la version d'Ubuntu

Ce guide permet l'installation complètement chiffrée d'Ubuntu 16.04 LTS qui proposera des mises à jour pendant 5 ans.

On peut également installer la version supérieure (16.10) en sachant que les mises à jour ne seront assurées que pendant 9 mois et qu'il faudra alors passer à la version suivante.

C'est la version Desktop (station de travail) qui est utilisée ici. Elle convient à un ordinateur personnel. On peut aussi prendre la version Server (serveur) mais le processus est différent car ce n'est pas le même installateur qui est proposé.

L'installation se fait sur un ordinateur en mode UEFI sur une partition de type GPT avec Windows pré-installé.

Redimensionner la partition utilisée par Windows

Si tout le disque dur est utilisé par Windows, il va d'abord falloir faire de la place pour Ubuntu.

Dans ce guide, nous sommes partis d'une installation Windows sur 4 partitions dont voici le schéma :

Schéma windows avant dual-boot

Votre installation sera peut-être différente, il faudra dans ce cas adapter le chiffrement des partitions en fonction.

Il faudra libérer au moins 20 Go au minimum. Voir le tutoriel suivant pour effectuer cette opération sur Windows 7, 8.1 ou 10.

À savoir, Ubuntu pourra accéder aux fichiers de Windows et les modifier, mais ceux-ci ne seront pas chiffrés. Seuls les fichiers propres à Ubuntu seront protégés.

Créer une clé live-usb Ubuntu

Cette clé permettra d'une part de tester Ubuntu sans rien modifier à l'ordinateur, d'autre part à installer la distribution en dual-boot avec Windows.

Elle pourra également servir à dépanner l'installation ultérieurement si un problème survenait.

Il vous faudra d'abord télécharger l'image d'Ubuntu 16.04.01 64 bits à cette adresse.

Un tutoriel détaille la création d'une clé live-usb  à partir de cette image depuis Windows.

 

Sur un système Linux, insérer une clef usb, faire la commande :

$ lsblk

avec et sans la clé pour repérer son nom de device (/dev/sdc par exemple) puis lancer la commande (en supposant que l'image téléchargée se trouve dans le répertoire Téléchargement) :

Attention, ne pas se tromper de device (/dev/sdc) sous peine d'effacer irrémédiablement le disque dur plutôt que la clé USB !!!

$ sudo dd bs=4M if=~/Téléchargement/ubuntu-16.04.1-desktop-amd64.iso of=/dev/sdc

Une fois que cette commande se termine (ne pas s'inquiéter si rien ne se passe pendant le temps de la copie qui peut durer plusieurs minutes),

$ sync

À partir de là, on peut commencer l'installation.