Di recente, ho dimostrato come implementare la crittografia dell'unità completa su Linux con LUKS e cryptsetup
comando. Sebbene la crittografia di un'intera unità sia utile in molti casi, ci sono ragioni per cui potresti non voler codificare un'intera unità. Ad esempio, potresti aver bisogno di un'unità per funzionare su diverse piattaforme, alcune delle quali potrebbero non avere l'integrazione LUKS (Linux Unified Key Setup). Inoltre, è il 21° secolo, il cloud esiste e potresti non utilizzare un'unità fisica per tutti i tuoi dati.
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
Diversi anni fa, esisteva un sistema chiamato TrueCrypt che consentiva agli utenti di creare "vault" di file crittografati, che potevano essere decrittografati da TrueCrypt per fornire accesso in lettura/scrittura. Era una tecnica utile e essenzialmente forniva un'unità portatile virtuale e completamente crittografata in cui è possibile archiviare dati importanti. TrueCrypt ha chiuso, ma funge da modello interessante.
Fortunatamente, LUKS è un sistema flessibile e puoi usarlo e cryptsetup
per creare un deposito crittografato come file autonomo, che puoi salvare su un'unità fisica o nell'archivio cloud.
Ecco come farlo.
1. Crea un file vuoto
Innanzitutto, devi creare un file vuoto di una dimensione predeterminata. Questo serve come una sorta di deposito o cassaforte in cui è possibile archiviare altri file. Il comando che usi per questo è fallocate
, da util-linux
pacchetto:
$ dd if=/dev/urandom of=vaultfile.img bs=1M count=512
Questo esempio crea un file da 512 MB, ma puoi creare il tuo di qualsiasi dimensione desideri.
(Utilizzando /dev/urandom
poiché la fonte dei dati di riempimento assicura che un hexdump non sia in grado di distinguere i dati effettivi dallo spazio vuoto.)
2. Crea un volume LUKS
Quindi, crea un volume LUKS all'interno del file vuoto:
$ cryptsetup --verify-passphrase \
luksFormat vaultfile.img
3. Apri il volume LUKS
Per poter creare un filesystem pronto per l'archiviazione dei file, devi prima aprire il volume LUKS e montarlo sul tuo computer:
$ sudo cryptsetup open \
--type luks vaultfile.img myvault
$ ls /dev/mapper
myvault
4. Crea un filesystem
Crea un filesystem nel tuo deposito aperto:
$ sudo mkfs.ext4 -L myvault /dev/mapper/myvault
Se non ti serve per niente in questo momento, puoi chiuderlo:
$ sudo cryptsetup close myvault
5. Inizia a utilizzare il tuo deposito crittografato
Ora che è tutto configurato, puoi utilizzare il tuo file vault crittografato ogni volta che devi archiviare o accedere a dati privati. Per accedere al tuo vault, devi montarlo come filesystem utilizzabile:
$ sudo cryptsetup open \
--type luks vaultfile.img myvault
$ ls /dev/mapper
myvault
$ sudo mkdir /myvault
$ sudo mount /dev/mapper/myvault /myvault
Questo esempio apre il vault con cryptsetup
e quindi monta il vault da /dev/mapper
in una nuova directory chiamata /myvault
. Come con qualsiasi volume su Linux, puoi montare il volume LUKS ovunque tu voglia, quindi invece di /myvault
, puoi usare /mnt
o ~/myvault
o quello che preferisci.
Mentre è montato, il tuo volume LUKS viene decrittografato. Puoi leggere e scrivere file su di esso proprio come se fosse un'unità fisica.
Quando hai finito di usare il tuo deposito crittografato, smontalo e chiudilo:
$ sudo umount /myvault
$ sudo cryptsetup close myvault
Vault di file crittografati
Un file immagine crittografato con LUKS è portatile come qualsiasi altro file, quindi puoi archiviare il tuo vault sul tuo disco rigido, su un'unità esterna o persino su Internet. Finché hai LUKS disponibile, puoi decrittografarlo, montarlo e usarlo per mantenere i tuoi dati al sicuro. È una crittografia semplice per una maggiore sicurezza dei dati, quindi provalo.