Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
sysadmin:encrypted_partition [2011/09/07 15:42]
james ajout liens reference
sysadmin:encrypted_partition [2013/10/30 18:11] (Version actuelle)
james [Création d'une clef de chiffrement] typo
Ligne 1: Ligne 1:
 +{{tag>​cryptsetup chiffrement partition luks}}
 +
 ====== Créer une partition chiffrée ====== ====== Créer une partition chiffrée ======
  
Ligne 11: Ligne 13:
 ===== Initialisation de la partition ===== ===== 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 ;-)):+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   * badblocks -v -s -w -t random /​dev/​vg0/​dataz
   * dd if=/​dev/​urandom of=/​dev/​vg0/​dataz   * dd if=/​dev/​urandom of=/​dev/​vg0/​dataz
Ligne 47: Ligne 49:
 [...] [...]
 </​code>​ </​code>​
-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.+La longueur de clef maximum utilisable en AES est donc de 32 octets, soit 256 bits. Nous allons donc utiliser une clef de 256 bits qui est donc la longueur maximale utilisable ici.
 <note important>​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</​note>​ <note important>​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</​note>​
  
-FIXME continuer ​: tmpfs, luks, toussa+==== Stockage temporaire de la clef ==== 
 + 
 +Le but est ne ne pas stocker la clef de facon permanente sur le serveur. Pour cela nous allons créer une partition temporaire en RAM, et y stocker la clef uniquement le temps d'​effectuer les opérations qui la nécessitent. j'ai choisi de créer cette partition temporaire dans /root/tmpfs , adaptez les chemins suivants au besoin. 
 + 
 +  * Création du tmpfs :<​code>​echo "tmpfs      /​root/​tmpfs ​           tmpfs        defaults ​          ​0 ​   0" >> /etc/fstab </​code>​ 
 +  * Montage initial : \\ Cette partition sera automatiquement crée et montée au prochain redémarragemais il faut pour l'​instant le faire à la main :<​code>​mount /​root/​tmpfs</​code>​ 
 + 
 +==== Génération de la clef ==== 
 +La clef de 32 octets (256 bits) sera générée aléatoirement grace à /​dev/​urandom :<​code>​ 
 +dd if=/​dev/​urandom of=/​root/​tmpfs/​luks_dataz.key bs=32 count=1 
 +chmod 600 /​root/​tmpfs/​luks_dataz.key 
 +</​code>​ 
 +<note important>​ 
 +  * Veillez bien à sauvegarder cette clef, par exemple sur une autre machine, une clef USB, ... 
 +  * Les fichiers contenus dans une partition tmpfs seront perdus lors du démontage de la partition, et donc à l'​arrêt de la machine 
 +</​note>​ 
 + 
 +===== Création de la partition chiffrée ===== 
 +Nous avons donc maintenant tout ce qu'il faut pour créer la partition chiffrée a l'aide de //​cryptsetup//​ . 
 +Le cipher retenu est donc //​aes-cbc-essiv:​sha256//,​ vous pouvez vous assurer que votre version de cryptsetup permet bien de l'​utiliser (par défaut sous debian) grâce a la commande "​cryptsetup --help"​. Si ce n'est pas le cas il vous faut recompiler cryptsetup pour ajouter le support du cipher choisi. 
 + 
 + 
 +La commande a utiliser est :<​code>​cryptsetup --verbose --cipher "​aes-cbc-essiv:​sha256"​ --key-size 256 --key-file /​root/​tmpfs/​luks_dataz.key luksFormat /​dev/​vg0/​dataz</​code>​ 
 +qui devrait vous donner un résultat similaire à (il vous faut confirmer en tapant "​YES"​) :<​code>​ 
 +# cryptsetup --verbose --cipher "​aes-cbc-essiv:​sha256"​ --key-size 256 --key-file /​root/​tmpfs/​luks_dataz.key luksFormat /​dev/​vg0/​dataz 
 + 
 +WARNING! 
 +======== 
 +Cette action écrasera définitivement les données sur /​dev/​vg0/​dataz. 
 + 
 +Are you sure? (Type uppercase yes): YES 
 +Opération réussie. 
 +</​code>​ 
 + 
 +===== Utilisation de la partition chiffrée ===== 
 +Il faut tout d'​abord ouvrir le conteneur ​luks en utilisant la clef. Le dernier argument est le nom que vous souhaitez donner pour accéder la partition qui sera disponible en tant que /​dev/​mapper/​$NOM :<​code>​cryptsetup luksOpen --key-file /​root/​tmpfs/​luks_dataz.key /​dev/​vg0/​dataz dataz</​code>​ 
 +Vous pouvez vérifier le bon fonctionnement de ceci avec la commande <​code>​ls -als /​dev/​mapper/​dataz</​code>​ qui devrait vous retourner quelque chose comme :<​code>​ 
 +# ls -als /​dev/​mapper/​dataz  
 +0 lrwxrwxrwx 1 root root 8  9 sept. 15:58 /​dev/​mapper/​dataz -> ../dm-13 
 +</​code>​ 
 + 
 +La présence de la clef temporairement stockée sur le serveur n'est maintenant plus nécessairevous pouvez la supprimer, par exemple en "​détruisant"​ le tmpfs :<​code>​ 
 +umount /​root/​tmpfs</​code>​ 
 +<note important>​Attention là encore de bien avoir sauvegardé cette clef ailleurs.</​note>​ 
 + 
 +Il est maintenant temps de : 
 +  * formater cette partition :<​code>​mkfs.ext3 /​dev/​mapper/​dataz</​code>​ 
 +  * Puis de la monter pour l'​utiliser :<​code>​ 
 +mkdir /​mnt/​dataz 
 +mount /​dev/​mapper/​dataz /​mnt/​dataz 
 +</​code>​ 
 + 
 +Voila, ce volume chiffré est maintenant prêt a être utilisé. 
 + 
 +<note warning>​N'​oubliez pas de désactiver l'​indexation de ce volume par des outils comme slocate/​mlocate sinon tous les noms des fichiers et répertoires de ce volume seront stockés et accessibles sur une partition non chiffrée.</​note>​ 
 + 
 +===== Opérations courantes ===== 
 + 
 +==== Cesser d'​utiliser le volume chiffré ==== 
 + 
 +Si vous voulez cesser de l'​utiliser,​ il faut : 
 +  - Démonter le volume :<​code>​umount /​dev/​mapper/​dataz</​code>​ 
 +  - Fermer l'​acces au conteneur :<​code>​cryptsetup luksClose dataz</​code>​ 
 + 
 +==== Réutiliser le volume chiffré ==== 
 + 
 +Pour pouvoir a nouveau l'​utiliser,​ il faudra donc : 
 +  - recréer la partition tmpfs au besoin :<​code>​mount /​root/​tmpfs</​code>​ 
 +  - déposer le fichier de clef dans le tmpfs (via un moyen sécurisé type SCP) 
 +  - Ouvrir le conteneur : <​code>​cryptsetup luksOpen --key-file /​root/​tmpfs/​luks_dataz.key /​dev/​vg0/​dataz dataz</​code>​ 
 +  - Monter la partition : <​code>​mount /​dev/​mapper/​dataz /​mnt/​dataz</​code>​ 
 +  - Effacer de manière sécurisée la clef stockée temporairement :<​code>​shred /​root/​tmpfs/​luks_dataz.key 
 +rm /​root/​tmpfs/​luks_dataz.key</​code>​ 
 +  - Démonter la partition tmfs si vous n'en avez plus besoin :<​code>​umount /​root/​tmpfs</​code>​ 
 +<note important>​Attention là encore bien sauvegarder votre clef</​note>​
  
 +  ​
 ===== Références ===== ===== Références =====
   * https://​wiki.archlinux.org/​index.php/​System_Encryption_with_LUKS#​Using_LUKS_to_Format_Partitions_with_a_Keyfile   * https://​wiki.archlinux.org/​index.php/​System_Encryption_with_LUKS#​Using_LUKS_to_Format_Partitions_with_a_Keyfile
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