Chiffrement sur dual-boot windows et Ubuntu - Marc BASLER Institut Charles Sadron UPR22 révision 3, le 27/08/2013 ...
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Chiffrement sur dual-boot windows et Ubuntu Marc BASLER Institut Charles Sadron UPR22 marc.basler@ics-cnrs.unistra.fr révision 3, le 27/08/2013 page1/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Table des matières Introduction..........................................................................................................................................2 Installation et chiffrement.....................................................................................................................3 Partitionnement du disque :.........................................................................................................3 installation de windows XP (non chiffré) :.................................................................................3 installation de Ubuntu chiffré :...................................................................................................3 Déplacement du gestionnaire de boot GRUB vers la partition /boot :........................................6 Rendre le lien de Grub vers Windows « incassable » (Facultatif) :............................................7 Chiffrement de Windows XP :....................................................................................................8 Autres opération sous Windows.........................................................................................................10 Chiffrer séparément une partition de données :........................................................................10 Supprimer la lettre de lecteur de la partition chiffré :...............................................................11 Monter automatiquement au démarrage une partition de données :.........................................11 Changer le mot de passe et faire un nouveau séquestre :..........................................................12 Monter manuellement une partition système windows chiffrée :.............................................12 Autre opération sous Ubuntu..............................................................................................................13 Rajouter ou supprimer une passphrase pour le démarrage :.....................................................13 Sauvegarder et restaurer l'entête du conteneur LUKS :............................................................13 Monter automatiquement au démarrage une partition de données NTFS :..............................14 Monter manuellement une partition linux chiffré :...................................................................15 Monter manuellement une partition système windows chiffrée :.............................................15 Bibliographie......................................................................................................................................15 Introduction Cette notice décrit une procédure pour obtenir une installation chiffré de windows et Linux Ubuntu en dual-boot. Windows et la partition de données sont chiffrés par TrueCrypt et Ubuntu est chiffré par dm-crypt avec LUKS. Dans cette procédure, il est possible de conserver une installation de Windows déjà existante (à condition de libérer de l'espace disque pour les partitions Ubuntu). Par contre il faut installer ou réinstaller Ubuntu (ce serais plus compliqué en gardant une installation existante). Je décris la procédure avec Windows XP, car on avait un besoin avec se système. Je ne l'ai pas encore testé avec Windows 7 (...ou 8), mais ça ne devrais pas être plus compliqué. Si vous avez possibilité de faire une installation dual boot sur un ordinateur muni d'un disque chiffrant, faite-le, ce sera beaucoup plus simple ! page2/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Installation et chiffrement Partitionnement du disque : exemple : partition type utilisation taille sda1 primaire ntfs Windows-XP 25Go sda2 primaire ext2 /boot 400Mo sda3 etendu sda5 logique LUKS Volume Group 15 Go sda6 logique ntfs donnee le reste 4 partitions primaires ou étendus maximum. La partition étendu contient les partitions logiques. la partition au format LUKS contiendra à la fin de l'installation les volumes logiques LV-swap = swap et LV-slash = système Ubuntu. Peut être fait complètement à partir d'un live-CD Ubuntu avec l'utilitaire gparted (ou presque, on ne peu que réserver l'espace disque pour la partition LUKS). http://doc.ubuntu-fr.org/gparted Peut être fait partiellement à partir du CD d'installation de Windows, puis complété en suivant la procédure d'installation d'Ubuntu chiffré. ça évite de démarrer 2 fois sur un CD Ubuntu. Pendant l'installation de Windows, l’important est de laisser libre l'espace disque pour Ubuntu et les données partagé par les 2 systèmes. installation de windows XP (non chiffré) : Nouvelle installation : Laisser libre l'espace disque pour Ubuntu et les données partagé par les 2 systèmes. Ou à partir d'un windows déjà en utilisation, réduire la partition du système windows si nécéssaire. installation de Ubuntu chiffré : démarrer sur Ubuntu alternate CD (test fait avec Ubuntu 12.04 alternate i-386) choisir « installer sur le disque dur » dans le menu suivant (le vrai écran est noir) : page3/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Les écrans suivant ont cet aspect : Dans ce document, les paramètres à sélectionner seront représenté dans une zone grise, les choix ou saisis au clavier sont représenté en gras. Une zone grise peu correspondre à plusieurs écran successif sur le même thème ! choix région . clavier . nom de la machine . nom et mot de passe du premier utilisateur . Chiffrer votre dossier personnel : non . time zone Europe/Paris : oui . Méthode de Partitionnement : manuel Création de la partition /boot : (sélectionner l'espace libre) Créer une nouvelle partition nouvelle taille : 400MB type : primaire emplacement : début utiliser comme : EXT2 point de montage : /boot indicateur d'amorçage : absent fin du paramétrage de cette partition l'indicateur d'amorçage reste sur la partition Windows, ce qui permettra au chargeur d’amorçage de TrueCrypt de démarrer Windows sans passer par le chargeur d'amorçage « Grub » de Ubuntu. Création de la partition qui sera chiffré : (selectionner l'espace libre) Créer une nouvelle partition nouvelle taille : 15 à 20 GB type : logique emplacement : début utiliser comme : ne pas utiliser fin du paramétrage de cette partition Attention ! Sur cette écran on peu lire le nom des disques sous cette forme : SCSI1 (0,0,0) (sda) – 60GB ATA sous lequel on peu lire le numéro de chaque partitions : N°4 logique 15GB K Notez l'emplacement de cette partition « non utilisé » sous la forme : /dev/sda3 page4/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Création du conteneur chiffré LUKS : configurer les volumes chiffrés écrire des modifications sur le disque et configurer les volumes chiffré ? Oui Action de configuration du chiffrement : create encrypted volumes (créer des volumes chiffrés) Périphérique à chiffrer : (choisir la partition non utilisé que l'on viens de créer) fin du paramétrage de cette partition écrire des modifications sur le disque et configurer les volumes chiffré ? Oui Action de configuration du chiffrement : Finish Phrase secrète de chiffrement : _________________ Création des volumes logiques : Configurer le gestionnaire de volumes logiques (LVM) écrire les modifications sur les disques et configurer LVM : oui Action de configuration de LVM : Créer un groupe de volumes Nom du groupe de volumes : VG-ubuntu Périphérique pour le nouveau groupe : (celui que l'on vient de chiffrer) Volume logique pour la « swap » Créer un volume logique Groupe de volume : VG-ubuntu Nom du volume logique : LV-swap taille du volume logique : (1 à 2 fois la taille de la mémoire vive) Volume logique pour la racine « / » Créer un volume logique Groupe de volume : VG-ubuntu Nom du volume logique : LV-slash taille du volume logique : (taille max) terminer Montage des volumes logiques (sélectionner le volume logique « LV-slash ») utiliser comme : EXT4 point de montage : / fin du paramétrage de cette partition (sélectionner le volume logique « LV-swap ») utiliser comme : swap fin du paramétrage de cette partition Les derniers paramètres et l'installation terminer le partitionnement et appliquer les changements faut-il appliquer les changements sur les disques ? Oui (installation du système de base) Mandataire HTTP : (ne rien mettre) Télécharger le support pour votre langue ?:oui (suite de l'installation) page5/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Installer le programme de démarrage GRUB sur le secteur d'amorçage : oui (j'ai tenté d'installer GRUB sur la partition /boot en répondant « non », mais ça faisait planter l'installation) fin de l'installation de Ubuntu. Les actions suivantes se font en ligne de commande. Les lignes précédé de « ~$ » sont à copier dans un terminal, les autres lignes sont la réponse du système : Déplacement du gestionnaire de boot GRUB vers la partition /boot : (Initialement GRUB est dans le secteur de démarrage du disque) Après avoir démarrer sous Ubuntu, notez l'emplacement de la partition /boot en vous servant de « Utilitaire de disque ». Dans un terminal exécutez : (Dans cette exemple /boot est sur /dev/sda2) ~$ sudo dpkg-reconfigure grub-pc Cette commande pose les questions de configuration suivante (écran semi-graphique) : Ligne de commande Linux : (laissez ce qu'il y a) Ligne de commande par défaut de Linux : (laissez ce qu'il y a) Garder le paquet actuellement installé Le paquet grub-pc est en cours de mise à jour… Périphériques où installer GRUB : /dev/sda2 (419 Mo; /boot) retour dans le terminal : /usr/sbin/grub-setup : attention : Tentative d'installation de GRUB sur un disque sans partition ou sur une partition. C'est une très mauvaise idée.. /usr/sbin/grub-setup : attention : L'embarquage est impossible. GRUB ne peut être installé sur cette configuration qu'en utilisant les listes de blocs. Cependant, les listes de blocs ne sont PAS fiables et leur utilisation est déconseillée.. Installation finished. No error reported. Generating grub.cfg ... Found linux image: /boot/vmlinuz-3.2.0-52-generic-pae Found initrd image: /boot/initrd.img-3.2.0-52-generic-pae Found linux image: /boot/vmlinuz-3.2.0-23-generic-pae Found initrd image: /boot/initrd.img-3.2.0-23-generic-pae Found memtest86+ image: /memtest86+.bin Found Microsoft Windows XP Professionnel on /dev/sda1 done page6/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Rendre le lien de Grub vers Windows « incassable » (Facultatif) : but : Après chiffrement de la partition windows, le lien de Grub vers ce système est susceptible d'être effacé lors d'un « update-grub » car ce système est devenu invisible. Ça peut-être le cas lors d'une mise à jour de Ubuntu. Il faut donc écrire ce lien dans un fichier custom.cfg qui est lu automatiquement par grub.cfg et qui ne sera pas écrasé. Cette manip. est facultative car l'indicateur d'amorçage étant sur la partition Windows, le chargeur d’amorçage de TrueCrypt démarre Windows sans passer par le chargeur d'amorçage « Grub » de Ubuntu. Pour vérifier que le fichier custom.cfg n'existe pas encore, tapez dans un terminal : ~$ sudo ls -al /boot/grub/*.cfg -r--r--r-- 1 root root 5932 avril 17 16:41 /boot/grub/grub.cfg Pour ouvrir le fichier de configuration de Grub dans l'éditeur de texte « gedit » avec les droits d'administrateur (root), taper dans un terminal : ~$ gksudo gedit /boot/grub/grub.cfg Dans l'éditeur de texte gedit rechercher la partie « os-prober »: (dans l'exemple on trouve « 30_os-prober ») ### BEGIN /etc/grub.d/30_os-prober ### menuentry "Microsoft Windows XP Professionnel (on /dev/sdb2)" --class windows --class os { insmod part_msdos insmod ntfs set root='(hd1,msdos2)' search --no-floppy --fs-uuid --set=root 1EC42F3EC42F1793 drivemap -s (hd0) ${root} chainloader +1 } ### END /etc/grub.d/30_os-prober ### Couper ce qu'il y a entre les deux lignes de commentaire ### BEGIN... et ### END... et les coller dans un nouveau document dans gedit qui sera ensuite enregistré sous : /boot/grub/custom.cfg. !!Attention, faire ça dans la fenêtre gedit qui à été ouverte avec les droits « root » !! Le fichier custom.cfg contiendra alors : (dans l'exemple j'ai rajouté « entree incassable!! ») menuentry "Microsoft Windows XP Professionnel (on /dev/sdb2) entree incassable!!" --class windows --class os { insmod part_msdos insmod ntfs set root='(hd1,msdos2)' search --no-floppy --fs-uuid --set=root 1EC42F3EC42F1793 drivemap -s (hd0) ${root} chainloader +1 } Ces lignes doivent être effacé de grub.cfg pour ne pas apparaître 2 fois lors du boot. page7/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Chiffrement de Windows XP : Chiffrage de Windows XP avec TrueCrypt avec l'option « partition système » et « amorçage » (correspond à « single boot ») 1. Sauvegarder les données de l’ordinateur 2. Installer TrueCrypt sur le poste 3. Lancer TrueCrypt Exécuter la commande suivante depuis le répertoire truecrypt (C:\Programm files\TrueCrypt\) "TrueCrypt Format.exe" /noisocheck Chiffrer la partition ou l'intégralité du disque système Type de chiffrement : Normal Zone à chiffrer : Chiffrer la partition système Chiffrement de la zone protégée hôte : non Nombre de système d'exploitation : Amorçage Option de chiffrement : suivant 4. Choix du mot de passe mot de passe Collecte de données aléatoire Clés générées 5. Création du disque de secours (séquestre) Disque de secours Disque de secours créé Mode de nettoyage 6. Pré-test de chiffrement système page8/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
pré-test du chiffrement système : Test Avertissement : pré-amorçage… (uniquement en anglais) votre ordinateur doit être redémarré : oui préamorçage : enter password Attention : certain pavé numérique ne fonctionne pas lors du pré-amorçage. En cas de mauvais password, pensez à essayer les chiffres situé au dessus des lettres. Démarrage... (ouverture automatique de TrueCrypt) pré-test concluant 7. Lancer le chiffrement du disque chiffrement : chiffrer le chiffrement à été réalisé avec succes le secteur de boot contient maintenant le chargeur d'amorçage TrueCrypt. Depuis le chargeur d'amorçage TrueCrypt faire « Echap » pour accéder au GRUB (dans la partition sdaX) page9/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Autres opération sous Windows Chiffrer séparément une partition de données : (Cas d'une nouvelle partition vide ou don les données sont intégralement sauvegardé sur un autre support) lancer TrueCrypt (en cliquant) A l'aide du boutons « Créer un volume » Encrypt a non-system partition/drive Volume TrueCrypt standard Emplacement du volume : (bouton Périphérique) Arre you sure you want to encrypt the device/partition ? Oui Volume Creation Mode : Create encrypted volume and format it Attention : Si c'est une partition contenant des données qu'il faut conserver, choisir l'option : Encrypt partition in place. Mais c'est beaucoup plus long ! Option de chiffrement : suivant Taille du volume : suivant mot de passe Grands fichiers : Oui Formatage du volume (et collecte de données aléatoire) : Formatage rapide Are you sure you want to use Quick Format ? Oui Formatage du volume (et collecte de données aléatoire) : Formater Êtes vous sure de vouloir procéder au formatage : Oui Attention : tout les fichiers actuellement stockés sur la partition seront écrasé et perdu ! Le volume TrueCrypt à été créé avec succès. Volume créé : Quitter page10/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Supprimer la lettre de lecteur de la partition chiffré : (Supprimer la lettre de lecteur attribué par Windows, devenu inutilisable après le chiffrement) Depuis une session administrateur, lancer le gestionnaire des disques : Démarrer → Panneau de configuration → Outils d'administration → Gestion de l'ordinateur → Gestion des disques Clique droit sur la partition concerné Modifier la lettre de lecteur et le chemins d'accès... : Supprimer Monter automatiquement au démarrage une partition de données : Depuis une session administrateur, lancer le gestionnaire de Tâches planifiées : Démarrer → programmes → Accessoires → Outils système → Tâches planifiées Création d'une tâche planifiée Assistant tâche planifiée : Suivant Selectionner le programme TrueCrypt dans la liste de l'assistant : Suivant Entrez un nom ; Executer cette tâche : À l'ouverture d'une session l'option « Au démarrage de mon ordinateur » peu générer une erreur lorsque l'on fait « appliquer » Entrez le nom d'utilisateur : (par défaut) ; Entrez le mot de passe (celui de l'utilisateur) Vous avez planifié...Ouvrir les propriétés avancées de cette tâche... ; Terminer Rajouter dans le champ « Exécuter » : ( dans l'exemple : lecteur « m », disque N°0 et partition N°3) Le mot de passe est celui du chiffrage de la partition. ...\TrueCrypt.exe /lm /v \Device\Harddisk0\Partition3 /p "mot de passe" /q Depuis une fenêtre TrueCrypt, il est possible de repérer le chemin « \Device\Harddisk... » puis de le copier-coller. Appliquer, OK Redémarrer. Remarque : Le mot de passe apparaît en clair dans le gestionnaire de tâches planifiées, mais est accessible uniquement depuis la session ou elle à été créée et de toute façon après avoir déverrouillé le chiffrement de la partition système. Le disque se monte aussi quand on ouvre une autre session au démarrage. page11/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Changer le mot de passe et faire un nouveau séquestre : lancer TrueCrypt (en cliquant) Pour la partition système active : Menu : Système Modifier le mot de passe Ou pour une partition de donnée : Périphérique... → (sélectionner la partition) Outils pour le volume → Modifier le mot de passe du volume Modifier le mot de passe ou les fichiers clé Avertissement : mot de passe court... (>10 caractères) Collecte de données aléatoire Mot de passe changé Voulez-vous créer un disque de secours : oui Monter manuellement une partition système windows chiffrée : (et les éventuels partitions donnée dans le cas d'un chiffrement « disque entier ») depuis un autre système Windows lancer TrueCrypt (en cliquant) A l'aide des boutons « monter » ou « montage automatique » il faut ensuite choisir « option » puis cocher « Monter sans authentification lors du pré-amorçage » ou A l'aide du menu : Menu : Système Monter sans authentification lors du pré-amorçage... page12/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Autre opération sous Ubuntu Les actions suivantes se font en ligne de commande. Les lignes précédé de « ~$ » sont à copier dans un terminal, les autres lignes sont la réponse du système : Rajouter ou supprimer une passphrase pour le démarrage : (en ligne de commande) Rajouter une passphrase qui se mettra dans le premier emplacement (key slot) disponible dans l'entête du conteneur chiffré LUKS : (dans l'exemple sda5 est la partition qui contient le conteneur chiffré) ~$ sudo cryptsetup luksAddKey /dev/sda5 Enter any passphrase : Enter new passphrase for key slot:. (Entrer d'abord une passphrase d'un des slot actuellement valide. Ensuite entrer une passphrase à rajouter dans un slot libre.) Lister les slots : (dans l'exemple sda5 est la partition qui contient le conteneur chiffré) ~$ sudo cryptsetup luksDump /dev/sda5 (la passphrase intitial est dans le slot 0) Supprimer une passphrase d'un slot : (dans l'exemple on supprime le 2ième slot du conteneur chiffré sda5) ~$ sudo cryptsetup luksKillSlot /dev/sda5 2 Enter any remaining LUKS passphrase : (Entrer une passphrase d'un des slot actuellement valide.) Sauvegarder et restaurer l'entête du conteneur LUKS : faire une sauvegarde de l'entête du conteneur LUKS dans un fichier sur une clef USB : (dans l'exemple, à partir de l'entête LUKS /dev/sda5 on créé le fichier « entete » sur la clé USB « sdb1 ») : ~$ sudo cryptsetup luksHeaderBackup --header-backup-file /media/sdb1/entete /dev/sda5 (si cette commande écrit le fichier « entete » sur une partition au format Linux, ce fichier aura les droits limité à root en lecture seul !) Restauration de l'entête du conteneur LUKS : possible à partir d'un autre système linux avec dm-crypt et LVM installé. (les live-CD « System rescue » et « partedMagic » on dm-crypt et LVM installé nativement) ~$ sudo cryptsetup luksHeaderRestore --header-backup-file /media/sdb1/entete /dev/sda5 WARNING ! ========= Device:dev/sda5 already contains LUKS header. Replacing header will destroy existing keyslots. Are you sure ? (Type uppercase yes): YES (attention à marquer « YES » et non pas « yes ») page13/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Monter automatiquement au démarrage une partition de données NTFS : Dans un terminal, créer un répertoire DATA et changer le propriétaire et le groupe en « user »(remplacer user par le login de la session) : ~$ sudo mkdir /media/DATA; sudo chown user:user /media/DATA créer un fichier qui contiendra le script du démarrage : ~$ sudo gedit /usr/local/bin/monteDataTrueCrypt coller dans la fenêtre gedit et corriger la partition « sda2 » et le mot de passe : #!/bin/bash # TrueCrypt monte le disque /dev/sda2 sur le dossier # /media/DATA avec le mot de passe "motdepasse" # (l'option --mount est implicite) truecrypt /dev/sda2 /media/DATA -p "motdepasse" enregistrer et fermer Rendre le fichier exécutable et illisible par un simple utilisateur : ~$ sudo chmod 711 /usr/local/bin/monteDataTrueCrypt ouvrir l'éditeur de paramétrage de sudo etc/sudoers : ~$ sudo visudo ajouter à la fin du fichier « /etc/sudoers.tmp » et remplacer « user » par le login de l'utilisateur : # autorise user à exécuter monteDataTrueCrypt # avec les droits administrateur sans mot de passe user ALL = NOPASSWD: /usr/local/bin/monteDataTrueCrypt Ctrl X pour quitter l'éditeur Sauver l'espace modifié : o non du fichier à écrire : (laisser celui par défaut) ouvrir l'utilitaire graphique : « application au démarrage » ajouter nom : monte DATA avec TrueCrypt commande : sudo monteDataTrueCrypt enregistrer fermer page14/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Monter manuellement une partition linux chiffré : monter la partition chiffrée, à partir d'un autre système linux avec dm-crypt et LVM installé : (« sda5-crypt » est un nom arbitraire donné à la partition) ~$ cryptsetup luksOpen /dev/sda5 sda5-crypt Saisissez la phrase secrète pour /dev/sda5 : ~$ vgchange -ay 2 logical volume(s) in volume group « VG-ubuntu » now active montage d'un volume logique : ~$ sudo mkdir /media/montage_LV ~$ sudo mount /dev/VG-ubuntu/LV-slash /media/montage_LV (Le montage peu aussi être fait par une interface graphique) on peu maintenant ouvrir /media/montage_LV dans un explorateur de fichier Monter manuellement une partition système windows chiffrée : (et les éventuels partitions donnée dans le cas d'un chiffrement « disque entier ») lancer TrueCrypt (en cliquant) A l'aide du menu : Menu : Système Mount partition using system encryption (preboot authentification) Remarque : Lors du pré-amorçage de TrueCrypt le clavier est en mode américain (qwerty). Sous windows, quand on chiffre la partition système ou quand on exécute « Monter sans authentification lors du pré-amorçage », le clavier bascule en mode américain pour la saisi du mot de passe. Sous Linux, quand on exécute « Mount partition using system encryption (preboot authentification) », le clavier reste dans le mode ou il était. Bibliographie « Chiffrement des portables mise en œuvre et utilisation » par François Morris : www.dsi.cnrs.fr/services/securite/Documents/manuel.pdf Documentation pour installer ubuntu chiffré : http://doc.ubuntu-fr.org/tutoriel/chiffrer_son_disque « GRUB2 and Truecrypt – Windows-Linux dual-boot system » par Zoltán Pallagi : http://pzolee.blogs.balabit.com/2010/07/grub2-and-truecrypt-windows-linux-dual-boot-system/ Dans GRUB2, créer une ligne de boot qui ne soit pas écrasé par une mise à jours de Grub : http://forum.ubuntu-fr.org/viewtopic.php?id=836212 Pour exécuter une commande en tant que root au démarrage d'Ubuntu http://blog.cheztoi.net/2009/08/30/ajouter-un-programme-au-demarrage-dubuntu-service/ page15/15 Chiffrement sur dual-boot windows et Ubuntu Marc BASLER
Vous pouvez aussi lire