Votre disque dur (hda) devrait contenir au moins trois partitions :
cette petite partition (~ 4 Mo) non-chiffrée demandera un mot de passe afin de monter le système de fichiers racine chiffré.
cette partition chiffrée contiendra votre système de fichiers racine ; assurez-vous qu'elle soit suffisamment grande.
cette partition contient le vrai système GNU/Linux.
Lorsque vous en serez arrivé là, ni hda1 ni hda2 ne seront plus utilisés. hda3 est l'endroit où votre distribution Linux sera réellement installée ; /usr et /boot doivent tous les deux se trouver sur cette partition.
Deux projets principaux travaillent sur l'ajout de capacités de chiffrement fort au noyau : CryptoAPI et loop-AES. Ce guide pratique se base sur loop-AES, car il offre une mise en œuvre de Rijndael en langage assembleur, rapide et très optimisée, et donc des performances maximales aux possesseurs de processeurs IA-32 (x86).
Tout d'abord, téléchargez et décompressez le paquet loop-AES :
wget http://loop-aes.sourceforge.net/loop-AES/loop-AES-v2.0d.tar.bz2 tar -xvjf loop-AES-v2.0d.tar.bz2 |
Vous devez aussi télécharger et appliquer un correctif aux sources du noyau :
wget http://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.23.tar.bz2 tar -xvjf linux-2.4.23.tar.bz2 cd linux-2.4.23 patch -Np1 -i ../loop-AES-v2.0d/kernel-2.4.23.diff |
Configurez la carte du clavier :
dumpkeys | loadkeys -m - > drivers/char/defkeymap.c |
Ensuite, configurez votre noyau ; assurez-vous que les options suivantes sont activées :
make menuconfig Block devices ---> <*> Loopback device support [*] AES encrypted loop device support (NEW) <*> RAM disk support (4096) Default RAM disk size (NEW) [*] Initial RAM disk (initrd) support File systems ---> <*> Ext3 journalling file system support <*> Second extended fs support (note importante : n'activez pas le support du système de fichiers /dev) |
Compilez le noyau et installez-le :
make dep bzImage make modules modules_install cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.23 |
Si vous utilisez grub comme chargeur de démarrage, mettez à jour le fichier /boot/grub/menu.lst ou /boot/grub/grub.conf :
cat > /boot/grub/menu.lst << EOF default 0 timeout 10 color green/black light-green/black title Linux root (hd0,2) kernel /boot/vmlinuz-2.4.23 ro root=/dev/hda3 vga=4 EOF |
Sinon, mettez à jour /etc/lilo.conf et exécutez la commande lilo :
cat > /etc/lilo.conf << EOF lba32 boot=/dev/hda prompt timeout=100 image=/boot/vmlinuz-2.4.23 label=Linux read-only root=/dev/hda3 vga=4 EOF lilo |
Vous devez maintenant redémarrer votre système.
Il faut maintenant appliquer un correctif et recompiler le programme losetup afin de lui donner la capacité d'utiliser un chiffrement fort. Ce programme est une composante du paquet util-linux. Téléchargez, décompressez util-linux, puis appliquez-lui le correctif :
wget http://ftp.cwi.nl/aeb/util-linux/util-linux-2.12.tar.gz tar -xvzf util-linux-2.12.tar.gz cd util-linux-2.12 patch -Np1 -i ../loop-AES-v2.0d/util-linux-2.12.diff |
Afin de pouvoir utiliser des mots de passes de moins de 20 caractères, entrez :
CFLAGS="-O2 -DLOOP_PASSWORD_MIN_LENGTH=8"; export CFLAGS |
Si la sécurité est importante pour vous, je vous en prie, n'autorisez pas les mots de passes de moins de 20 caractères. La sécurité a un prix, et l'une des contraintes d'une bonne sécurité est la nécessité d'utiliser des mots de passes longs.
Compilez losetup et installez-le en tant que super-utilisateur (compte root) :
./configure && make lib mount cp -f mount/losetup /sbin rm -f /usr/share/man/man8/losetup.8.gz cp -f mount/losetup.8 /usr/share/man/man8 |