GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer un fichier d'échange chiffré sous Linux ?

En effet, la page décrit la mise en place d'une partition, mais c'est similaire pour un fichier d'échange :

dd if=/dev/urandom of=swapfile.crypt bs=1M count=64
loop=$(losetup -f)
losetup ${loop} swapfile.crypt
cryptsetup open --type plain --key-file /dev/urandom ${loop} swapfile
mkswap /dev/mapper/swapfile
swapon /dev/mapper/swapfile

Le résultat :

# swapon -s
Filename                                Type            Size    Used    Priority
/dev/mapper/swap0                       partition       4000176 0       -1
/dev/mapper/swap1                       partition       2000084 0       -2
/dev/mapper/swapfile                    partition       65528   0       -3

swap0 et swap1 sont de vraies partitions.


Cette configuration utilise des clés générées aléatoirement au démarrage et ne prend pas en charge l'hibernation sur le disque dur ! Vous devez désactiver l'hibernation via votre respectie DE Power Management Utility et le régler sur Shutdown on Critical pour éviter la perte de données !

Assurez-vous d'exécuter sudo -s ou su avant d'exécuter ce qui suit.

  1. Désactiver l'échange :

    # swapoff -a
    
  2. Localisez la partition d'échange existante

    # lsblk
    

    Vous obtiendrez quelque chose comme ceci :

    sda3    8:3    0     8G  0 part [SWAP]
    
  3. Remplacer l'ancien swap

    # dd if=/dev/zero bs=1024000 of=/dev/sda<#>
    

    par exemple :

    # dd if=/dev/zero bs=1024000 of=/dev/sda3
    
  4. fstab configuration

    # vim /etc/fstab
    

    Remplacez l'ancien périphérique SWAP par le nom du mappeur crypttab :/dev/mapper/cswap

    #<file system>      <mount point>   <type>  <options>   <dump>  <pass>
    /dev/mapper/cswap   none            swap    pri=1,defaults  0   0
    
  5. Configuration du chiffrement

    # ls -lF /dev/disk/by-id
    

    Par exemple :

    ata-HGST_HTS545050A7E680_TEK55D4F0BU3GV-part3 -> ../../sda3
    
    # vim /etc/crypttab
    
    # <name>    <device>                            <password>  <options>
      cswap     /dev/disk/by-id/ata-HGST_HTS545050A7E680_TEK55D4F0BU3GV-part3   /dev/urandom    swap,cipher=aes-cbc-essiv:sha256,size=256
    
  6. Échange chiffré actif

    # reboot
    
  7. Vérifier les opérations d'échange cryptées

    Par exemple :

    # dmsetup -C info 
    cswap      253   0 L--w    2    1      0 CRYPT-PLAIN-cswap  
    # lsblk
    ├─sda3                8:3    0     8G  0 part  
    │ └─cswap             253:0    0     8G  0 crypt [SWAP]
    # cat /proc/swaps 
    Filename                Type        Size    Used    Priority
    /dev/dm-0               partition   8385532 0       -1
    

Si vous utilisez dd if=/dev/zero of=/swapfile bs=8G count=1 , suivi de mkswap /swapfile et swapon /swapfile , vous devriez avoir un fichier d'échange fonctionnel sur votre système de fichiers racine. (nous utilisons dd pour s'assurer qu'il n'y a pas de trous dans le fichier d'échange)

Cela évite d'avoir à jouer avec les périphériques en boucle et/ou le crypttab et place simplement le fichier d'échange dans votre système de fichiers déjà crypté. (Nous supposons que vous utilisez le cryptage pour l'ensemble du lecteur ici. Ajoutez le /swapfile paramètre avec le chemin vers votre répertoire chiffré s'il est ailleurs)

Voir man mkswap et man swapon pour plus d'informations.


Linux
  1. Comment gérer les capacités des fichiers Linux

  2. Comment trouver un fichier sous Linux

  3. Comment créer un swap sous Linux

  4. Comment créer un fichier d'échange sous Linux

  5. Comment renommer un fichier sous Linux ?

Comment créer un fichier sous Linux

Comment monter un fichier ISO sur Linux

Comment rendre un fichier exécutable sous Linux

Comment créer un lien symbolique vers un fichier sous Linux

Comment créer et utiliser un fichier d'échange sous Linux

Comment désactiver Swap sous Linux