Come implementare la crittografia completa del disco con LUKS in RHEL

Scopri come implementare la crittografia completa del disco sulle partizion Block Storage for Classic i tramite il sistema Unified Key Setup (LUKS) di Linux, con chiavi utente multiple per una maggiore sicurezza dei dati.

È possibile crittografare le partizioni dei volumi Block Storage for Classic con Linux® Unified Key Setup (LUKS). Con LUKS, è possibile utilizzare più chiavi utente per decrittografare una chiave principale utilizzata per la crittografia di massa della partizione. Le seguenti istruzioni sono state convalidate per funzionare con RHEL versione 8 o più recente.

Questa procedura presuppone che il server abbia accesso a un nuovo volume IBM Cloud® Block Storage for Classic non crittografato che non è stato formattato o montato. Per ulteriori informazioni sul collegamento di un host Linux® a un host Block Storage for Classic, consultare uno dei seguenti argomenti.

Tutti i nuovi Block Storage for Classic vengono automaticamente forniti con la crittografia a riposo gestita dal provider. Per ulteriori informazioni, consulta Protezione dei tuoi dati - crittografia dei dati inattivi gestita dal provider.

Cosa fa LUKS

  • LUKS crittografa interi dispositivi a blocchi ed è quindi adatto a proteggere i contenuti dei dispositivi mobili, quali supporti di memorizzazione rimovibili o dischi rigidi dei notebook.
  • I contenuti sottostanti del dispositivo a blocchi crittografato sono arbitrari, rendendolo utile per la crittografia di dispositivi di swap. La crittografia può anche essere utile con specifici database che usano dispositivi a blocchi con una formattazione speciale per l'archiviazione di dati.
  • LUKS utilizza il sottosistema del kernel "device mapper" già esistente.
  • LUKS offre la funzione di rafforzamento della passphrase, che protegge dagli attacchi basati su dizionario.
  • LUKS contiene più slot di chiavi, quindi gli utenti possono aggiungere chiavi di backup o passphrase.

Cosa non fa LUKS

  • LUKS non consente applicazioni che richiedono che un numero elevato (più di otto) di utenti disponga di chiavi di accesso distinte per gli stessi dispositivi.
  • LUKS non funziona con le applicazioni che richiedono la codifica a livello di file. Per ulteriori informazioni, consultare la Guida alla sicurezza RHEL.

Configurazione di un volume crittografato LUKS con Block Storage for Classic Endurance

L'elaborazione della crittografia dei dati crea un carico sull'host che potrebbe, potenzialmente, avere un impatto sulle prestazioni.

  1. Immetti il seguente comando in un prompt della shell come root per installare il pacchetto richiesto:

    dnf install cryptsetup-luks
    
  2. Ottieni l'ID disco:

    fdisk –l | grep /dev/mapper
    
  3. Individua il tuo volume nell'elenco.

  4. Crittografare il dispositivo a blocchi.

    1. Questo comando inizializza il volume e puoi impostare una passphrase.
       cryptsetup -y -v luksFormat /dev/mapper/3600a0980383034685624466470446564
    
    1. Rispondi con " YES " (tutto in maiuscolo).

    2. Il dispositivo viene ora visualizzato come un volume crittografato:

       $ blkid | grep LUKS
       /dev/mapper/3600a0980383034685624466470446564: UUID="46301dd4-035a-4649-9d56-ec970ceebe01" TYPE="crypto_LUKS"
    
  5. Apri il volume e crea un'associazione.

    cryptsetup luksOpen /dev/mapper/3600a0980383034685624466470446564 cryptData
    
  6. Immetti la passphrase.

  7. Verificare la mappatura e visualizzare lo stato del volume crittografato.

    # cryptsetup -v status cryptData
    /dev/mapper/cryptData is active.
      type:  LUKS1
      cipher:  aes-cbc-essiv:sha256
      keysize: 256 bits
      device:  /dev/mapper/3600a0980383034685624466470446564
      offset:  4096 sectors
      size:    41938944 sectors
      mode:    read/write
      Command successful
    
  8. Scrivi dati casuali in /dev/mapper/cryptData sul dispositivo crittografato. Questa operazione garantisce che dall'esterno i dati appaiano come casuali, il che significa che sono protetti dalla divulgazione dei modelli di utilizzo. Questo passo può richiedere del tempo.

    shred -v -n1 /dev/mapper/cryptData
    
  9. Formatta il volume.

    mkfs.ext4 /dev/mapper/cryptData
    
  10. Monta il volume.

mkdir /cryptData
mount /dev/mapper/cryptData /cryptData
df -H /cryptData

Smontaggio e chiusura del volume crittografato in modo sicuro

umount /cryptData
cryptsetup luksClose cryptData

Rimontaggio e montaggio di una partizione con crittografia LUKS esistente

$ cryptsetup luksOpen /dev/mapper/3600a0980383034685624466470446564 cryptData
   Enter the password previously provided.
$ mount /dev/mapper/cryptData /cryptData
$ df -H /cryptData
$ lsblk
NAME                                       MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
xvdb                                       202:16   0    2G  0 disk
└─xvdb1                                    202:17   0    2G  0 part  [SWAP]
xvda                                       202:0    0   25G  0 disk
├─xvda1                                    202:1    0  256M  0 part  /boot
└─xvda2                                    202:2    0 24.8G  0 part  /
sda                                          8:0    0   20G  0 disk
└─3600a0980383034685624466470446564 (dm-0) 253:0    0   20G  0 mpath
└─cryptData (dm-1)                         253:1    0   20G  0 crypt /cryptData
sdb                                          8:16   0   20G  0 disk
└─3600a0980383034685624466470446564 (dm-0) 253:0    0   20G  0 mpath
└─cryptData (dm-1)                         253:1    0   20G  0 crypt /cryptData