Come crittografare un filesystem BTRFS?

Come crittografare un filesystem BTRFS?

La funzione di crittografia a livello di filesystem BTRFS non è ancora disponibile. Ma puoi usare uno strumento di crittografia di terze parti come DM-Crypt per crittografare l'intero dispositivo di archiviazione del filesystem BTRFS.

In questo articolo, ti mostrerò come crittografare i dispositivi di archiviazione aggiunti a un filesystem BTRFS con DM-Crypt. Quindi iniziamo.

Abbreviazioni

  • Luks - Impostazione della chiave unificata Linux
  • HDD - Disco rigido
  • SSD - Disco a stato solido

Prerequisiti

Per seguire questo articolo:

  • Devi gestire Fedora 33 Workstation o Ubuntu 20.04 LTS Linux Distribuzione sul tuo computer.
  • Devi avere un HDD/SSD gratuito sul tuo computer.

Come puoi vedere, ho un HDD sdb sul mio ubuntu 20.04 LTS MACCHINE. Lo crittograferò e lo formatterò con il filesystem BTRFS.

$ sudo lsblk -e7

Installazione di pacchetti richiesti su Ubuntu 20.04 LTS

Per crittografare i dispositivi di archiviazione e formattarli con il filesystem BTRFS, è necessario disporre del btrfs-progs E criptsetup Pacchetti installati sul tuo Ubuntu 20.04 LTS MACCHINE. Fortunatamente, questi pacchetti sono disponibili nel repository di pacchetti ufficiali di Ubuntu 20.04 LTS.

Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:

$ sudo apt update


Installare btrfs-progs E criptsetup, Esegui il seguente comando:

$ sudo apt install btrfs-progs cryptsetup--install-Sugests


Per confermare l'installazione, premere Y e poi premere <accedere>.


IL btrfs-progs E criptsetup I pacchetti e le loro dipendenze vengono installati.


IL btrfs-progs E criptsetup I pacchetti dovrebbero essere installati a questo punto.

Installazione di pacchetti richiesti su Fedora 33

Per crittografare i dispositivi di archiviazione e formattarli con il filesystem BTRFS, è necessario disporre del btrfs-progs E criptsetup Pacchetti installati sulla macchina Fedora 33 Workstation. Fortunatamente, questi pacchetti sono disponibili nel repository di pacchetti ufficiali di Fedora 33 Workstation.

Innanzitutto, aggiorna la cache del repository del pacchetto DNF con il seguente comando:

$ sudo dnf makecache


Installare btrfs-progs E criptsetup, Esegui il seguente comando:

$ sudo dnf Installa btrfs -progs criptsetup -y


Fedora 33 Workstation utilizza il filesystem BTRFS per impostazione predefinita. Quindi, è più probabile che avrai già installati questi pacchetti, come puoi vedere nello screenshot qui sotto. Se per qualche motivo, non sono installati, saranno installati.

Generare una chiave di crittografia

Prima di poter crittografare i tuoi dispositivi di archiviazione criptsetup, È necessario generare una chiave casuale lunga 64 byte.

Puoi generare la tua chiave di crittografia e archiviarla nel /etc/cryptkey file con il seguente comando:

$ sudo dd if =/dev/urandom di =/etc/cryptkey bs = 64 conteggio = 1


Una nuova chiave di crittografia dovrebbe essere generata e archiviata in /etc/cryptkey file.


Il file chiave di crittografia /etc/cryptkey può essere letto da tutti per impostazione predefinita, come puoi vedere nello screenshot qui sotto. Questo è un rischio per la sicurezza. Vogliamo solo il radice utente per poter leggere/scrivere al /ecc/file cryptkey.

$ ls -lh /etc /cryptkey


Per consentire solo all'utente root di leggere/scrivere al /ecc/file cryptkey, Modificare le autorizzazioni del file come segue:

$ sudo chmod -v 600 /etc /cryptkey


Come puoi vedere, solo il radice L'utente ha l'autorizzazione a lettura/scrittura (RW) al /etc/cryptkey file. Quindi, nessun altro può vedere cosa c'è in /etc/cryptkey file.

$ ls -lh /etc /cryptkey

Crittografia dei dispositivi di archiviazione con DM-Crypt

Ora che hai generato una chiave di crittografia, puoi crittografare il tuo dispositivo di archiviazione. diciamo, sdb, con la tecnologia di crittografia del disco Luks V2 (versione 2) come segue:

$ sudo criptsetup -v --Type Luks2 Luksformat /Dev /SDB /ETC /CryptKey

criptsetup ti chiederà di confermare l'operazione di crittografia.

NOTA: Tutti i dati del tuo HDD/SSD devono essere rimossi. Quindi, assicurati di spostare tutti i tuoi dati importanti prima di tentare di crittografare il tuo HDD/SSD.


Per confermare l'operazione di crittografia del disco, digita (in maiuscolo) e premere . Potrebbe volerci un po 'di tempo per completare.


A questo punto, il dispositivo di archiviazione /dev/sdb dovrebbe essere crittografato con la chiave di crittografia /etc/cryptkey.

Apertura di dispositivi di archiviazione crittografati

Dopo aver crittografato un dispositivo di archiviazione con criptsetup, devi aprirlo con il criptsetup strumento per poterlo usare.

È possibile aprire il dispositivo di archiviazione crittografato sdb e mapparlo al tuo computer come dati dispositivo di archiviazione come segue:

$ sudo cryptsetup open --key-file =/etc/cryptkey --Type Luks2/Dev/SDB Data


Ora, il dispositivo di archiviazione decrittografato sarà disponibile nel percorso /dev/mapper/dati. Devi creare il tuo filesystem desiderato nel /Dev/Mapper/Data Device e montare il /Dev/Mapper/Data Device invece di /dev/sdb da ora in poi.

Creazione del filesystem BTRFS su dispositivi crittografati:

Per creare un filesystem BTRFS sul dispositivo di archiviazione decrittografato /dev/mapper/dati Con i dati dell'etichetta, eseguire il seguente comando:

$ sudo mkfs.BTRFS -L Data/Dev/Mapper/Data


Un filesystem BTRFS dovrebbe essere creato su /Dev/Mapper/Data Archiviazione Dispositivo, che è decrittografato dal dispositivo di archiviazione /dev/sdb (crittografato con Luks 2).

Montaggio del filesystem BTRFS crittografato

Puoi montare anche il filesystem BTRFS che hai creato in precedenza.

Diciamo, vuoi montare il filesystem BTRFS che hai creato all'inizio del /dati directory.

Quindi, crea il /dati directory come segue:

$ sudo mkdir -v /dati


Per montare il filesystem BTRFS creato su /Dev/Mapper/Data Archiviazione Dispositivo nel /dati Directory, eseguire il seguente comando:

$ sudo Mount /Dev /Mapper /Data /Data


Come puoi vedere, il filesystem BTRFS creato sul dispositivo di archiviazione crittografato sdb è montato nel /dati directory.

$ sudo btrfs show /dati

Montaggio automatico del filesystem BTRFS crittografato al momento dell'avvio

È possibile montare anche il filesystem BTRFS crittografato al momento dell'avvio.

Per montare il filesystem BTRFS crittografato al momento dell'avvio, è necessario:

  • Decrittografia del dispositivo di archiviazione /dev/sdb Al momento dell'avvio usando il file /etc/cryptkey File chiave di crittografia
  • montare il dispositivo di archiviazione decrittografato /dev/mapper/dati al /dati directory

Innanzitutto, trova l'Uuid del sdb dispositivo di archiviazione crittografato con il seguente comando:

$ sudo blkid /dev /sdb


Come puoi vedere, l'Uuid del sdb Il dispositivo di archiviazione crittografato è 1C66B0DE-B2A3-4D28-81C5-81950434F972. Sarà diverso per te. Quindi, assicurati di cambiarlo con il tuo d'ora in poi.


Per decrittografare automaticamente il sdb dispositivo di archiviazione al momento dell'avvio, è necessario aggiungere una voce per esso su /etc/crypttab file.

Apri il /etc/crypttab file con il nano Editor di testo come segue:

$ sudo nano /etc /cripttab


Aggiungi la riga seguente alla fine del /etc/crypttab File se stai utilizzando un HDD.

Dati UUID = 1C66B0DE-B2A3-4D28-81C5-81950434F972 /etc /CryptKey Luks, noialmente

Aggiungi la riga seguente alla fine del /etc/crypttab File se stai usando un SSD.

Dati UUID = 1C66B0DE-B2A3-4D28-81C5-81950434F972 /etc /CryptKey Luks, Noearly,

Una volta che hai finito, premere <Ctrl> + X, seguito da Y, E <accedere> Per salvare il /etc/crypttab file.


Ora, trova l'Uuid dei Decipted /dev/mapper/dati dispositivo di archiviazione con il seguente comando:

$ sudo blkid/dev/mapper/dati


Come puoi vedere, l'Uuid del /dev/mapper/dati Il dispositivo di archiviazione decrittografato è DAFD9D61-BDC9-446A-8B0C-AA209BFAB98D. Sarà diverso per te. Quindi, assicurati di cambiarlo con il tuo d'ora in poi.


Per montare automaticamente il dispositivo di archiviazione decrittografato /dev/mapper/dati Nella directory /dati al momento dell'avvio, è necessario aggiungere una voce sul /etc/fstab file.

Apri il /ETC/FILE FSTAB con il nano Editor di testo come segue:

$ sudo nano /etc /fstab


Ora aggiungi la seguente riga alla fine del /etc/fstab file:

UUID = DAFD9D61-BDC9-446A-8B0C-AA209BFAB98D /DATA BTRFS Imposta

Una volta che hai finito, premere <Ctrl> + X, seguito da Y, E <accedere> Per salvare il /etc/fstab file.


Infine, riavvia il computer per le modifiche ad avere effetto.

$ sudo riavvia


Il dispositivo di archiviazione crittografato sdb è decrittografato in a dati dispositivo di archiviazione e il dati Il dispositivo di archiviazione è montato in /dati directory.

$ sudo lsblk -e7


Come puoi vedere, il filesystem BTRFS, che è stato creato sul decrypted /dev/mapper/dati Il dispositivo di archiviazione è montato in /dati directory.

$ sudo btrfs show /dati

Conclusione

In questo articolo, ti ho mostrato come crittografare un dispositivo di archiviazione utilizzando la tecnologia di crittografia Luks 2 con criptsetup. Si impara anche come decrittografare il dispositivo di archiviazione crittografato e formattarlo anche con il filesystem BTRFS. O. Questo articolo dovrebbe aiutarti a iniziare con la crittografia del filesystem BTRFS.