[losetup ]Chiffrage d'un dossier sous linux
Je ne sais pas si le titre est très approprié, il pourra être modifié par la suite.
J'étais à la recherche d'un moyen efficace pour proteger mes données (je ne peux pas dire sensibles, car je n'ai pas de données sensibles), et je suis tombé sur un petit utilitaire nommé "losetup" présent la plupart (toutes ?) les distributions GNU/Linux.
Nous utiliserons le cryptage AES, qui, selon moi est le plus sûr à l'heure à laquelle j'écris ce article (ou tutoriel, donnez lui le nom que vous souhaitez).
Avant de procéder à la création de se stockage sûr, il foudra suivre quelque étapes, notamment pour le cryptage aes, qui nécéssite un paquet souvent absent.
Pour cela, je vous propose un petit
ou encore
Maintenant (en console), nous allons lancer deux petit modprobe:
Maintenant il nous fait créer un espace de stockage, pour cela, rien de plus simple
remplacez of= par le nom de stockage que vous souhaitez créer, bs= par le nombre de Mo que vous voulez réserver pour le stockage (laissez count=1000 et seek=4001, ça me semble être une valeur correcte).
A l'origine, cette protection me sert à crypter ma VM (.vdi), ainsi, pour j'alloue une place d'environ 20go de stockage, pour des valeurs supérieurs à 10go, la création prend un peu de temps, mais une fois celà terminé, nous allons procéder à l'encryption de ce disque de stockage.
Pour cela, un petit:
Un mot de passe d'une longueur supérieur à 20 caractères vous sera alors demandé (ne l'oubliez pas...)
Remplacez bien sûr vms par le nom de votre disque crée à l'étape précédente.
Nous allons maintenant formater ce système de façon correcte, pour çela,
Pour finir, nous allons monter le volume crée pour pouvoir y placer les fichiers/dossiers à protéger.
Placez maintenant les fichiers à crypter dans ce dossier.
Voyons maintenant comment re-encrypté l'espace de stockage, pour celà, il faut déjà démonter le volume:
Puis losetup sur le tout :
Et voilà, vous vous retrouvez avec des données protégées par un chiffrement AES relativement simplement.
Quelques erreurs rencontrées :
LOOP_SET_FD: Device or resource busy :
il faut effectuer un losetup préalablement:
sudo losetup -d /dev/loop0
Je dois avouer que je ne fais que vous relater le fruit de mes recherches, sans chercher à comprendre exactement le fonctionnement de losetup (par manque de temps).
Ci-dessous est présent un script pour automatiser l'allumage d'une VM cryptée, il vous faudra bien sûr l'adapter en fonction de vos besoins.
Bon ok, je fais ça à grand coup de system(), c'est pas très beau et pas très fiable, mais ça fonctionne très bien.
Necromoine
J'étais à la recherche d'un moyen efficace pour proteger mes données (je ne peux pas dire sensibles, car je n'ai pas de données sensibles), et je suis tombé sur un petit utilitaire nommé "losetup" présent la plupart (toutes ?) les distributions GNU/Linux.
Nous utiliserons le cryptage AES, qui, selon moi est le plus sûr à l'heure à laquelle j'écris ce article (ou tutoriel, donnez lui le nom que vous souhaitez).
Avant de procéder à la création de se stockage sûr, il foudra suivre quelque étapes, notamment pour le cryptage aes, qui nécéssite un paquet souvent absent.
Pour cela, je vous propose un petit
Code :
apt-get install loop-aes-utils
Code :
yum install aespipe
Code :
modprobe aes (pas obligatoire, ne fonctionne pas sur Fedora)
modprobe cryptoloop
Maintenant il nous fait créer un espace de stockage, pour cela, rien de plus simple
Code :
dd if=/dev/zero of=vms bs=4k count=1000 seek=4001
A l'origine, cette protection me sert à crypter ma VM (.vdi), ainsi, pour j'alloue une place d'environ 20go de stockage, pour des valeurs supérieurs à 10go, la création prend un peu de temps, mais une fois celà terminé, nous allons procéder à l'encryption de ce disque de stockage.
Pour cela, un petit:
Code :
losetup -e aes /dev/loop0 vms
Remplacez bien sûr vms par le nom de votre disque crée à l'étape précédente.
Nous allons maintenant formater ce système de façon correcte, pour çela,
Code :
mkfs.ext3 /dev/loop0
Code :
sudo mkdir /mnt/encrypt/
sudo mount /dev/loop0 /mnt/encrypt/
Voyons maintenant comment re-encrypté l'espace de stockage, pour celà, il faut déjà démonter le volume:
Code :
sudo umount /mnt/encrypt
Code :
sudo losetup -d /dev/loop0
Quelques erreurs rencontrées :
LOOP_SET_FD: Device or resource busy :
il faut effectuer un losetup préalablement:
sudo losetup -d /dev/loop0
Je dois avouer que je ne fais que vous relater le fruit de mes recherches, sans chercher à comprendre exactement le fonctionnement de losetup (par manque de temps).
Ci-dessous est présent un script pour automatiser l'allumage d'une VM cryptée, il vous faudra bien sûr l'adapter en fonction de vos besoins.
Code CPP :
#include <iostream>
#include <string>
#include <stdlib.h>
int main(int argc, char* argv[]){
int reponse;
std:tring execute;
if(argc == 2){
execute = argv[1];
if(execute == "mount"){
reponse = system("sudo losetup -e aes /dev/loop0 vms");
if(reponse){
std::cout << "Wrong Password" << std::endl;
return 1;
}else{
reponse = system("sudo mount /dev/loop0 /mnt/encrypted/");
if(reponse){
system("sudo losetup -d /dev/loop0");
std::cout << "Erreur lors du montage du répertoire" << std::endl;
return 1;
}else{
system("sudo VBoxManage createvm --name Encrypt -register -basefolder /mnt/encrypted/");
system("sudo VBoxManage modifyvm Encrypt --hda /mnt/encrypted/VM.vdi");
//Parti à décommenter si vous avez un problème avec les IDE
system("sudo VBoxManage storagectl Encrypt --name \"IDE Controller\" --add ide");
system("sudo VBoxManage storageattach Encrypt --storagectl \"IDE Controller\" --port 0 --device 0 --type hdd --medium /mnt/encrypted/Debian\\ Web.vdi");
system("sudo VBoxManage startvm Encrypt");
}
}
}else if(execute == "umount"){
system("sudo VBoxManage controlvm Encrypt savestate");
reponse = system("sudo umount /mnt/encrypted");
if(reponse){
std::cout << "Erreur lors du démontage (umount /mnt/encrypted)" << std::endl;
return 1;
}else{
reponse = system("sudo losetup -d /dev/loop0");
if(reponse){
std::cout << "Error lors du démontage (losetup -d /dev/loop0)" << std::endl;
return 1;
}
}
}else{
std::cout << "Usage : ./lauchvm mount to lauch the VM " << std::endl << "./lauchvm unmount to stop the VM" << std::endl;
return 1;
}
}else{
std::cout << "Usage : ./lauchvm mount to lauch the VM " << std::endl << "./lauchvm unmount to stop the VM" << std::endl;
return 1;
}
return 0;
}
Bon ok, je fais ça à grand coup de system(), c'est pas très beau et pas très fiable, mais ça fonctionne très bien.
Necromoine
spartal1n
Newbie Messages : 8 Sujets : 3 Points: 0 Inscription : Aug 2011 |
RE: [losetup ]Chiffrage d'un dossier sous linux
Sa à l'air pas mal moi j'utilise TrueCrypt, je le trouve pas mal et la sécurité est très respectable.
|
Dobry
Tueur de lamouz Messages : 206 Sujets : 25 Points: 73 Inscription : Aug 2011 |
RE: [losetup ]Chiffrage d'un dossier sous linux
Exact, je ne sais même pas pourquoi je n'utilise pas TrueCrypt qui est pourtant très bien....
Edit : à si voilà, à la base je cherchais un moyen de crypter l'intégralité du "/" et trueCrypt ne permet pas ça, mais j'ai du me perdre dans mes recherches et j'ai fini par atterir sur Losetup.
Aestuārium Erudītiōnis
There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors.
|
Di0Sasm
Chimiste Messages : 924 Sujets : 56 Points: 91 Inscription : Aug 2011 |
RE: [losetup ]Chiffrage d'un dossier sous linux
Moi aussi j'utilise TrueCrypt pour mes données du taff et je protège des dossiers complet avec. Donc je vois pas pourquoi tu n'as pas réussi ?
Cordialement Di0Sasm |
Dobry
Tueur de lamouz Messages : 206 Sujets : 25 Points: 73 Inscription : Aug 2011 |
RE: [losetup ]Chiffrage d'un dossier sous linux
Ce n'est pas que je n'ai pas réussi, c'est juste que je me suis détourné de mon but principal lors de ma recherche.
Et puis, il est interessant de connaitre des alternatives (tente de se rattraper)
Aestuārium Erudītiōnis
There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors.
|
Di0Sasm
Chimiste Messages : 924 Sujets : 56 Points: 91 Inscription : Aug 2011 |
RE: [losetup ]Chiffrage d'un dossier sous linux
Je suis toute a fait d'accord avec toi, apparemment l'alternative à l'air de fonctionner correctement.
|