Crypter un système de fichier sous linux
Il est parfois utile de crypter certaines informations sensibles
(fichiers de mots de passes, comptes, etc.). Cette page explique
seulement comment créer et utiliser une partition ou un fichier
crypté pour un simple utilisateur. Pour une sécurité optimale, il faut
crypter toutes les partitions, le swap, etc.
Configuration requise
Il convient d'utiliser un noyau récent (ici: 2.6.15.1).
Avant toute chose, il faut charger les modules de cryptographie :
modprobe cryptoloop
modprobe twofish
Si les modules ne sont pas trouvés, c'est peut-être que ces options
sont directement intégrées au noyau, essayez de passer à la suite. Si
une erreur survient lors des paragraphes suivants, c'est qu'il vous
faudra probablement recompiler le noyau avec les bonnes options (voir
les liens en fin de cette page).
Nous prenons ici l'exemple d'un fichier crypto.img . Le
fonctionnement est le même pour une partition (remplacer
crypto.img par /dev/hd ...).
De même, nous cryptons ici avec twofish mais de nombreux
autres algorithmes sont disponibles (voir le man de
losetup ).
Création du système de fichier
Commençons par créer un fichier de 10 Mo dans le répertoire courant (ce
sera la taille du système de fichier) :
dd if=/dev/urandom of=crypto.img bs=1M count=10
On peut maintenant créer le système de fichier (il se peut que les
utilisateurs n'aient pas les droits sur /dev/loop, vous devrez
peut-être faire cette manipulation en root ou changer ces droits) :
losetup -e twofish /dev/loop0 crypto.img
/sbin/mkfs.ext2 -j -m 0 /dev/loop0
losetup -d /dev/loop0
NB : Le mot de passe (minimum 20 caractères) demandé par
losetup sera celui utilisé pour monter le système de
fichier.
Montage du système de fichier
On monte ici sur le répertoire /secure (le mot de passe
est demandé) :
mount -t ext2 -o defaults,user,exec,loop,encryption=twofish crypto.img /secure
On peut maintenant mettre des fichiers dans /secure, ceux-ci seront
automatiquement cryptés.
Pour éviter de retaper cela à chaque fois, rajouter une ligne au fichier
/etc/fstab :
/home/toto/crypto.img /secure ext2 noauto,defaults,user,exec,loop,encryption=twofish 1 2
N'importe quel utilisateur ayant accès au fichier
/home/toto/crypto.img et au répertoire /secure (et
connaissant le mot de passe) pourra monter le système de fichier :
mount /secure
Dans tous les cas, le démontage se fait de façon standard avec
umount :
umount /secure
Pensez à faire des sauvegardes (cryptées) de vos fichiers cryptées. En
cas de plantage inopiné de la machine pendant l'utilisation du système
de fichier crypté, vous pourriez perdre des données...
Signalons aussi l'utilitaire wipe qui permet d'effacer un
fichier de façon sécurisé.
Pour aller plus loin
- Crypter un système de fichiers
- Camoufler
un système UNIX
- Mise en place
d'un répertoire utilisateur chiffré
|