GNU/Linux >> Linux Esercitazione >  >> Linux

Sblocca automaticamente i dischi crittografati su Linux

Dal punto di vista della sicurezza, è importante crittografare i tuoi dati sensibili per proteggerli da occhi indiscreti e hacker. Linux Unified Key Setup (LUKS) è un ottimo strumento e uno standard comune per la crittografia del disco Linux. Poiché memorizza tutte le informazioni di configurazione pertinenti nell'intestazione della partizione, semplifica la migrazione dei dati.

Per configurare dischi o partizioni crittografate con LUKS, sarà necessario utilizzare l'utilità cryptsetup. Sfortunatamente, uno degli svantaggi della crittografia dei dischi è che devi fornire manualmente la password ogni volta che il sistema viene riavviato o il disco viene rimontato.

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Tuttavia, Network-Bound Disk Encryption (NBDE) può sbloccare automaticamente e in modo sicuro i dischi crittografati senza alcun intervento da parte dell'utente. È disponibile in diverse distribuzioni Linux, a partire da Red Hat Enterprise Linux 7.4, CentOS 7.4 e Fedora 24 e nelle versioni successive di ciascuna.

NBDE è implementato con le seguenti tecnologie:

  • Quadro perno: Uno strumento framework collegabile che decrittografa e sblocca automaticamente i volumi LUKS
  • Server Tang: Un servizio per associare chiavi crittografiche alla presenza in rete

Tang fornisce le chiavi di crittografia al client Clevis. Secondo gli sviluppatori di Tang, questo fornisce un'alternativa sicura, senza stato e anonima ai servizi di deposito a garanzia delle chiavi.

Poiché NBDE utilizza l'architettura client-server, è necessario configurare sia il client che il server. Puoi utilizzare una macchina virtuale sulla tua rete locale per il tuo server Tang.

Installazione del server

Installa Tang usando sudo:

sudo yum install tang -y

Abilita il server Tang:

sudo systemctl enable tangd.socket --now

Il server Tang funziona sulla porta 80 e deve essere aggiunto a firewalld. Aggiungi la regola firewalld appropriata:

sudo  firewall-cmd --add-port=tcp/80 --perm
sudo firewall-cmd --reload

Il server ora dovrebbe essere installato.

Installazione client

Per questo esempio, supponi di aver aggiunto un nuovo disco da 1 GB denominato /dev/vdc al tuo sistema.

Crea la partizione primaria usando fdisk o parted:

sudo fdisk /dev/vdc

Completa i seguenti passaggi per installare il client.

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x4a6812d4.

Command (m for help):

Inserisci n per creare la nuova partizione:

Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended  
Select (default p):

Premi Invio tasto per selezionare la partizione primaria:

Using default response p
Partition number (1-4, default 1):

Premi Invio per selezionare il numero di partizione predefinito:

First sector (2048-2097151, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151):

Premi Invio tasto per selezionare l'ultimo settore:

Using default value 2097151
Partition 1 of type Linux and of size 1023 MiB is set

Command (m for help): wq

Digita wq per salvare le modifiche e uscire da fdisk:

The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Esegui partprobe per informare il sistema delle modifiche alla tabella delle partizioni:

sudo partprobe

Installa il pacchetto cryptsetup usando sudo:

sudo yum install cryptsetup -y

Usa il cryptsetup luksFormat comando per crittografare il disco. Dovrai digitare SI quando richiesto e scegli e inserisci anche una passphrase per crittografare il disco:

sudo cryptsetup luksFormat /dev/vdc1
WARNING!
========
This will overwrite data on /dev/vdc1 irrevocably.

Are you sure? (Type uppercase yes):

Enter passphrase for /dev/vdc1:
Verify passphrase:

Usa cryptsetup luksOpen comando per mappare la partizione crittografata su un dispositivo logico. Ad esempio, usa encryptedvdc1 come il nome. Dovrai anche inserire nuovamente la passphrase:

sudo cryptsetup luksOpen /dev/vdc1 encryptedvdc1
Enter passphrase for /dev/vdc1:

La partizione crittografata è ora disponibile in /dev/mapper/encryptedvdc1 .

Crea un filesystem XFS sulla partizione crittografata:

sudo mkfs.xfs /dev/mapper/encryptedvdc1

Crea una directory per montare la partizione crittografata:

sudo mkdir /encrypted

Usa cryptsetup luksClose comando per bloccare la partizione:

cryptsetup luksClose encryptedvdc1

Installa i pacchetti Clevis usando sudo:

sudo yum install clevis clevis-luks clevis-dracut -y

Modifica /etc/crypttab per aprire il volume crittografato all'avvio:

sudo vim /etc/crypttab

Aggiungi la seguente riga:

encryptedvdc1       /dev/vdc1  none   _netdev

Modifica /etc/fstab per montare automaticamente il volume crittografato durante un riavvio o all'avvio:

sudo vim /etc/fstab

Aggiungi la seguente riga:

/dev/mapper/encryptedvdc1   /encrypted       xfs    _netdev        1 2

Per questo esempio, supponiamo che l'indirizzo IP del server Tang sia 192.168.1.20 . Puoi anche utilizzare il nome host o il dominio se preferisci.

Esegui il seguente clevis comando:

sudo clevis bind luks -d /dev/vdc1 tang '{"url":"http://192.168.1.20"}'
The advertisement contains the following signing keys:

rwA2BAITfYLuyNiIeYUMBzkhk7M

Do you wish to trust these keys? [ynYN] Y
Enter existing LUKS password:

Digita Y per accettare le chiavi per il server Tang e fornire la password LUKS esistente per la configurazione iniziale.

Abilita clevis-luks-askpass.path tramite systemctl per evitare che venga richiesta la passphrase per le partizioni non root.

sudo systemctl enable clevis-luks-askpass.path

Il client è installato. Ora, ogni volta che riavvii il server, il disco crittografato dovrebbe essere automaticamente decrittografato e montato recuperando le chiavi dal server Tang.

Se il server Tang non è disponibile per qualsiasi motivo, dovrai fornire manualmente la passphrase per decrittografare e montare la partizione.


Linux
  1. Come partizionare un disco in Linux

  2. Creare una partizione di ripristino in Linux incorporato?

  3. Ripristino di Windows Spanning Disks (LDM) con Linux?

  4. Ripeti il ​​​​comando automaticamente in Linux

  5. Come spostare una partizione in GNU/Linux?

Gestione delle partizioni Linux

Come montare la partizione Windows crittografata con Bitlocker in Linux

Come elencare i dischi su Linux

Come crittografare la partizione su Linux

Crea una partizione in Linux:una guida passo passo

Comprensione dell'utilità separata di Linux