# 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 ### Désactiver les swaps existants Avant de configurer le nouveau swap, désactivez toutes les partitions swap actuellement actives : ```bash sudo swapoff -a ``` ### Chiffrer chaque partition de manière non persistante Pour chaque partition de swap (par exemple `/dev/sda2`, `/dev/sdb2`, `/dev/sdc2`), configurez un chiffrement non persistant avec **dm-crypt**. #### Exemple pour une partition `/dev/sda2` : 1. Créer une couche de chiffrement temporaire : ```bash sudo cryptsetup open --type plain --cipher aes-xts-plain64 --key-file /dev/urandom /dev/sda2 cryptswapa ``` - **`--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/cryptswapa ``` 3. Activer le swap : ```bash sudo swapon /dev/mapper/cryptswap1 ``` 4. Répétez les étapes 1 à 3 pour chaque partition Les noms doivent être uniques `cryptswap1`, `cryptswap2`, etc. Par exemple : - `/dev/sdb2` pour créer `cryptswapb` - `/dev/sdc2` pour créer `cryptswapc` ### 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 cryptswapa /dev/sda2 /dev/urandom cipher=aes-xts-plain64,size=256 cryptswapb /dev/sdb2 /dev/urandom cipher=aes-xts-plain64,size=256 cryptswapc /dev/sdc2 /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.