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
Prerequisiti
Per seguire questo articolo:
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 SÌ (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:
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.