• STATISTIQUES
  • Il y a eu un total de 0 membres et 33359 visiteurs sur le site dans les dernières 24h pour un total de 33 359 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Dare your mind
    JavaScript: 6, Crypto: 44, Stegano: 36, Logic: 13, Special: 27, Science: 11, Realistic: 7, Programming: 10, Crack It: 6,...
    Challenges
    [EN] Hack this site
    Basic: 11, Realistic: 17, Application: 18, Programming: 12, Extbasic: 14, Javascript: 7, Stego: 17
    Challenges
    [EN] Big-Daddy
    Big-Daddy est site internet communautaire avec un effectif diversifié, y compris des artistes, des programmeur...
    Hacking
    [EN] osix
    Site de challenge qui utilise un système de level on chaque épreuve doit être réussie avant d'accéd...
    Challenges
    [FR] Root-me
    Script: 5, Système: 20, Cracking: 16, Cryptanalyse: 17, Programmation: 8, Réaliste: 11, Réseau: 10, Stéganog...
    Challenges
    [FR] InfoMirmo
    Apprentissage de l'informatique par l'intermédiaire de challenges de sécurité. Venez app...
    Hacking
    [EN] This is legal
    Basic: 10, Realistic: 5, Programming: 1, Bonus: 11, SQL: 2, Encryption: 6, Application: 4, User Contributed: 3
    Challenges

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 4 (1 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[losetup ]Chiffrage d'un dossier sous linux
15-05-2012, 14h10 (Modification du message : 07-01-2013, 17h14 par ark.)
Message : #1
Dobry Hors ligne
Tueur de lamouz
*



Messages : 206
Sujets : 25
Points: 73
Inscription : Aug 2011
[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
Code :
apt-get install loop-aes-utils
ou encore
Code :
yum install aespipe
Maintenant (en console), nous allons lancer deux petit modprobe:
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
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:
Code :
losetup -e aes /dev/loop0 vms
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,
Code :
mkfs.ext3 /dev/loop0
Pour finir, nous allons monter le volume crée pour pouvoir y placer les fichiers/dossiers à protéger.
Code :
sudo mkdir /mnt/encrypt/
sudo mount /dev/loop0 /mnt/encrypt/
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:
Code :
sudo umount /mnt/encrypt
Puis losetup sur le tout :
Code :
sudo losetup -d /dev/loop0
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.
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
Aestuārium Erudītiōnis

There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors.
+1 (0) -1 (0) Répondre


Messages dans ce sujet
[losetup ]Chiffrage d'un dossier sous linux - par Dobry - 15-05-2012, 14h10

Atteindre :


Utilisateur(s) parcourant ce sujet : 4 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut