# Chiffrement non persistant pour un swap sur plusieurs partitions Il est possible de combiner un chiffrement **non persistant** avec un swap réparti sur plusieurs partitions. Chaque partition sera chiffrée individuellement avec une clé aléatoire générée au démarrage (via `/dev/urandom`), puis ces partitions seront activées comme des espaces de swap indépendants. ## Configuration d'un swap chiffré non persistant sur plusieurs partitions ### **1. Désactiver les swaps existants** Avant de configurer le nouveau swap, désactivez toutes les partitions swap actuellement actives : ```bash sudo swapoff -a ``` ### **2. Chiffrer chaque partition de manière non persistante** Pour chaque partition de swap (par exemple `/dev/sdb1`, `/dev/sdc1`, `/dev/sdd1`), configurez un chiffrement non persistant avec **dm-crypt**. #### Exemple pour une partition `/dev/sdb1` : 1. **Créer une couche de chiffrement temporaire :** ```bash sudo cryptsetup open --type plain --cipher aes-xts-plain64 --key-file /dev/urandom /dev/sdb1 cryptswap1 ``` - **`--type plain`** : Utilise un chiffrement simple (sans métadonnées). - **`--cipher aes-xts-plain64`** : Définit l'algorithme de chiffrement (AES avec XTS, souvent recommandé pour les performances). - **`--key-file /dev/urandom`** : Génère une clé aléatoire à chaque démarrage. 2. **Formater le périphérique mappé en swap :** ```bash sudo mkswap /dev/mapper/cryptswap1 ``` 3. **Activer le swap :** ```bash sudo swapon /dev/mapper/cryptswap1 ``` 4. **Répétez les étapes 1 à 3 pour chaque partition** (par exemple `/dev/sdc1`, `/dev/sdd1`), en remplaçant `cryptswap1` par des noms uniques comme `cryptswap2`, `cryptswap3`, etc. ### **3. Ajouter une configuration automatique (optionnelle)** Pour automatiser cette configuration au démarrage, modifiez les fichiers suivants : #### **Dans `/etc/crypttab` :** Ajoutez une ligne pour chaque partition swap chiffrée, comme suit : ```plaintext cryptswap1 /dev/sdb1 /dev/urandom cipher=aes-xts-plain64,size=256 cryptswap2 /dev/sdc1 /dev/urandom cipher=aes-xts-plain64,size=256 cryptswap3 /dev/sdd1 /dev/urandom cipher=aes-xts-plain64,size=256 ``` #### **Dans `/etc/fstab` :** Ajoutez une ligne pour chaque périphérique mappé : ```plaintext /dev/mapper/cryptswap1 none swap sw 0 0 /dev/mapper/cryptswap2 none swap sw 0 0 /dev/mapper/cryptswap3 none swap sw 0 0 ``` ### **4. Activer et vérifier la configuration** 1. Rechargez les configurations et activez les swaps : ```bash sudo systemctl restart systemd-cryptsetup@cryptswap1.service sudo systemctl restart systemd-cryptsetup@cryptswap2.service sudo systemctl restart systemd-cryptsetup@cryptswap3.service ``` 2. Vérifiez l'état des swaps : ```bash swapon --show lsblk -o NAME,TYPE,SIZE,MOUNTPOINT,FSTYPE ``` Vous devriez voir que chaque partition chiffrée est activée en tant que swap. ## Avantages de cette configuration : 1. **Chiffrement sécurisé** : - Le swap est chiffré avec une clé aléatoire à chaque démarrage, garantissant que les données précédentes ne sont pas récupérables. 2. **Utilisation simultanée des partitions** : - Linux répartira automatiquement les écritures entre les différentes partitions de swap (en fonction de leur priorité). 3. **Simplicité d'automatisation** : - Une fois configurée, cette solution fonctionne automatiquement sans intervention de l'utilisateur. ## Points à surveiller : - **Performances** : - Si les partitions sont sur des disques de vitesses différentes, le disque le plus lent peut devenir un goulot d'étranglement. - **Priorités** : - Vous pouvez définir des priorités dans `/etc/fstab` pour influencer la répartition de la charge entre les partitions. Par exemple : ```plaintext /dev/mapper/cryptswap1 none swap sw,pri=10 0 0 /dev/mapper/cryptswap2 none swap sw,pri=5 0 0 /dev/mapper/cryptswap3 none swap sw,pri=1 0 0 ``` Avec cette approche, votre swap sera réparti sur plusieurs partitions, sécurisé par chiffrement non persistant, et configuré pour un usage optimal par le système.