Chiffrer un disque dans (X)Ubuntu Feisty avec dm-crypt et LUKS

TL;DR
Ce guide explique pas à pas comment chiffrer une partition ou un disque supplémentaire sous (X)Ubuntu Feisty avec dm-crypt et LUKS. Il couvre l’installation, la préparation du disque, la création et le montage de la partition chiffrée, la gestion des clés, la sauvegarde de l’en-tête LUKS, des vérifications et des bonnes pratiques de sécurité.
Introduction
Motivation
La sécurité des données est essentielle, qu’on y pense activement ou non. Voici comment chiffrer un disque entier pour protéger des données sensibles sur un système (X)Ubuntu Feisty en utilisant dm-crypt et LUKS. Le guide rassemble des informations issues de diverses sources et les organise pour un usage pratique.
Avertissement important
Ce tutoriel effacera toutes les données présentes sur le disque que vous chiffrez. Vérifiez plusieurs fois le périphérique avant d’exécuter une commande d’écriture. N’encryptez pas le disque contenant votre système racine à moins de savoir exactement ce que vous faites. L’objectif principal est un disque additionnel pour stockage.
Définitions rapides
- dm-crypt : module du noyau Linux fournissant un chiffrement en bloc pour périphériques de blocs.
- LUKS : format standardisé de conteneur chiffré pour Linux qui gère les métadonnées et les clefs.
- cryptsetup : utilitaire pour gérer LUKS et dm-crypt.
Considérations légales et contextuelles
Le chiffrement protège les données contre l’accès non autorisé, mais il n’offre pas toujours une défense parfaite selon le cadre légal local. En Europe, certaines protections existent, par exemple le droit de garder le silence dans les procédures pénales. Dans d’autres juridictions, des obligations légales peuvent exiger la remise de données ou de clefs. Ce guide se concentre sur l’aspect technique. Si vous avez des inquiétudes légales, consultez un professionnel du droit local.
Important : ce document ne constitue pas un avis juridique.
Installer le logiciel nécessaire
Sur (X)Ubuntu Feisty et autres distributions basées sur Debian, installez les outils requis :
sudo aptitude install cryptsetup hashalot
cryptsetup est l’outil principal pour LUKS. hashalot est optionnel et aide à générer des phrases secrètes robustes.
Préparer le disque
Avant de créer un conteneur chiffré, il est utile de remplir le disque de données aléatoires afin d’éviter que des zones non chiffrées ou des motifs visibles ne trahissent la présence de données. Cette étape sert surtout à supprimer les motifs d’ancien contenu.
Attention : la commande suivante écrasera totalement le disque ciblé.
sudo dd if=/dev/urandom of=/dev/HARDDISK
Remplacez HARDDISK par le périphérique réel (par ex. sda, sdb, hda). Il est recommandé de partitionner le disque d’abord puis d’encrypter la partition plutôt que le disque entier, même si l’exemple suivant chiffre le disque complet.
Exemple de sortie observée :
hyper@xubi:/dev$ sudo dd if=/dev/urandom of=/dev/hda
dd: writing to `/dev/hda': No space left on device
312581809+0 records in
312581808+0 records out
160041885696 bytes (160 GB) copied, 90679.8 seconds, 1.8 MB/s
Ce processus peut durer très longtemps en fonction de la taille et du débit du disque.
Charger des modules du noyau
dm-crypt nécessite certains modules :
sudo modprobe aes
sudo modprobe dm-crypt
sudo modprobe dm_mod
Pour charger ces modules au démarrage, ajoutez-les à /etc/modules :
sudo nano /etc/modules
Ajoutez à la fin :
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
fuse
lp
aes
dm-crypt
dm_mod
Les entrées fuse et lp peuvent déjà exister. Ajoutez au moins aes, dm-crypt et dm_mod. Sauvegardez et quittez.
Créer la partition chiffrée
Pour initialiser LUKS sur le périphérique :
sudo cryptsetup luksFormat /dev/HARDDISK
cryptsetup vous demandera de confirmer l’opération et de saisir une phrase secrète (passphrase). Choisissez une passphrase longue et robuste. Utilisez hashalot ou un gestionnaire de mots de passe pour générer ou stocker une passphrase sécurisée.
Important : si vous oubliez la passphrase et que vous n’avez pas d’autres clefs valides, les données deviennent inaccessibles.
Mapper la partition chiffrée
Ouvrez et mappez le conteneur LUKS :
sudo cryptsetup luksOpen /dev/HARDDISK DEVICENAME
Après cette commande, le périphérique chiffré est disponible en clair via /dev/mapper/DEVICENAME.
Formater la partition chiffrée
Formatez le périphérique mappé avec le système de fichiers de votre choix. L’exemple utilise ext3 :
sudo mkfs.ext3 /dev/mapper/DEVICENAME
Vous pouvez choisir ext4, xfs, btrfs, selon vos besoins.
Monter la partition
Créez le point de montage puis montez :
sudo mkdir /media/DEVICENAME
sudo mount /dev/mapper/DEVICENAME /media/DEVICENAME
Si vous avez déjà ouvert le conteneur auparavant et avez seulement besoin de le monter à nouveau :
sudo cryptsetup luksOpen /dev/HARDDISK DEVICENAME
sudo mount /dev/mapper/DEVICENAME /media/DEVICENAME
Monter au démarrage
Pour que le système ouvre et monte le conteneur au démarrage, modifiez /etc/crypttab et /etc/fstab.
Exemple à ajouter dans /etc/crypttab :
DEVICENAME /dev/HARDDISK none luks,check=ext2,retry=5
Exemple à ajouter dans /etc/fstab :
# CryptoDevices
/dev/mapper/DEVICENAME /media/HARDDISK auto defaults 0 0
Au démarrage, on vous demandera la passphrase pour ouvrir le conteneur. La clé sera demandée jusqu’à 5 fois selon retry=5; si l’ouverture échoue, le système continue de démarrer sans monter ce disque.
Ajouter et supprimer des clés
LUKS supporte plusieurs clefs. Pour ajouter une clef :
sudo cryptsetup luksAddKey /dev/HARDDISK
Pour supprimer une clef existante :
sudo cryptsetup luksDelKey /dev/HARDDISK
Ayez au moins une clef de secours stockée en lieu sûr. Évitez de conserver la clef en clair sur le même système.
Démonter et fermer le conteneur
Afficher les mappings :
dmsetup ls
Pour démonter et fermer proprement :
sudo umount /media/DEVICENAME && sudo cryptsetup luksClose DEVICENAME
Note : fermer le mapping supprime l’accès au périphérique chiffré même si le bloc reste physiquement présent.
Voici un petit script pratique pour démonter et fermer :
#!/bin/bash
sudo umount /media/DEVICENAME && sudo cryptsetup luksClose HARDDISK
Rendez-le exécutable :
sudo chmod a+x ~/umount.sh
Puis créez un lanceur si vous utilisez un environnement graphique. Exemple d’icône :
Sauvegarder l’en-tête LUKS
Sauvegarder l’en-tête LUKS est critique. Si l’en-tête est corrompu, les clefs et l’accès aux données peuvent être perdus définitivement. Sauvegardez l’en-tête sur un support séparé et sécurisé.
Pour sauvegarder :
sudo cryptsetup luksHeaderBackup /dev/HARDDISK --header-backup-file /chemin/vers/backup-header.img
Pour restaurer :
sudo cryptsetup luksHeaderRestore /dev/HARDDISK --header-backup-file /chemin/vers/backup-header.img
Stockez le fichier de sauvegarde hors ligne et chiffré si possible.
Vérifications et tests
- Testez l’ouverture du conteneur immédiatement après sa création.
- Testez le montage, la lecture et l’écriture de fichiers.
- Testez la fermeture et la réouverture.
- Conservez une récupération « cold start » sur une machine séparée si possible.
Conseils de sécurité et bonnes pratiques
- Utilisez des passphrases longues et complexes, ou des clefs stockées dans un gestionnaire de mots de passe.
- Conservez une copie de l’en-tête LUKS sur un support hors ligne.
- Évitez de monter automatiquement les disques chiffrés sur des machines partagées.
- Limitez les droits sudo aux comptes administrateurs nécessaires.
- Surveillez les journaux système pour détecter des tentatives d’accès anormales.
Alternatives au chiffrement LUKS
- VeraCrypt / TrueCrypt : fournit des fonctionnalités de conteneur chiffrés, notamment une certaine mise en œuvre de déni plausible. VeraCrypt est un fork maintenu de TrueCrypt. Considérez toutefois la compatibilité et les exigences légales.
- eCryptfs : chiffrement de fichiers au lieu du bloc, utile pour home directories.
- LVM + chiffrement sur volumes logiques : pour flexibilité de redimensionnement.
Choisissez la solution en fonction du cas d’utilisation : conteneurs, volumes ou chiffrement fichier-par-fichier.
Quand cette méthode échoue ou est inadaptée
- Si vous perdez toutes les passphrases et les clefs supplémentaires, les données sont irrécupérables.
- Si l’adversaire obtient l’accès administrateur à une machine qui a le conteneur ouvert, il peut accéder aux données en clair.
- Si la menace est d’ordre légal (exigence de fournir des données), le chiffrement peut ne pas suffire selon la juridiction.
Récupération et scénario d’incident simple
Scénario : le disque ne s’ouvre plus après mise à jour du système.
- Vérifiez les connexions matérielles et le périphérique avec lsblk.
- Confirmez que le header LUKS n’est pas corrompu : cryptsetup luksDump /dev/HARDDISK
- Si l’en-tête est corrompu et que vous avez une sauvegarde, restaurez-la.
- Si la passphrase ne fonctionne pas, essayez les slots de clef et les autres clefs ajoutées.
- Consultez /var/log/syslog pour messages liés à cryptsetup.
Checklist par rôle
Administrateur système
- Vérifier les sauvegardes de l’en-tête LUKS.
- S’assurer que les modules du noyau nécessaires se chargent au démarrage.
- Configurer /etc/crypttab et /etc/fstab si montage automatique requis.
- Restreindre l’accès sudo.
Utilisateur avancé
- Conserver la passphrase dans un gestionnaire sécurisé.
- Tester les procédures de fermeture et d’ouverture.
- Préparer un script de démonter et de fermer.
Responsable conformité
- Examiner les implications légales locales et la politique interne sur la gestion des clefs.
- Documenter les procédures d’administration et de récupération.
Glossaire rapide
- passphrase : mot de passe long utilisé pour dériver la clef de chiffrement.
- header LUKS : métadonnées stockant les informations de chiffrement et les slots de clef.
Notes sur la vie privée et conformité
Le chiffrement protège vos données mais n’exempte pas des obligations légales. Protégez les clés et les sauvegardes. Documentez qui peut demander l’accès et comment répondre à des demandes officielles.
Conclusion
Vous disposez maintenant d’une procédure complète pour chiffrer, utiliser et maintenir une partition ou un disque chiffré avec dm-crypt et LUKS sur (X)Ubuntu Feisty. Sauvegardez l’en-tête LUKS, gérez soigneusement les passphrases, et testez les opérations de récupération avant de confier des données critiques au dispositif chiffré.
Résumé des étapes clés : initialiser LUKS, ouvrir le conteneur, formater, monter, sauvegarder l’en-tête et automatiser si nécessaire.
Résumé rapide
- Chiffrer efface les données existantes. Vérifiez le périphérique.
- Sauvegardez l’en-tête LUKS et gardez des clefs de secours.
- Testez la fermeture et la réouverture régulièrement.
Remerciements et sources : synthèse basée sur documentation publique et retours d’expérience communautaires.
Matériaux similaires

Espace disque insuffisant pour Windows Update — solutions

Steam ne s'ouvre pas — 10 solutions pratiques

Taille et emplacement du fichier d’échange Windows

Récupérer e-mails supprimés sur Mac — 7 méthodes

Chiffrer un disque avec dm-crypt et LUKS
