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 10/04/2018, 11:50] bougron [Pré-requis] |
tutoriel:chiffrer_son_disque [Le 23/07/2024, 18:05] (Version actuelle) 0ol [Chiffrement manuel] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag> trusty xenial 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 129: | Ligne 165: | ||
Le chiffrement du seul /home avec [[:ecryptfs]] comme proposé dans une installation desktop standard ne permet pas d'assurer le même niveau de sécurité même si cela peut constituer une bonne alternative. De la même manière, chiffrer uniquement son /home avec un conteneur LUKS, est possible. Les performances (I/O système) ne seront pas trop dégradées, tout en ayant ses données sécurisées. Mais il faut garder en tête que pourrait transiter dans un espace temporaire ou en swap vos données en clair. | Le chiffrement du seul /home avec [[:ecryptfs]] comme proposé dans une installation desktop standard ne permet pas d'assurer le même niveau de sécurité même si cela peut constituer une bonne alternative. De la même manière, chiffrer uniquement son /home avec un conteneur LUKS, est possible. Les performances (I/O système) ne seront pas trop dégradées, tout en ayant ses données sécurisées. Mais il faut garder en tête que pourrait transiter dans un espace temporaire ou en swap vos données en clair. | ||
- | |||
- | ======Installer Ubuntu dans un espace sécurisé ====== | ||
- | ===== Introduction. ===== | ||
- | ==== Pourquoi. ==== | ||
- | Le titre du document étant "chiffrer son disque", ce qui suit explique une autre méthode qui n'est pas chiffrer le disque mais chiffrer **UBUNTU**. | ||
- | Cela permet de ne pas chiffrer la totalité du disque mais seulement la seule partition du disque qui est allouée à ubuntu. Cela a l'avantage de laisser d'autres partitions hors chiffrement pour un accès aisé. | ||
- | ==== Comment. ==== | ||
- | L'utilisation d'un conteneur chiffré LUKS assure la sécurité. | ||
- | 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" au moment du boot. L 'intégralité des répertoires est dans la même partition (/etc /swap /home .....) à l'exception du seul répertoire /boot afin de permettre le démarrage de Ubuntu. C'est un script du répertoire /boot, qui vous demandera le mot de passe pour déverrouiller le démarrage de Ubuntu. Ce mot de passe sera d'au minima 6 caractères. Eviter si possible des catactères trop compliqués du style U avec accent circonflexe qu'il faut frapper avec deux touches. Une idée ??? Ne prendre que des caractères compatibles querty/azerty | ||
- | ==== Pré-requis ==== | ||
- | Disposer d'un support d'installation de la version 16.04 ou plus récente et booter avec en choisissant le choix "essayer avant d'installer". | ||
- | |||
- | Fabriquer la partition qui va servir au boot. Son format peut être EXT2 ou EXT4. Sa taille sera d'au minima 256 Mo afin de permettre la cohabitation de 3 noyaux qui est le strict minima pour un fonctionnement correct. Si possible, mettre 512 Mo pour un peu de sécurité. | ||
- | |||
- | Réfléchir à l'existence d'une partition qui contiendrait des données qu'on souhaite laisser publiques. | ||
- | |||
- | Fabriquer la partition qui va héberger le logiciel et les données de l'utilisateur sous forme chiffrée. La taille minima est de 5 Go. Le type de partition est sans importance car il sera détruit lors de l'installation. | ||
- | La taille de cette seule partition de ubuntu sera donc maxima. | ||
- | ===== Installation. ===== | ||
- | Lancer l'installation en cliquant sur l'icône présente. | ||
- | |||
- | Prendre le choix "autre chose". | ||
- | |||
- | Sélectionner la partition prévue à cet effet et choisir de la monter comme "volume physique pour chiffrement". | ||
- | |||
- | http://pix.toile-libre.org/upload/original/1523212163.png | ||
- | |||
- | Appliquer l'action et laisser du temps (beaucoup ?) pour réalisation.... | ||
- | |||
- | Sélectionner la nouvelle partition qui vient d'être créée sous la structure **/dev/mapper** et indiquer qu'elle sera au format EXT4 et destinée au point de montage ** /** | ||
- | |||
- | Sélectionner la partition prévue pour recevoir la structure de boot et indiquer qu'elle sera au format EXT2 et destinée au point de montage** /boot | ||
- | ** | ||
- | |||
- | **Dire de faire l'installation.** | ||
- | |||
- | Rappel: La création d'une partition /home est impossible. | ||
- | |||
Ligne 176: | 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]]// |