Swap chiffré : ecryptfs-setup-swap ne fonctionne pas

Bonjour :114

J’essaye de chiffrer la partition swap de ma Debian Jessie.

Le swap est sur /dev/sda7, pour l’instant non chiffrée :

# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda      8:0    0 465,8G  0 disk  
├─sda1   8:1    0   100M  0 part  /boot/efi
(...)
├─sda6   8:6    0   9,3G  0 part  /
├─sda7   8:7    0   7,8G  0 part  [SWAP]
# swapon -s
Nom de fichier     Type         Taille    Utilisé   Priorité
/dev/sda7          partition    8160252   0         -1

Et la ligne correspondante dans fstab :

# cat /etc/fstab
(...)
/dev/sda7 none swap sw 0 0

J’utilise le script ecryptfs-setup-swap. Voici le résultat :

# ecryptfs-setup-swap 

WARNING:
An encrypted swap is required to help ensure that encrypted files are not leaked to disk in an unencrypted format.

HOWEVER, THE SWAP ENCRYPTION CONFIGURATION PRODUCED BY THIS PROGRAM WILL BREAK HIBERNATE/RESUME ON THIS SYSTEM!

NOTE: Your suspend/resume capabilities will not be affected.

Do you want to proceed with encrypting your swap? [y/N]: y

INFO: Setting up swap: [/dev/sda7]
WARNING: Commented out your unencrypted swap from /etc/fstab
swapon: échec de stat /dev/mapper/cryptswap1: Aucun fichier ou dossier de ce type

Dans fstab, la ligne du swap a bien été commentée, et remplacée par ça :

# cat /etc/fstab
(...)
#/dev/sda7 none swap sw 0 0
/dev/mapper/cryptswap1 none swap sw 0 0

Et voici le crypttab qui a été créé :

# cat /etc/crypttab 
# <target name>	<source device>		<key file>	<options>
cryptswap1 /dev/sda7 /dev/urandom swap,cipher=aes-cbc-essiv:sha256

Le swap chiffré n’a pas été activé, et le swap non chiffré a été désactivé :

# swapon -s
# swapon -a
swapon: échec de stat /dev/mapper/cryptswap1: Aucun fichier ou dossier de ce type

Quelqu’un peut-il me dire où est le problème, et comment chiffrer mon swap proprement ? Merci.

Edit : ça fait plusieurs jours que j’essaye, mais bien sûr c’est juste après avoir posté ici que je trouve une moitié de solution. J’ai réussi à monter le swap chiffré avec :

# cryptdisks_start cryptswap1
[....] Starting crypto disk...[info] cryptswap1 (starting)...
[ ok swap1 (started)...done.
# swapon -s
Nom de fichier       Type       Taille   Utilisé   Priorité
/dev/dm-1            partition  8160252  0         -1

Maintenant, il me reste à faire en sorte que ça se fasse automatiquement au démarrage.

Je vais peut-être dire une bêtise, parce que je ne me suis pas penché sur ce problème, en soit …

Mais, comme te le dis la commande ecryptfs-setup-swap :

Tu commentes, dans ton fichier /etc/fstab, la ligne concernant ta swap … ou tu remplaces ta déclaration :

Puis, tu rajoutes celle concernant la version chiffrée :

/dev/dm-1 none swap sw 0 0

Voilà, en espérant que ce soit bon …
Quoiqu’il en soit, si ce n’est pas bon, tu démarreras sans swap.
Il faudra trouver quel est le bon paramétrage, alors !

C’est une mauvaise idée : les noms canoniques de périphériques créés par le device mapper (/dev/dm-*) ne sont pas persistants. Il faut utiliser les alias persistants définis par le système qui utilise le device mapper (LVM, cryptsetup…), ici /dev/mapper/cryptswap1.

Merci à tous, finalement je m’en suis sorti en ajoutant un service systemd qui active le swap chiffré au démarrage.