Skip to content
GitHub

Créer un conteneur chiffré

L’idée ici est de créer un fichier n’importe où sur le disque. Se fichier pourra être monté comme une partition et contiendra des données chiffrées.

Attention, c’est ici que l’on détermine la taille du fichier et c’est pas facile à changer par la suite

dd if=/dev/urandom of=testfile bs=1M count=5000

Ici on a un fichier de 5 Go.

On va ensuite monter ce ficheir comme une partition grâce à losetup

# losetup -f
/dev/loop0

# losetup /dev/loop0 testfile

Attention, la commande suivante efface tout ce qui se trouve dans le fichier :

# cryptsetup luksFormat /dev/loop0

Répondre YES puis saisir le mot de passe du volume.

# cryptsetup luksOpen /dev/loop0 testfs
# mkfs.ext4 /dev/mapper/testfs

A ce stade, la partition est créée. Il ne reste plus qu’à la monter avec :

# mount -o rw /dev/mapper/testfs /media/testfs

Le conteneur ne reste monté que le temps d’un démarrage si vous ne le démontez pas entre temps. Après un redémarrage, pour monté/démonter un conteneur voici un script qui permet de le faire en automatique :

#!/usr/bin/env bash
###################################
# Montage de containeur chiffré
#
#	$1 = fichier containeur à monter
#

if [[ $(/usr/bin/id -u) -ne 0 ]]; then
    echo "Doit être lancé en tant que ROOT"
    exit
fi

mntrep=$1
mntfile=${mntrep##*/}
mntrep="/media/$mntfile"

mount|grep -q $mntfile

if [ $? == 1 ]
then 
	loopdev=$(losetup -f)
	losetup $loopdev $1
	cryptsetup luksOpen $loopdev $mntfile
	mkdir $mntrep
	mount -o rw /dev/mapper/$mntfile $mntrep
	chmod 777 $mntrep
	echo "Partition cryptfs monté !"
else 
	umount $mntrep
	rm -Rf $mntrep
	cryptsetup luksClose /dev/mapper/$mntfile
	output=$(losetup -a | grep $mntfile)
	for LINE in ${output} ; do
		echo ${LINE}
		losetupres=${LINE}
		loopdev=${losetupres%%:*}
		losetup -d $loopdev
	done 

	echo "Partition cryptfs démonté !"
fi
  • Une bonne idée est ensuite de cacher le fichier dans un répertoire … caché, exemple “.trucmachinquiarienavoir”
  • Le fichier peut être renommé autant de fois que nécessaire