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
Dernière révision Les deux révisions suivantes
sysadmin:encrypted_partition [2011/09/07 15:42]
james ajout liens reference
sysadmin:encrypted_partition [2012/11/04 12:05]
james [Utilisation de la partition chiffrée] ajout warning locate
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 50: Ligne 52:
 <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.txt · Dernière modification: 2013/10/30 18:11 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0