Ceci est une ancienne révision du document !


Créer une partition chiffrée

Cette page présente comment créer et utiliser une partition chiffrée destinée à héberger du contenu confidentiel. Cette partition n'est qu'une partition de donnée (autrement dit elle ne contient pas de fichiers nécessaire au systeme) et n'a pas pour but d'être montée automatiquement au démarrage. Ce volume chiffré ne sera donc utilisable qu'une fois certains opérations réalisées manuellement, voir suite.

Cette installation sera comme d'habitude réalisée sur debian stable (squeeze a l'heure ou j'écris ces lignes) mais devrait être adaptable facilement a d'autres distributions.

Prérequis

  • Installation de crypsetup :
    apt-get install cryptsetup
  • Création initiale de la partition : je vais utiliser un logical volume LVM, voir cet article mais cela fonctionne également avec une partition physique.
    Pour créer un volume de 150 Go sur le volumeGoup vg0 on peut par exemple utiliser la commande suivante :
    lvcreate -n dataz -L 150G vg0

Initialisation de la partition

Pour accroître la sécurité de cette partition chiffrée il est recommandé de pré-remplir cette partition avec des données aléatoires qu'il ne soit pas aisé de déterminer ou sont stockées les données chiffrées physiquement sur le disque. Plusieurs méthodes s'offrent a vous, par exemple de la plus rapide (mais moins efficace) à la plus efficace (mais aussi la plus lente ;-)):

  • badblocks -v -s -w -t random /dev/vg0/dataz
  • dd if=/dev/urandom of=/dev/vg0/dataz
  • shred /dev/vg0/dataz

J'ai choisi d'utiliser /dev/urandom pour remplir cette partition de données aléatoires, en utilisant la commande suivante :

dd if=/dev/urandom of=/dev/vg0/dataz
Attention cette commande est LONGUE (un peu plus de 13h42 pour la partition de 150 Go), prévoyez donc un peu de temps, par exemple
# dd if=/dev/urandom of=/dev/vg0/dataz
dd: écriture vers « /dev/vg0/dataz »: Aucun espace disponible sur le périphérique
314572801+0 enregistrements lus
314572800+0 enregistrements écrits
161061273600 octets (161 GB) copiés, 49342,9 s, 3,3 MB/s

Création d'une clef de chiffrement

La clef de chiffrement (en particulier sa longueur) dépend de l'algorithme de chiffrement utilisé. Nous allons partir sur un chiffrement AES disponible par défaut sous debian.

Après avoir chargé le module qui-va-bien (ici sur une machine 64 bits, sinon utiliser “modprobe aes”) :

modprobe aes_x86_64

Vous devriez pouvoir vérifier quels algos sont disponibles et quelles longueurs de clefs sont possibles avec la commande suivante :

cat /proc/crypto

qui devrait vous afficher un résultat similaire à :

[...]
name         : aes
driver       : aes-asm
module       : aes_x86_64
priority     : 200
refcnt       : 1
selftest     : passed
type         : cipher
blocksize    : 16
min keysize  : 16
max keysize  : 32
[...]

La longueur de clef maximum utilisable en AES est donc de 32 bits, soit 256 octets. Nous allons donc utiliser une clef de 256 bits.

Attention cette clef est nécessaire pour tout montage de la partition chiffrée et donc tout accès aux données qu'elle contient. Il faut donc par conséquent veiller à sauvegarder cette clef et ne surtout pas la perdre

FIXME continuer : tmpfs, luks, toussa

Références

sysadmin/encrypted_partition.1315402925.txt.gz · Dernière modification: 2011/09/07 15:42 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0