DualBoot OS FDE : Windows chiffré + Linux chiffré

truecrypt-iconSuite au billet concernant la mise en place du dual-boot entre windows chiffré avec Truecrypt et Linux Ubuntu. Je m’attaque à présent au chiffrement non seulement des Windows mais aussi de linux ubuntu afin d’obtenir un dual boot windows/linux avec Full Disk Encryption.

Pour Windows je vais de nouveau utiliser Truecrypt, alors que pour Linux Ubuntu je vais utiliser dm-crypt. Ce n’est malheureusement pas exactement du Full Disk Encryption (FDE) parfait car je ne peux pas mélanger la techno de FDE de windows avec celle de linux. Il va rester la partition de boot en claire. Si vous voulez faire du FDE avec linux sans dual-boot, je vous conseil la lecture de ce tuto ou celui-ci dont j’ai dérivé les procédures pour obtenir le mien.

Je passe sur la partie explication de la gestion du multi-boot que j’avais détaillé dans mon précédent billet pour directement m’attaquer au chiffrement de Ubuntu. La principale différence repose dans le formatage et le partitionnement de Ubuntu que je vais installer cette fois ci avec le « Alternate CD » de ubuntu et non pas le CD d’installation classique. Le alternate CD va me permetre de pouvoir installer ubuntu avec des partitions chiffrées en utilisant les LVM et le tout puissant LUKS.

L’idée est de créer une partition de boot qui restera en claire et une partition LVM qui sera chiffrées. Attention ce tuto est destiné a des gens maitrisant un minimum linux.

Lets’s GO !

1 / Installer Windows Xp ou Windows Vista normalement, en laissant de la place pour les partitions linux.

2 / Télécharger le Ubuntu Alternate CD. Cochez bien la case : »Utiliser l’Alternate CD ».

2.1 /Lancer l’installation. Suivez les menu d’installation jusqu’au partitionnement des disques. Au partitionnement des disques choisissez « Manuel ».

2.2 / Créer la partition de boot

Sélectionnez l’espace libre afin de créer une nouvelle partition primaire de 200MO qui sera la partition de boot. Situé la partition au début et Sélectionnez /boot comme point de montage et marqué cette partition comme bootable

2.3 / Créer le volume chiffré

Sélectionnez l’espace libre afin de créer le volume chiffré. Créer une nouvelle partition logique en donnant tout l’espace libre restant et choisissez « utilisez comme : Volume physique de chiffrement ».

Sélectionnez « Configurez les volumes chiffré » entrez votre mot de passe.

Vous devriez a présent avoir quelques chose comme ceci :

volumechiffre

2.4 / Créer le LVM dans le volume chiffré

Sélectionner le volume chiffré et Utilisez Comme : Volume Physique pour LVM.

2.5 / Créer le groupe de partition LVM

Sélectionnez « Configurer le gestionnaire de volume logique LVM ».

Créer un groupe de Volumes, nommer le comme vous voulez (LVM dans mon exemple).

Sélectionnez le périphérique (/dev/mapper/sda5_crypt dans mon exemple).

2.6 / Créer les volumes home et swap

Dans le gestionnaire de volume logique.
Le home : Sélectionnez « créer un volume logique ». Choisissez le groupe (lvm), puis donnez un nom au volume (racine). Sélectionnez sa taille (10GB dans mon exemple).
La Swap : Sélectionnez « créer un volume logique ». Choisissez le groupe (lvm), puis donnez un nom au volume (swap). Sélectionnez sa taille (779MB dans mon exemple).

2.7 / Configuration de la home et de la swap

Sélectionner le volume racine, et l’utilisez comme « système de fichier journalisé ext3 ». Définissez le point de montage comme /.

Sélectionnez le volume swap, et l’utilisez comme « espace d’échange swap ».

2.8 / Le partitionnement est terminé reprenez l’installation en validant les étapes. Grub devenant le gestionnaire d’amorçage.

Vous devez avoir quelque chose a présent comme ceci :

volumelvmchiffre

3 / Tester le boot de windows et linux aprés les 2 installations. Le boot linux devrait ressembler a ceci :

bootubuntucrypted

4 / Maintenant que les 2 OS sont installer et que ubuntu est chiffré on va chiffrer windows avec truecrypt  en faisant du chiffrement système et non pas du Full Disk Encryption.

4.1 / Télécharger puis installer truecrypt.

4.2 / Lancer truecrypt > System > Encrypt System/Partition driver > Normal (hidden on verra une prochaine fois) >Encrypt the windows system partition > Single-boot (si, si). Choisissez l’algo de chiffrement que vous voulez. > Inserer un password > Graver l’image de boot suivez les instruction et tester le redémarrage.

4.3 / Si tout c’est bien passer vous avez vus le bootload (l’amorçe) de truecrypt au démarage et windows c’est lancé. C’est maintenant que le calcul pour le chiffrement va commencer. Quelques minutes à quelques heures en fonctions de la taille du disque et des algorithmes de chiffrement choisis sont necessaire.

5 / Une fois le chiffrement terminé, redémarrer l’ordinateur pour tester de nouveau le boot avec truecrypt.

6 / Redémarrer l’ordinateur et démarrer sur un CD de Boot linux (une version desktop se sera plus facile pour travailler).

6.1 / Identifier la partition de boot. Utiliser l’éditeur de partition situé dans Système > Editeur de partition pour trouver la partition contenant le boot. Sa taille est de 200 Mo et son format etx3. Normalement c’est la seule partition identifiable par l’editeur de partition, les 2 autres étant chiffré. Dans mon cas c’est /dev/sda1

6.2 / Monter la partition de boot

Maintenant que vous connaissez le nom de votre partition de boot la monter.

# sudo mkdir /mnt/boot/

Il faut remplacer le * par un des numéro qui vous a été signifié plus haut. (Dans mon cas c’est sda2).

# sudo mount /dev/sda* /mnt/boot/

Pour savoir ce qu’elle contient faite :

# sudo ls /mnt/boot/

Si elle ne contient pas de dossier /grub alors démonter la vous vous êtes planté :

# umount /mnt/boot

7 / Copier la MBR

Maintenant que l’on a monté et trouvé la partition de boot de linux on va copier la routine d’amorçage de truecrypt de la MBR  dans la partition de boot. Et pour cela on va utiliser le bon dd :

On copie la MBR (attention au sda ou hda):

# sudo dd if=/dev/sda of=/mnt/boot/truecrypt.mbr count=1 bs=512

Ce qui devrait afficher quelque chose comme ceci qui confirme que les 512 premier octet de la première section ont été copié:

1+0 enregistrements lus
1+0 enregistrements écrits
512 octets (512 B) copiés, 0,00144459 s, 354 kB/s

Et on copie le backup se trouvant après :

# sudo dd if=/dev/sda of=/mnt/boot/truecrypt.backup count=8 bs=32256

Ce qui devrait afficher quelque chose comme ceci :

8+0 enregistrements lus
8+0 enregistrements écrits
258048 octets (258 kB) copiés, 0,00519783 s, 49,6 MB/s

8 / Réinstaller GRUB, opération délicate.

A présent que l’amorce de truecrypt est copié, on va pouvoir réinstaller GRUB dans la MBR. Pour ce faire il faut retrouver le nom de la partition qui contenait les fichiers de boot que vous avez monté.

# sudo grub

Vous aller entrer dans les commande de grub.il va falloir que vous spécifié a GRUB où se trouve votre partition. Si vous ne savez pas, entrez le début de la commande

install (hd0,

Puis appuyez sur la touche tabulation de votre clavier pour voir les partition que vous propose de monter GRUB (Dans mon cas hd0,1). Ensuite voici la commande complète (remplacer le * par votre numéro de partition). N’oubliez pas les espaces dans les commandes.

grub > install (hd0,*)/grub/stage1 (hd0) (hd0,*)/grub/stage2 0x8000 p

grub > quit

0x8000 n’est pas une référence au système de fichier, mais une référence à l’adressage de la mémoire qui doit être fixé ainsi. A présent vous avez GRUB stage1 de nouveau dans la MBR qui appele le stage2 dans votre partition de boot.

9 / Ajouter l’amorçage de Windows à GRUB

Il ne reste plus qu’a spécifier à grub ou se trouve la routine d’amorçage de truecrypt copié précédemment. Le plus simple étant de modifier le fichier menu.lst qui avait été créer précédemment.

# sudo nano /mnt/grub/menu.lst

Et tout en bas du fichier modifié l’appel de windows ainsi (remplacer le x par votre partition de boot, dans mon cas hd0,1):

title Windows XP Professional
rootnoverify (hd0,0)
makeactive
chainloader (hd0,x)/truecrypt.mbr
boot

10 / Redémarrer votre ordinateur. Tester.

C’est finit.

Tester avec :

  • Windows XP SP3
  • Windows Vista SP1
  • Ubuntu 9.04
  • Truecrypt 6.2
  • VirtualBox 2.2.2

Aucun bytes n’a été blessé durant les tests.

Source en plus de toutes celle déjà listée :

Astuce pour GRUB et multiboot documentation sur GRUB

Dualboot full encryption et enfin le forum ubuntu.