• Le HowTo du Mercredi : Container chiffré avec cryptsetup

    Comment créer un fichier chiffré auquel on peut accéder comme à une partition, en toute transparence, sans avoir besoin de beaucoup de choses

    CadenasC'est cadeau, c'est bonus, voilà comment se créer une partition virtuelle chiffrée à base de loopback, de dm et de cryptsetup.

    On crée un fichier, on le définit comme un périphérique loopback, on le chiffre, et on met un système de fichiers dessus.

    On a besoin des modules suivants : dm-mod, dm-crypt, aes-i586 (on les modprobe, et on les ajoute à /etc/modules pour les prochaines fois)
    On a besoin du programme cryptsetup

    On crée un fichier  de la taille qu'on veut (ici, 200 Mio) en mettant dessus des données pseudo-aléatoires :
    $ dd if=/dev/urandom of=fichier_container bs=1M count=200

    On crée un périphérique loopback associé à ce fichier :
    # losetup /dev/loop0 fichier_container

    On met en place le système de chiffrement (c'est à ce moment là que vous choisissez le mot de passe)
    # cryptsetup -c aes -y create nom_disque /dev/loop0

    Non seulement le chiffrement est actif, mais en plus le périphérique virtuel est activé, et se trouve dans /dev/mapper/nom_disque

    On crée un système de fichiers sur ce périphérique (ici c'est du ext3, mais c'est pas obligatoire)
    #mke2fs -j /dev/mapper/nom_disque

    On ajoute la ligne qui va bien dans /etc/fstab :
    #vim /etc/fstab (ou pour les manchots #gedit /etc/fstab ou #kate /etc/fstab)
    /dev/mapper/nom_disque   /point/de/montage   ext3   noauto,noatime,user,rw   0   0

    Le dossier du point de montage doit vous appartenir (pas à root)

    On monte le disque
    $mount /dev/mapper/nom_disque

    Bingo !

    Une fois qu'on s'est amusé :
    On démonte
    $umount /dev/mapper/nom_disque

    On ferme l'accès
    #cryptsetup remove nom_disque

    On enlève l'interface loopback
    #losetup -d /dev/loop0

    Pour remonter le disque :
    #losetup /dev/loop0 fichier_container
    #cryptsetup create nom_disque /dev/loop0
    $mount /dev/mapper/nom_disque

    C'est facilement scriptable, et c'est léger.

    « Ubuntu8.04 sur EEE[Chaîne] Mes habitudes de programmation »

    Tags Tags : , ,
  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires de cet article


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :