Ricerca nel sito web

LUKS: crittografia dei dati del disco rigido Linux con supporto NTFS in Linux


L'acronimo LUKS sta per Linux Unified Key Setup che è un metodo ampiamente utilizzato per la crittografia del disco utilizzato dal kernel Linux ed è implementato con il pacchetto cryptsetup.

La riga di comando cryptsetup crittografa al volo un disco di volume utilizzando la chiave di crittografia simmetrica derivata dalla passphrase fornita che viene fornita ogni volta che un disco di volume, una partizione e anche un intero disco (anche una chiavetta USB) viene montato in gerarchia del file system e utilizza la crittografia aes-cbc-essiv:sha256.

Poiché LUKS può crittografare l'intero dispositivo a blocchi (dischi rigidi, chiavette USB, dischi Flash, partizioni, gruppi di volumi, ecc.) sui sistemi Linux è ampiamente raccomandato per proteggere supporti di memorizzazione rimovibili, dischi rigidi di laptop o file di scambio Linux e non raccomandato per file crittografia a livello.

NTFS (New Technology File System) è un file system proprietario sviluppato da Microsoft.

Ubuntu 14.04 fornisce il supporto completo per la crittografia LUKS e anche il supporto nativo NTFS per Windows con l'aiuto del pacchetto ntfs-3g.

Per dimostrare il mio punto in questo tutorial ho aggiunto un nuovo disco rigido (4°) sul box Ubuntu 14.04 (il riferimento di sistema all'HDD appena aggiunto è /dev/sdd ) che sarà diviso in due partizioni.

  1. Una partizione (/dev/sdd1 -primary) utilizzata per la crittografia LUKS.
  2. La seconda partizione (/dev/sdd5 – estesa) formattata NTFS per accedere ai dati sia su sistemi basati su Linux che su Windows.

Inoltre le partizioni verranno montate automaticamente su Ubuntu 14.04 dopo il riavvio.

Passaggio 1: crea partizioni del disco

1. Dopo che il disco rigido è stato aggiunto fisicamente al computer, utilizza il comando ls per elencare tutti i /dev/devices (il quarto disco è /dev/sdd).

ls /dev/sd*

2. Successivamente controlla il tuo HDD appena aggiunto con il comando fdisk.

sudo fdisk –l /dev/sdd

Poiché nessun filesystem è stato scritto, il disco non contiene ancora una tabella delle partizioni valida.

3. I passaggi successivi suddividono il disco rigido in due partizioni utilizzando l'utilità disco cfdisk.

sudo cfdisk /dev/sdd

4. La schermata successiva apre la modalità interattiva cfdisk. Seleziona lo Spazio libero sul tuo disco rigido e vai all'opzione Nuovo utilizzando le frecce dei tasti sinistra/destra.

5. Scegli il tipo di partizione come Primaria e premi Invio.

6. Annota la dimensione della partizione desiderata in MB.

7. Crea questa partizione all'inizio dello spazio libero sul disco rigido.

8. Successivamente, vai all'opzione Tipo della partizione e premi Invio.

9. Il prompt successivo presenta un elenco di tutti i tipi di filesystem e il loro codice numerico (numero esadecimale). Questa partizione sarà crittografata Linux LUKS quindi scegli il codice 83 e premi di nuovo Invio per creare la partizione.

10. Viene creata la prima partizione e il prompt dell'utilità cfdisk torna all'inizio. Per creare la seconda partizione utilizzata come NTFS seleziona lo Spazio libero rimanente, vai all'opzione Nuovo e premi il tasto Invio .

11. Questa volta la partizione sarà logica estesa. Quindi, vai all'opzione Logico e premi nuovamente Invio.

12. Inserisci nuovamente la dimensione della partizione. Per utilizzare lo spazio libero rimanente come nuova partizione, lascia il valore predefinito sulla dimensione e premi semplicemente Invio.

13. Scegli nuovamente il codice del tipo di partizione. Per il file system NTFS scegli il codice volume 86.

14. Dopo aver esaminato e verificato le partizioni, seleziona Scrivi, rispondi alla successiva domanda interattiva, quindi Esci per uscire < utilità b>cfdisk.

Congratulazioni! Le tue partizioni sono state create con successo e ora sono pronte per essere formattate e utilizzate.

15. Per verificare nuovamente la tabella delle partizioni del disco, eseguire nuovamente il comando fdisk che mostrerà informazioni dettagliate sulla tabella delle partizioni.

sudo fdisk –l /dev/sdd

Passaggio 2: creare il file system della partizione

File system NTFS

16. Per creare un filesystem NTFS sulla seconda partizione, esegui il comando mkfs.

sudo mkfs.ntfs /dev/sdd5

17. Per rendere disponibile la partizione, è necessario montarla sul filesystem in un punto di montaggio. Montare la seconda partizione sul quarto disco rigido nel punto di montaggio /opt utilizzando il comando mount.

sudo mount /dev/sdd5 /opt

18. Successivamente, controlla se la partizione è disponibile ed è elencata nel file /etc/mtab utilizzando il comando cat.

cat /etc/mtab

19. Per smontare la partizione utilizzare il seguente comando.

sudo umount /opt
EXT4 LUKS

20. Assicurati che il pacchetto cryptsetup sia installato sul tuo sistema.

sudo apt-get install cryptsetup		[On Debian Based Systems]

yum install cryptsetup				[On RedHat Based Systems]

21. Ora è il momento di formattare la prima partizione sul quarto disco rigido con il filesystem ext4 immettendo il seguente comando.

sudo luksformat  -t ext4  /dev/sdd1

Rispondi con SI maiuscolo alla domanda "Sei sicuro?"" e inserisci tre volte la passphrase desiderata.

Nota: a seconda della dimensione della partizione e della velocità del HDD, la creazione del filesystem può richiedere del tempo.

22. Puoi anche verificare lo stato del dispositivo della partizione.

sudo cryptsetup luksDump  /dev/sdd1

23. LUKS supporta l'aggiunta di un massimo di 8 password. Per aggiungere una password utilizza il seguente comando.

sudo cryptsetup luksAddKey /dev/sdd1

Per rimuovere una password utilizzare.

sudo cryptsetup luksRemoveKey /dev/sdd1

24. Affinché questa partizione crittografata sia attiva, deve avere un nome (inizializzato) nella directory /dev/mapper con l'aiuto di pacchetto cryptsetup.

Questa impostazione richiede la seguente sintassi della riga di comando:

sudo cryptsetup luksOpen  /dev/LUKS_partiton  device_name

Dove "nome_dispositivo" può essere qualsiasi nome descrittivo che ti piace! (L'ho chiamato mio crypted_volume). Il comando effettivo sarà simile a quello mostrato di seguito.

sudo cryptsetup luksOpen  /dev/sdd1 crypted_volume

25. Quindi verifica se il tuo dispositivo è elencato su /dev/mapper, directory, collegamento simbolico e stato del dispositivo.

ls /dev/mapper
ls –all /dev/mapper/encrypt_volume

sudo cryptsetup –v status encrypt_volume

26. Ora, per rendere il dispositivo di partizione ampiamente disponibile, montalo sul tuo sistema sotto un punto di montaggio utilizzando il comando mount.

sudo mount  /dev/mapper/crypted_volume  /mnt

Come si può vedere la partizione è montata e accessibile per la scrittura dei dati.

27. Per renderlo non disponibile basta smontarlo dal sistema e chiudere il dispositivo.

sudo umount  /mnt
sudo cryptsetup luksClose crypted_volume

Passaggio 3: montare automaticamente la partizione

Se si utilizza un disco rigido fisso ed è necessario che entrambe le partizioni vengano montate automaticamente sul sistema dopo il riavvio, è necessario seguire questi due passaggi.

28. Per prima cosa modifica il file /etc/crypttab e aggiungi i seguenti dati.

sudo nano /etc/crypttab
  1. Nome di destinazione: un nome descrittivo per il tuo dispositivo (vedi sopra il punto 22 su EXT4 LUKS).
  2. Unità di origine: la partizione del disco rigido formattata per LUKS (vedere sopra il punto 21 su EXT4 LUKS).
  3. File chiave: scegli nessuno
  4. Opzioni: specifica luks

La riga finale sarebbe simile a quella mostrata di seguito.

encrypt_volume               /dev/sdd1          none       luks

29. Quindi modifica /etc/fstab e specifica il nome del dispositivo, il punto di montaggio, il tipo di file system e altre opzioni.

sudo nano /etc/fstab

Nell'ultima riga utilizzare la seguente sintassi.

/dev/mapper/device_name (or UUID)	/mount_point     filesystem_type     options    dump   pass

E aggiungi il tuo contenuto specifico.

/dev/mapper/encrypt_volume      /mnt    ext4    defaults,errors=remount-ro     0     0

30. Per ottenere l'UUID del dispositivo, utilizza il seguente comando.

sudo blkid

31. Per aggiungere anche il tipo di partizione NTFS creato in precedenza, utilizzare la stessa sintassi di cui sopra su una nuova riga in fstab (qui il file Linux aggiunge il reindirizzamento si usa ).

sudo su -
echo "/dev/sdd5	/opt	ntfs		defaults		0              0"  >> /etc/fstab

32. Per verificare le modifiche riavviare il computer, premere Invio dopo il messaggio di avvio "Avvio configurazione dispositivo di rete" e digitare la passphrase del tuo dispositivo.

Come puoi vedere entrambe le partizioni del disco sono state montate automaticamente sulla gerarchia del filesystem Ubuntu. Come consiglio, non utilizzare volumi crittografati automaticamente dal file fstab su server fisicamente remoti se non puoi avere accesso alla sequenza di riavvio per fornire la password del volume crittografato.

Le stesse impostazioni possono essere applicate su tutti i tipi di supporti rimovibili come chiavetta USB, memoria Flash, disco rigido esterno, ecc. per proteggere dati importanti, segreti o sensibili in caso di intercettazioni o furti.