# Mise en place de LUKS

> Afin de protéger au mieux vos données personnelles, il peut être nécessaire de chiffrer vos partitions utilisateur. En effet, si via le système il est impossible d’accéder aux fichiers qui ne vous appartiennent pas, un simple passage sur un livecd permet d’accéder à n’importe quel fichier de votre système. Le chiffrement de partition permet d’éviter ça. Ubuntu intègre en standard les outils nécessaires à une gestion simple de votre sécurité.

source : [https://doc.ubuntu-fr.org/cryptsetup](https://doc.ubuntu-fr.org/cryptsetup)  
source : [https://www.val-r.fr/geek/os/linux/creer-et-utiliser-une-partition-chiffree-avec-luks-sous-linux/](https://www.val-r.fr/geek/os/linux/creer-et-utiliser-une-partition-chiffree-avec-luks-sous-linux/)

La mise en place d'une partition chiffré se résume en 5 étapes :

- 1/ Installation &amp; Préparation
- 3/ Création de la partition
- 4/ Chiffrement de la partition
- 5/ Utilisation de la partition chiffrée 
    - Déverrouillage
    - Montage
    - Démontage
    - Verrouillage

## 1/ Installation &amp; Préparation

Tout d'abord il est nécessaire d'installer cryptsetup.

```bash
sudo apt-get install cryptsetup
```

La commande `lsblk` permet de lister les disques et les partitions existantes :

```bash
NAME           MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda              8:0    0   20G  0 disk  
├─sda1           8:1    0   19G  0 part  /
└─sda5           8:5    0  975M  0 part  [SWAP]
sdb				 8:16	0	10G	 0 disk
└─sdb1           8:17   0   10G  0 part  /mnt/media
sdc              8:32   0 	50G  0 disk					# Disque a utiliser
```

Dans notre exemple ci-dessus nous avons 3 disques dur avec des partitions sur le serveur :

- Le disque **`sda`** de 20Go 
    - Partition **`sda1`** qui monté à la racine du serveur
    - Partition **`sda5`** qui est du SWAP pour le serveur

- Le disque **`sdb`** de 10Go 
    - Partition **`sdb1`** qui est monté sur le dossier media.

- Le disque **`sdc`** de 50Go sans partition existante

##### Nous allons utiliser le disque `sdc` pour créer la partition chiffrés. 

## <span id="bkmrk-cr%C3%A9er-une-partition--0">3/ Créer une partition</span>

Pour créer la partition, nous allons tout simplement utiliser l'outil Linux `fdisk` :

```bash
sudo fdisk /dev/sdc

# n   ajouter une nouvelle partition
Commande (m pour l''aide) : n

Type de partition
   p   primaire (0 primaire, 0 étendue, 4 libre)
   e   étendue (conteneur pour partitions logiques)
Sélectionnez (p par défaut) : p
Numéro de partition (1-4, 1 par défaut) : 
Premier secteur (2048-105456767, 2048 par défaut) : 
Dernier secteur, +/-secteurs ou +/-taille{K,M,G,T,P} (2048-105456767, 105456767 par défaut) : 

Une nouvelle partition 1 de type « Linux » et de taille 50,3 GiB a été créée.

# w   écrire la table sur le disque et quitter
Commande (m pour l''aide) : w

La table de partitions a été altérée.
Appel d''ioctl() pour relire la table de partitions.
Synchronisation des disques.
```

Si nous relançons la commande lsblk nous pouvons voir apparaître la nouvelle partition :

```bash
NAME           MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda              8:0    0   20G  0 disk  
├─sda1           8:1    0   19G  0 part  /
└─sda5           8:5    0  975M  0 part  [SWAP]
sdb				 8:16	0	10G	 0 disk
└─sdb1           8:17   0   10G  0 part  /mnt/media
sdc              8:32   0 	50G  0 disk
└─sdc1           8:33   0 	50G  0 part				# Partition créée
```

## 4/ Chiffrement de la partition

Pour créer une partition LUKS il suffit de lancer la commande suivante :

```bash
cryptsetup --verbose luksFormat --verify-passphrase /dev/sdc1

WARNING!
========
Cette action écrasera définitivement les données sur /dev/sdc.

Are you sure? (Type 'yes' in capital letters): YES
Saisissez la phrase secrète pour /dev/sdc : 
Vérifiez la phrase secrète : 
Emplacement de clef 0 créé.
Opération réussie.
```

## 5/ Utilisation de la partition chiffrée

#### <span style="text-decoration: underline;">Déverrouillage</span> 

Avant d'utiliser la nouvelle partition, il est nécessaire *d’ouvrir* la partition chiffrée ***(et il faudra le faire à chaque démarrage ou après la fermeture de la partition chiffrée)***.

```bash
cryptsetup -v luksOpen /dev/sdc1 maPartition
Saisissez la phrase secrète pour /dev/sdc1 : 
Emplacement de clé 0 déverrouillé.
Opération réussie.
```

<div class="syntaxhighlighter  " id="bkmrk-pour-v%C3%A9rifier-que-la"><div class="syntaxhighlighter  "><div class="syntaxhighlighter  "><div class="lines"><div class="line alt1">Pour vérifier que la partition a bien été déverrouiller utiliser la commande **`lsblk`** : </div><div class="line alt1">  
</div></div></div></div></div>```bash
NAME           MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda              8:0    0   20G  0 disk  
├─sda1           8:1    0   19G  0 part  /
└─sda5           8:5    0  975M  0 part  [SWAP]
sdb				 8:16	0	10G	 0 disk
└─sdb1           8:17   0   10G  0 part  /mnt/media
sdc              8:32   0 	50G  0 disk  
└─sdc1           8:33   0 	50G  0 part  
  └─maPartition 254:1   0 	50G  0 crypt				# Partition Déverrouillé
```

<p class="callout danger">Lors de la création d'une partition chiffré il est nécessaire de réaliser un formatage de la partition avant sont utilisation. Dans le cas contraire la partition sera corrompu.</p>

Pour formater la partition déchiffré <span style="text-decoration: underline;">**(a faire seulement la première fois)** </span>:

```bash
 sudo mkfs.ext4 /dev/mapper/maPartition 
```

<div class="line alt1" id="bkmrk--2"></div><div class="line alt1" id="bkmrk-5%2F%C2%A0"></div>#### <span style="text-decoration: underline;">Montage</span>

Maintenant que la partition est déverrouillé, pour l'utiliser il faut la monter avec un dossier.

<p class="callout warning">**Attention !**  
A présent, pour accéder au contenu de la partition chiffrée /dev/sdX1, il **ne faut pas** utiliser /dev/sdX1 mais le <span style="text-decoration: underline;">*mapper*</span> créé lors de l’ouverture de la partition chiffrée : **/dev/mapper/monNomDeVolume**  
(le nom du *mapper* a été spécifié lors de l’*ouverture* avec *cryptsetup luksOpen /dev/sdX1 **monNomDeVolume***).</p>

```bash
# Création du point de montage
mkdir /mnt/monDossier

# Montage du mapper
mount -v /dev/mapper/maPartition /mnt/monDossier
```

Maintenant vous pouvez utiliser votre partition comme vous le voulez via le dossier /mnt/monDossier.

#### <span style="text-decoration: underline;">Démontage</span>

Avant de verrouiller à nouveau la partition il est nécessaire d'enlever le point de montage.

```bash
# Démontage du mapper
umount -v /dev/mapper/monVolume

# ou
umount -v /mnt/monVolume
```

####   


#### <span style="text-decoration: underline;">Verrouillage</span>

```bash
cryptsetup -v luksClose maPartition
```