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]>

Répondre à