Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tutoriel:chiffrer_son_disque [Le 03/05/2019, 16:56] 193.250.138.66 |
tutoriel:chiffrer_son_disque [Le 23/07/2024, 18:05] (Version actuelle) 0ol [Chiffrement manuel] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Xenial Bionic sécurité chiffrement tutoriel}} | + | {{tag>sécurité chiffrement tutoriel}} |
======Installer Ubuntu avec LVM sur une partition chiffrée via dm-crypt ====== | ======Installer Ubuntu avec LVM sur une partition chiffrée via dm-crypt ====== | ||
===== Introduction ===== | ===== Introduction ===== | ||
Ligne 15: | Ligne 15: | ||
* L'utilisation de [[:LVM]] permettra l'[[:installation|installation]] de votre [[:Ubuntu]] (ou d'une autre distribution Linux comme Debian) dans cet espace sécurisé. | * L'utilisation de [[:LVM]] permettra l'[[:installation|installation]] de votre [[:Ubuntu]] (ou d'une autre distribution Linux comme Debian) dans cet espace sécurisé. | ||
Cela va chiffrer l'intégralité des données, mises à part celles contenues dans le /boot, en une seule fois, il ne faudra donc qu'une seule fois "montrer patte blanche". Sans la //passphrase//, Il ne sera pas possible d'accéder aux données utilisateur (/home), aux différents fichiers temporaires (/tmp , swap), ainsi que d'intervenir sur le système.\\ | Cela va chiffrer l'intégralité des données, mises à part celles contenues dans le /boot, en une seule fois, il ne faudra donc qu'une seule fois "montrer patte blanche". Sans la //passphrase//, Il ne sera pas possible d'accéder aux données utilisateur (/home), aux différents fichiers temporaires (/tmp , swap), ainsi que d'intervenir sur le système.\\ | ||
- | |||
- | <note> | ||
- | Le partitionnement automatique avec LVM sur partition chiffrée proposé lors d'une installation via un support //alternate// utilise la même méthode. C'est la méthode à privilégier. | ||
- | </note> | ||
===== Pré-requis ===== | ===== Pré-requis ===== | ||
- | * Un ordinateur portable qui ne dispose pas d'un disque dur à chiffrement matériel ou ne l'utilisant pas. | + | * Un ordinateur portable qui ne dispose pas d'un disque dur à chiffrement matériel ou ne l'utilisant pas. |
Un système puissant sera un plus : le chiffrement logiciel consomme des ressources à chaque accès au disque. | Un système puissant sera un plus : le chiffrement logiciel consomme des ressources à chaque accès au disque. | ||
- | * Avoir un média d'installation d'une iso [[:/installation_alternate#obtenir_une_iso_alternate|alternate]] ou d'une [[tutoriel:installer_ubuntu_par_internet|mini-iso prévu pour l'installation via internet]]. Cette iso prenant en charge dm-crypt et LVM. | + | * Du temps |
- | * Du temps | + | |
L'effacement total des données est très longue (mais optionnelle). | L'effacement total des données est très longue (mais optionnelle). | ||
* Une certaine maîtrise de l'OS, et de LVM? | * Une certaine maîtrise de l'OS, et de LVM? | ||
- | ===== Booter sur l'alternate ===== | ||
- | |||
- | <note important>Sauf pour la [[:variantes|variante Lubuntu]], l'**alternate CD** n'est plus disponible à partir des versions d'Ubuntu [[:trusty|Trusty 14.04]]. Les spécificités de l'Alternate CD sont maintenant reprises sur les images .iso Desktop d'Ubuntu.</note> | ||
- | |||
- | <note important>L'outil de partitionnement de l'installateur sur les images .iso Desktop d'Ubuntu recentes ne permet pas d'utiliser LVM. Utilisez l'installeur d'une [[https://help.ubuntu.com/community/Installation/MinimalCD|mini .iso]] pour pouvoir suivre ce tutoriel</note> | ||
- | |||
- | [[:installation_alternate#mode_par_defaut|Début de l'installation ]] | ||
- | |||
- | <note> | ||
- | Les impressions écran ont été faite à l'aide d'une machine virtuelle ayant démarré sur une iso alternate. En conséquence, l'utilisation de l'espace disque a été revu à la baisse. | ||
- | </note> | ||
===== Options de partitionnement ===== | ===== Options de partitionnement ===== | ||
Choisir le mode de [[:partitions|partitionnement]] manuel : | Choisir le mode de [[:partitions|partitionnement]] manuel : | ||
Ligne 52: | Ligne 36: | ||
* nous aurons donc "sda2 partition étendue" sur le reste de l'espace libre du disque dur.\\ | * nous aurons donc "sda2 partition étendue" sur le reste de l'espace libre du disque dur.\\ | ||
* et sda5 partition logique, qui pourra, selon votre usage, utiliser l'intégralité de l'espace disponible sur sda2. | * et sda5 partition logique, qui pourra, selon votre usage, utiliser l'intégralité de l'espace disponible sur sda2. | ||
- | Si vous souhaitez par la suite ajouter des partitions qui n'utiliseront pas ce système de [[http://fr.wikipedia.org/wiki/Cryptographie|cryptographie]], il faut au préalable créer la partition à chiffrer. | + | Si vous souhaitez par la suite ajouter des partitions qui n'utiliseront pas ce système de [[https://fr.wikipedia.org/wiki/Cryptographie|cryptographie]], il faut au préalable créer la partition à chiffrer. |
{{ :image:dm-crypt_lvm_alternate_02.png?500 |}} | {{ :image:dm-crypt_lvm_alternate_02.png?500 |}} | ||
Ligne 62: | Ligne 46: | ||
{{ :image:dm-crypt_lvm_alternate_07.png?500 |}} | {{ :image:dm-crypt_lvm_alternate_07.png?500 |}} | ||
* Choisir une [[http://www.queen.clara.net/pgp/pass.html|bonne]] passphrase | * Choisir une [[http://www.queen.clara.net/pgp/pass.html|bonne]] passphrase | ||
+ | |||
+ | <note important> Si vous créer une passphrase sur un clavier azerty, il arrive qu'au boot sur certains ordinateurs, le clavier soit reconnu en qwerty. | ||
+ | À vous de bien retrouver la phrase ou de choisir des touches communes à ces deux claviers lors de la création.</note> | ||
+ | |||
{{ :image:dm-crypt_lvm_alternate_05.png?500 |}} | {{ :image:dm-crypt_lvm_alternate_05.png?500 |}} | ||
Ligne 95: | Ligne 83: | ||
Dans cet exemple on supprime la clef présente dans le 2ème slot. | Dans cet exemple on supprime la clef présente dans le 2ème slot. | ||
cryptsetup luksKillSlot /dev/sda5 2 | cryptsetup luksKillSlot /dev/sda5 2 | ||
- | |||
- | |||
==== Entête LUKS ==== | ==== Entête LUKS ==== | ||
Si l'entête (header) du conteneur LUKS est endommagé, il ne sera plus possible d’accéder aux données. | Si l'entête (header) du conteneur LUKS est endommagé, il ne sera plus possible d’accéder aux données. | ||
=== Sauvegarde de l'entête == | === Sauvegarde de l'entête == | ||
- | Il est donc important de sauvegarder l'entête dans un endroit sur. | + | Il est donc important de sauvegarder l'entête dans un endroit sur. |
Le fichier contenant la sauvegarde de l’entête est nommé ici ''machine-header'' | Le fichier contenant la sauvegarde de l’entête est nommé ici ''machine-header'' | ||
cryptsetup luksHeaderBackup --header-backup-file machine-header /dev/sda5 | cryptsetup luksHeaderBackup --header-backup-file machine-header /dev/sda5 | ||
Ligne 107: | Ligne 93: | ||
cryptsetup luksHeaderRestore --header-backup-file machine-header /dev/sda5 | cryptsetup luksHeaderRestore --header-backup-file machine-header /dev/sda5 | ||
- | === Monter la partition manuellement === | + | ===== Deuxieme disque ===== |
+ | Pour ne pas avoir à taper une passe-phrase pour chaque disque, on va se débrouiller pour que le 2e disque se déchiffre tout seul. Bien sur uniquement si on a réussi à déchiffrer le 1er. | ||
+ | |||
+ | |||
+ | ==== Chiffrement manuel ==== | ||
+ | On va chiffrer à l'aide d'une passe-phrase (la même que pour le disque 1) et formater en ext4 le 2e disque. | ||
+ | |||
+ | |||
+ | <code bash> | ||
+ | cryptsetup luksFormat /dev/sdb1 | ||
+ | cryptsetup luksOpen /dev/sdb1 RAB | ||
+ | mkfs.ext4 /dev/mapper/RAB | ||
+ | cryptsetup luksClose RAB | ||
+ | </code> | ||
+ | |||
+ | ==== Création du fichier clef ==== | ||
+ | Création de ''/root/keyfile'' rempli aléatoirement, et mise en place de droits plus restrictif. | ||
+ | |||
+ | dd if=/dev/urandom of=/root/keyfile bs=1024 count=4 | ||
+ | chmod 400 /root/keyfile | ||
+ | |||
+ | ==== Ajout du fichier clef dans un slot ==== | ||
+ | Je le met dans le dernier slot. | ||
+ | |||
+ | cryptsetup luksAddKey /dev/sdb1 /root/keyfile --key-slot 7 | ||
+ | |||
+ | |||
+ | ==== crypttab ==== | ||
+ | |||
+ | Ajout dans crypttab | ||
+ | |||
+ | <file bash /etc/crypttab > | ||
+ | #… | ||
+ | sdb1_crypt UUID=eba3e3fa-bbbb-3333-cccc-7f4f601fbc4c /root/keyfile luks | ||
+ | </file> | ||
+ | ==== fstab ==== | ||
+ | |||
+ | Ajout dans fstab | ||
+ | <file bash /etc/fstab > | ||
+ | #… | ||
+ | UUID="13907d57-1111-2222-91f6-40e4b026fba2" /disque2 ext4 defaults 0 2 | ||
+ | </file> | ||
+ | |||
+ | |||
+ | Et voilà :-P | ||
+ | |||
+ | lors du boot sera demandée une passe-phrase pour déchiffrer le 1er disque. | ||
+ | |||
+ | Le 2nd pourra alors accéder à son fichier clef ''keyfile'' et se déchiffrer automatiquement. | ||
+ | |||
+ | ===== Monter la partition manuellement ===== | ||
Il vous faudra bien évidement booter sur un système prenant en charge dm-crypt et LVM. | Il vous faudra bien évidement booter sur un système prenant en charge dm-crypt et LVM. | ||
<note tip> | <note tip> | ||
Ligne 138: | Ligne 174: | ||
* **(en)** [[https://gitlab.com/cryptsetup/cryptsetup/wikis/DMCrypt|Dm-crypt]] | * **(en)** [[https://gitlab.com/cryptsetup/cryptsetup/wikis/DMCrypt|Dm-crypt]] | ||
* **(en)** [[https://wiki.archlinux.org/index.php?title=Dm-crypt|Dm-crypt sur le Wiki Archlinux]] | * **(en)** [[https://wiki.archlinux.org/index.php?title=Dm-crypt|Dm-crypt sur le Wiki Archlinux]] | ||
- | * **(en)** [[http://tldp.org/HOWTO/LVM-HOWTO/|LVM howto]] | + | * **(en)** [[https://tldp.org/HOWTO/LVM-HOWTO/|LVM howto]] |
- | * **(fr)** [[http://www.bortzmeyer.org/cryptage-n-existe-pas.html|Le terme "cryptage" n'existe pas en français]] | + | * **(fr)** [[https://www.bortzmeyer.org/cryptage-n-existe-pas.html|Le terme "cryptage" n'existe pas en français]] |
- | * **(en)** [[https://help.ubuntu.com/community/EncryptedFilesystemHowto|EncryptedFilesystemHowto sur l'aide Ubuntu]] | + | * **(en)** [[https://help.ubuntu.com/community/EncryptedFilesystemHowto|EncryptedFilesystemHowto sur l'aide Ubuntu]] |
---- | ---- | ||
//Contributeurs principaux : [[:utilisateurs:Ool]]// | //Contributeurs principaux : [[:utilisateurs:Ool]]// |