Voil� quelques notes prises lors de la cr�ation d'une partition crypt�e
avec le nouveau dispositif dm-crypt. En esp�rant que cela servira �
d'autres (une version HTML se trouve sur
http://arbornet.org/~fluor/misc/fluor-dmcrypt_micro_howto.html - ainsi
que d'�ventuelles mises � jour).
Si r�actions, merci de me Cc:, car je ne suis pas (plus) abonn� �
debian-user-french.
MICRO-HOWTO: CRYPTER UN SYST�ME DE FICHIERS AVEC DM-CRYPT
AUTEUR
mike dentifrice
[EMAIL PROTECTED]
http://arbornet.org/~fluor/
DOCUMENT
Version: 0.1
Date: 2004-03-28
Licence: Creative Commons NonCommercial-ShareAlike 1.0
http://creativecommons.org/licenses/nc-sa/1.0/
BLAH
A partir du noyau 2.6.4 appara�t dm-crypt, qui sonne le glas de
cryptoloop. Pour celleux qui veulent se mettre � la page (et en auront
�t� pr�alablement convaincu-e-s par la lecture assidue des divers
documents th�oriques et techniques dispos sur le sujet, que je ne vais
pas paraphraser ici), voici comment proc�der, en trois coups de cuiller
� pot.
Il s'agit ici de crypter une partition /home chiffr�e avec l'algorithme
AES, sous Debian GNU/Linux en version testing (sarge). Test� sur powerpc
(idem pour i386). C'est facile, et �a marche parfaitement.
HOWTO
- r�server une partition pour /home lors du partitionnement du disque
dur. Par la suite, il est plus simple de ne pas la monter avant
d'avoir mis en place le m�canisme de crypto, et d'utiliser un /home
temporaire situ� sur la partition racine.
- t�l�charger les sources du noyau Linux 2.6.4 sur kernel.org (`wget
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.4.tar.bz2`).
- configurer le noyau (`make menuconfig`), en prenant soin d'int�grer le
support de device-mapper et dm-crypt, ainsi que l'algorithme de
chiffrement AES, en dur (pas en modules): dans
"Device Drivers" -> "Multi-device support (RAID and LVM)",
s�lectionner "Device mapper support" puis "Crypt target support"; dans
"Cryptographic Options", s�lectionner "AES cipher algorithms".
- compiler le noyau (`make-kpkg kernel_image`) et l'installer (`dpkg -i
../kernel-image-2.6.4_10.00.Custom_powerpc.deb` dans mon cas).
- installer l'outil de pilotage du device-mapper en userspace (`apt-get
install dmsetup`). Si le syst�me n'utilise ni devfs ni udev, en
t�l�charger aussi les sources sur ftp://sources.redhat.com/pub/dm/,
les d�sarchiver (`tar xvvfj device-mapper.1.00.08.tgz`), et ex�cuter
le script "device-mapper.1.00.08/scripts/devmap_mknod.sh" (pour cr�er
le p�riph�rique /dev/mapper/control).
- t�l�charger les sources de cryptsetup (`wget
http://www.saout.de/misc/dm-crypt/cryptsetup-0.1.tar.bz2`), le
compiler et l'installer (`./configure ; make ; sudo make install`). Le
script 'configure' indiquera probablement des librairies manquantes.
Dans ce cas, installer les paquetages correspondants (libgcrypt7-dev,
libcppopt-dev, notamment).
- t�l�charger les sources de hashalot (sur
http://www.paranoiacs.org/~sluskyb/hacks/hashalot/), le compiler et
l'installer (l� encore, avec le trio classique `./configure ; make ;
sudo make install`).
- adapter lilo ou grub, et rebooter sur le noyau 2.6.4.
- v�rifier que le p�riph�rique de contr�le de device-mapper existe (`ls
-l /dev/mapper/control`), et que l'algo de chiffrement AES est
support� (`cat /proc/crypto`).
- cr�er un volume 'home' associ� � la partition � crypter (dans mon cas,
'/dev/hda4'): `sudo cryptsetup -y create home /dev/hda4`. Entrer une
phrase de passe, et la confirmer (confirmation demand�e par le
param�tre -y). Si tout se passe bien, '/dev/mapper/home' permet
d�sormais d'�crire/crypter et lire/d�crypter sur '/dev/hda4', avec
l'algorithme AES (s�lectionn� par d�faut, -c pour changer), une clef
de 256 bit (taille par d�faut, -s pour changer) hash�e avec ripemd160
(par d�faut si hashalot est install�, -h pour changer).
- cr�er un syst�me de fichiers sur '/dev/mapper/home' (`sudo mkfs.ext3
/dev/mapper/home`), puis le monter (`sudo mount /dev/mapper/home
/mnt`). Un r�pertoire 'lost&found' devrait appara�tre dans '/mnt'.
- copier le contenu �ventuel de '/home' sur la partition crypt�e (`cp
-ax /home/* /mnt/`), puis la d�monter (`sudo umount /mnt`), pour la
remonter � son emplacement final (`sudo mount /dev/mapper/home
/home`).
- �diter '/etc/fstab' pour que cette partition soit automatiquement
mont�e sur '/home' au prochain d�marrage, en ajoutant la ligne
'/dev/mapper/home /home ext3 defaults,user,exec,suid 0 1'.
- pour que son contenu soit accessible, il faut au pr�alable, � chaque
d�marrage, recr�er le mapping avec cryptsetup. Pour ce faire, cr�er un
petit script 'cryptinit' dans '/etc/init.d', contenant ces lignes (en
changeant le chemin vers l'ex�cutable 'cryptsetup', si diff�rent):
#!/bin/bash
if [ -b /dev/mapper/home ] ; then
/usr/bin/cryptsetup remove home
fi
/usr/bin/cryptsetup -h ripemd160 create home /dev/hda4
- rendre le script ex�cutable (`chmod +x /etc/init.d/cryptinit`) et
s'assurer que celui-ci sera lanc� suffisamment t�t dans la proc�dure
d'initialisation (avant que les partitions list�es dans '/etc/fstab'
ne soient mont�es), mais apr�s la configuration du clavier (� moins de
vouloir taper sa phrase de passe en qwerty :P). Pour ce faire, �tablir
un lien symbolique de '/etc/rcS.d/S08cryptinit' vers
'/etc/init.d/cryptinit' (`cd /etc/rcS.d ; ln -s ../init.d/cryptinit
S08cryptinit`).
- red�marrer, taper sa phrase de passe, et voil�, c'est la joie!
VRAC
- bien entendu, si vous n'utilisez pas 'sudo' (mais franchement, vous
devriez :P), ex�cutez les lignes de commandes pr�c�d�es par `sudo` en
tant que root.
- si vous entrez une mauvaise phrase de passe, cryptsetup ne bronchera
pas et affichera "/dev/mapper/home is active" si vous l'interrogez
avec `sudo cryptsetup status home`, mais vous ne pourrez pas monter la
partition et acc�der � vos donn�es. Dans ce cas, il faut supprimer le
mapping erronn�, et recommencer (`sudo cryptsetup remove home`, puis
`sudo cryptsetup create home /dev/hda4`). Pas de panique, donc, seul
le mapping change, ce qui ne suppose aucune perte de donn�es.
LIENS
http://www.saout.de/misc/dm-crypt/
http://www.saout.de/tikiwiki/
http://kerneltrap.org/node/view/2433
--
mike dentifrice <[EMAIL PROTECTED]>