Chrooter apache
Matériel
Ajout disque dur
Ajout carte
Audit des disques durs
Gestion des peripheriques
Disquette d'installation
Ajout d'un scanner
Astuces
Ajout d'une imprimante
Réseau
Configuration reseau
Dns
Serveur cvs
Proxy squid 
Installation serveur ftp
Installation qmail 
Installation serveur courrier sous debian
Outil TCP/IP 
Le serveur samba
Connexion a distance securisee
Client/serveur vnc
Configurer apache
Dyndns
Installer un LAMP sous mandriva
Sécurité
Chiffrer un fichier/dossier
Securiser son poste
Mur pare feu pas a pas
Authentification ht-access
Surveillance de serveur CACTI
Snort
Snort-inline
Securiser Apache avec mod_security
Filtrage squid/squidguard/dansguardian
Auditer son site web
Sécuriser son linux
Installer un Lamp avec ssl
Contrer les scans de ports
Traitement anti-spam
Installer/Utiliser tripwire
Faire des sauvegardes incrémentales
Rsync
Nessus
Divers
Elisa, le multimédia facile
Utilisation de lilo
Les commandes Linux
Le multi-tache
Le crontab
Exploration de la configuration
Quotas
Messagerie
Installer une application
Debugger ses applications
Le format RPM
Mise a jour du noyau
Qemu
Tour d'horizon des principaux p2p
Récupération du système
Bips d'un pc
Astuces windows
Table Ascii
Lamerland
Conversion de fichiers musicaux
Compiler ses rpms
Graver en ligne de commande
Graver un fichier avi pour un dvd de salon
Récupérer des fichiers effacés
Liens
hakin9
Secureroot.com
Hackerthreads.org
Defcon
Hackerlounge
Les derniers exploits
Tous les codes sources
Securite sous Linux
Les logiciels libres quotidiens
Ezine divers
Madchat
Textes divers
Archives
 
Traductions LG
Toutes les traductions
Traductions Phrack
Toutes les traductions

Il y a actuellement 7 visiteurs connectés sur le site !

Google

Stockage des données confidentielles sous GNU/Linux
Stockage des données confidentielles sous GNU/Linux

 

Objectif
Cryptage d'un fichier
Cryptage d'un dossier
Cryptoloop

 

Objectif

Ce tutorial est le complément de l'article Stockage des données confidentielles sous GNU/Linux (Hakin9 01/2005). On considere que les exercices décrits ci-dessous seront effectués au moyen du CD Hakin9 Live.
Avertissement! Il n'est pas conseillé de chiffrer les vraies données disponibles dans le systeme Hakin9 Live \u2013 elles risquent d'etre perdues lors du redémarrage de l'ordinateur.
Objectif: Apres avoir fait les exercices décrits, vous saurez :

# au moyen du paquet GnuPG chiffrer les fichiers simples par clé symétrique et asymétrique,
# créer et utiliser le répertoire chiffré a l'aide de l'outil EncFS,
# créer et monter une partition chiffrée (réelle et virtuelle) a l'aide de cryptoloop.
Chiffrage symétrique des fichiers \u2013 paquet GnuPG
Dans le premier exercice, nous utiliserons le paquet GnuPG pour chiffrer un fichier simple. Dans notre cas, ce sera le fichier HK1204.pdf.

Cryptage d'un fichier

01] Dans le tutorial, nous nous servirons de l'algorithme AES (il a le meilleur rapport qualité efficacité). Nous commençons par charger le module du noyau approprié:

$ su -
# modprobe aes
# exit

[02] Nous créons le répertoire /home/haking/encrypted dans lequel nous stockerons les données chiffrées:
$ mkdir ~/encrypted
Dans ce répertoire, nous enregistrons le fichier HK1204.pdf.
[03] Maintenant, il est temps de commencer le chiffrage. Tapons la commande suivante :
$ gpg --output ~/encrypted/cyph1 --symmetric --cipher-algo AES192 ~/encrypted/HK2104.pdf

Cette commande permet de chiffrer symétriquement le fichier HK2104.pdf dans le fichier cible ~/encrypted/cyph1 au moyen de l'algorithme AES sur la clé de 192 bits.

[04]Pour chiffrer, il est nécessaire d'entrer un mot de passe. Réfléchissons bien pour inventer une phrase qui n'a pas de sens, mais qui est facile a retenir \u2013 par exemple Trois gros rats gris dans trois gros trous tres creux, 666. Ce sera notre mot de passe.

[05] Le fichier a été chiffré. Maintenant, il faut supprimer l'original:

$ shred -n 35 -z -u ~/encrypted/HK2104.pdf

[06] Pour déchiffrer le fichier et récupérer les données, nous allons taper la commande suivante:

$ gpg --output HK2104.pdf --decrypt ~/encrypted/cyph1

Cryptage d'un dossier

Répertoires chiffrés \u2013 EncFS
[07] Avant d'utiliser cette possibilité du programme EncFS, il faut créer deux répertoires. L'un (chez nous ~/.crypto) stockera nos données sous forme chiffrée (il ne sera pas utilisé de façon directe), par contre, dans le deuxième(~/secret), elles seront montées et déchiffrées à chaque demande d'accès. Le montage, bien sûr, ne sera possible qu'après la saisie du mot de passe.

$ mkdir ~/.crypto

$ mkdir ~/secret

[08] L'étape suivante consiste à activer le mécanisme EncFS:

$ su -; insmod fuse; exit

$ encfs ~/.crypto ~/secret

Après avoir appuyé sur la touche [Entrée], le programme nous demande de choisir le mode de configuration. Nous décidons d'utiliser le mode préconfiguré pour les paranoïaques.

Il est temps de déterminer le mot de passe associé à notre archive. Après la saisie du mot de passe et sa confirmation, notre système de fichiers virtuel est prêts à être utilisé.
[09] Nous y copions quelques fichiers (echo, ls, telnet):
$ cp /bin/echo /bin/ls /bin/telnet ~/secret/

Nous vérifions ce qui se trouve dans les répertoires ~/secret et ~/.crypto:

$ ls ~/secret

$ ls ~/.crypto

Comme vous le voyez, le premier contient nos fichiers, et le deuxième \u2013 leurs versions chiffrées. Maintenant, pour que personne ne puisse lire leur contenu, nous pouvons démonter le système de fichiers virtuel à l'aide de la commande:
$fusermount -u ~/crypto
Réussi! Nos données sont protégées.
[10] Maintenant, essayons de les monter encore une fois \u2013 avec un protection supplémentaire qui permet le démontage automatique après une période d'inactivité (10 minutes):
$ encfs --idle=10 ~/.crypto ~/secret
Nos fichiers sont de nouveau disponibles dans le répertoire ~/secret. Si nous attendons 10 minutes, le répertoire sera automatiquement démonté.

Cryptoloop

Système de fichiers chiffré \u2013 cryptoloop
Il reste encore un outil qui nous permettra de protéger les fichiers confidentiels. C'est cryptoloop, l'outil intégré dans le noyau de Linux.
[11] Nous admettons que nous n'avons pas de partition libre (ce qui est le cas du CD Hakin9 Live), nous nous servirons donc d'une caractéristique commode du mécanisme de retour \u2013 loopback \u2013 permettant de l'utiliser comme un système de fichier ou un fichier ordinaire. Préparons-le:

$ dd if=/dev/urandom of=~/crypto.raw bs=1k count=10000
À la suite de l'exécution de cette commande, le fichier d'une taille de 10 Mo est créé. Il contient des valeurs aléatoires (déchets).
[12] Dans l'étape suivante, il faut associer le fichier créé au dispositif loop libre et de le chiffrer par le biais de la méthode décrite:
$ su -
# modprobe cryptoloop
# losetup -e aes-192 /dev/loop1 /home/haking/crypto.raw
Le programme nous demande d'entrer le mot de passe (20 caractères au minimum).
[13] Nous avons préparé de la place. Maintenant, il faut y mettre un peu d'ordre, c'est-à-dire, créer un système de fichiers quelconque. Par exemple ext2:
# mkfs.ext2 /dev/loop1
[14]Après cela, nous pouvons libérer (option -d) le dispositif loop1:
# losetup -d /dev/loop1
# exit
[15] Notre système de fichiers chiffré est prêt et il peut être monté et utilisé de la même façon que tout autre système de fichiers. Montons-le et voyons comment il fonctionne:
$ mkdir ~/encrypted_disk
$ mount -t ext2 ~/crypto.raw ~/encrypted_disk -oencryption=aes-192
La commande mount, après la saisie du mot de passe valide, associe le fichier donné au premier dispositif loop libre.
[16] Copions maintenant nos fichiers dans un répertoire sûr:
$ cp /bin/echo /bin/ls /bin/telnet ~/encrypted_disk
Et c'est tout \u2013 notre nouveau disque chiffré peut être monté et démonté suivant les besoins. Les personnes non-autorisées qui ne connaissent pas le mot de passe ne pourront pas y accéder.


Sources de l'article


 

Blog
Le blog
La radio
La Radio
Boutique
La boutique du Geek
Php/Mysql
Formulaire en php
Administrer un serveur Mysql
Session en php
Gerer ses bases mysql
Les bases php
Securiser ses scripts PHP
Controler ses programmes avec RATS
Convertir une base sql en utf8
Astuces php
Le fichier php.ini
Programmation
Python rapide
Tutorial Python
Tutorial Perl
Tutorial Perl complet
Tutoriel ruby
Tutoriel C
Introduction à gawk
Filtres et utilitaires
Find
Programmation Shell
Ecriture de scripts bash
Expressions regulieres
Vi
Introduction a Javascript
Compiler avec gcc
Astuces en Bash
Cracking
Tutoriel Assembleur
Guide du cracking pour débutant
Assembleur
Manual Unpacking
Techniques de Protection
Différentes failles Web
Arp spoofing dans un réseau switché
Les intrusions
Les attaques externes
Defacage
Defacage complet
Buffer overflow
Netcat
Injection sql
Injection sql(suite)
John the Ripper
Spoofer un email
Utiliser google
La faille system
Usurper une identité
Le rooting
Shellcode sous Unix
La faille race condition
La faille xss
La faille xss (2)
Attaques sur un routeur
P2P
Azureus pas-a-pas
News
Lire les news de Linux-pour-lesnuls.com au format RSS
Distros
Gestion des paquets debian
101 commandes debian
Jeu
Webtarot
Graphisme
Effet neon dans GIMP
Effet vapeur dans GIMP
Cours fonctionnalités de GIMP
Redimentionner une image avec GIMP
Redimentionner une photo pour en faire un cadre avec gimp
Morphing avec gimp
Détourer avec gimp
Réduire le poids d'une image avec gimp
Caricature avec gimp
Humour
Ensemble
Divers