swap-chiffre.md 4.1 KB

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 :

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 :

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é :

/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 :

    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 :

    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.