require "../menu.php"; ?>
Vous trouverez dans ce petit tutorial, la marche à suivre pour créer des containers chiffrés sous Linux. Les utilisations sont nombreuses: création d'un cdrom chiffré, protection d'une partie du disque dur, ... N'hésiter pas à me contacter si certaines choses ne vous paraissent pas claires, ou si vous êtes bloqués. (Rq: J'ai fait la manipulation avec un noyau 2.4.20 sous Debian Woody)
Avant de pouvoir recompiler le noyau avec les bonnes options, il faut appliquer le patch lui permettant d'utiliser de la cryptographie, en effet pour des pour des raisons d'exportation, ces composants ne sont pas dans le noyau "standard", ainsi qu'un patch modifiant le périphérique de loopback. Vous pouvez les télécharger sur un miroir de kernel.org dans l'arborescence /pub/linux/kernel/crypto/va.b/patch-int-a.b.c.d.gz, /pub/linux/kernel/crypto/va.b/testing/loop-jari-a.b.c.d.patch où a.b.c. est la version du noyau et d la version du patch. (NB: Pour les dernieres versions du noyau le patch peut se trouver dans un sous repertoire: testing).
root# cd /usr/src/linux root# cp .config .. # Ce petit truc permet root# make mrproper # d'eviter la supression du root# mv ../.config . # fichier .config par mrproper root# zcat patch-int-a.b.c.d.gz | patch -p1 root# cat loop-jari-a.b.c.d.patch | patch -p1
Ensuite vient la configuration du noyau*, en plus de votre configuration habituelle, il faut sélectionner les options suivantes.
* A l'aide des commandes classiques : make config (configuration en mode texte seulement), make menuconfig (configuration avec une interface ncurses), make xconfig (configuration avec une interface graphique).
root# make-kpkg --bzimage --revision 1 binary-arch root# make-kpkg --revision 1 modules_images
user$ dd if=/dev/urandom of=~/.crypto bs=1024k count=10 user$ mkdir ~/container user$ su root# losetup /dev/loop0 -e aes /home/user/.crypto root# mkfs.ext2 /dev/loop0 root# losetup -d /dev/loop0 root# chmod 4755 /sbin/losetup root# echo "/dev/loop0 /home/user/container ext2 user,umask=000,noauto 0 0" >> /etc/fstab
Rq: Il est possible d'utiliser /dev/zero pour remplir le fichier, c'est plus rapide sur des machines pas très puissantes, mais cela introduit des failles dans le systeme l'attaquant peut connaître des informations.
Mise en place du container Supression du container http://encryptionhowto.sourceforge.net/previous/Encryption-HOWTO-0.2.1-4.html
Le "Encryption How-to" (en anglais)
https://www.bouissou.net/wws/d_read/open-crypto/linux-crypto/mkcryptfs Un petit script permettant de configurer facilement les containers.
Utilisation
user$ losetup /dev/loop0 -e aes /home/user/.crypto
user$ mount /dev/loop0 /home/user/container
user$ umount /home/user/container
user$ losetup -d /dev/loop0
Liens