Le chiffrement de disque protège les données au repos. Sur un VPS, l’hébergeur contrôle l’hyperviseur ; il ne peut donc pas empêcher un fournisseur déterminé de lire la mémoire. Ce qu’il fait bien, c’est protéger contre les sauvegardes perdues, les disques recyclés et le stockage volé ou saisi. Sachez contre lesquels de ces risques vous vous défendez avant d’y consacrer du temps.
Décider contre quoi vous vous protégez
- Disques retirés ou copiés : le chiffrement aide beaucoup.
- Instantanés divulgués : le chiffrement aide si la clé n’est pas stockée avec l’instantané.
- Un attaquant actif sur le système en cours d’exécution : le chiffrement n’aide pas, car le volume est déverrouillé.
- Un hyperviseur malveillant : le chiffrement n’aide pas sur un VPS. Un serveur dédié avec un contrôle complet du matériel est l’option la plus solide.
Option 1 : un volume de données chiffré
C’est le plus sûr pour commencer. Attachez un second disque ou créez un fichier loop, et gardez-y les données sensibles. L’exemple utilise un périphérique vide nommé /dev/vdb. Vérifiez deux fois le nom du périphérique, car le formatage détruit son contenu.
sudo apt install -y cryptsetup
sudo cryptsetup luksFormat /dev/vdb
sudo cryptsetup open /dev/vdb secure
sudo mkfs.ext4 /dev/mapper/secure
sudo mkdir -p /srv/secure
sudo mount /dev/mapper/secure /srv/secure
Pour le refermer : sudo umount /srv/secure && sudo cryptsetup close secure.
Option 2 : un conteneur sous forme de fichier
Quand vous n’avez pas de disque de rechange, utilisez un fichier comme conteneur.
sudo fallocate -l 20G /root/vault.img
sudo cryptsetup luksFormat /root/vault.img
sudo cryptsetup open /root/vault.img vault
sudo mkfs.ext4 /dev/mapper/vault
sudo mount /dev/mapper/vault /srv/vault
Option 3 : le disque racine avec déverrouillage à distance
Chiffrer le disque racine exige un moyen de saisir la phrase secrète au démarrage, avant que le réseau ne soit actif. La solution habituelle est un petit serveur SSH (dropbear) dans l’initramfs. Cela suppose que votre fournisseur vous laisse installer une image personnalisée ou réinstaller avec votre propre partitionnement ; vérifiez donc cela d’abord. De nombreux panneaux de VPS ne le permettent pas, et une erreur peut rendre le serveur impossible à démarrer ; gardez donc une option de secours prête.
En résumé : installez avec une racine chiffrée, ajoutez dropbear-initramfs, placez votre clé publique SSH dans /etc/dropbear/initramfs/authorized_keys, régénérez l’initramfs, puis redémarrez et déverrouillez via SSH avec cryptroot-unlock.
Gérer correctement la clé
- Utilisez une longue phrase secrète et gardez-la dans un gestionnaire de mots de passe, pas sur le serveur.
- Sauvegardez l’en-tête LUKS :
sudo cryptsetup luksHeaderBackup /dev/vdb --header-backup-file header.img. Conservez-le hors ligne. - Ne déverrouillez pas automatiquement avec un fichier de clé stocké sur le même disque. Cela annule tout l’intérêt.
- N’oubliez pas que déverrouiller au démarrage signifie qu’un redémarrage exige votre présence.
Associez le chiffrement à de solides sauvegardes chiffrées et aux bases du durcissement en 15 minutes.