Molte persone considerano i dischi rigidi sicuri perché li possiedono fisicamente. È difficile leggere i dati su un disco rigido che non hai e molte persone pensano che proteggere il proprio computer con una passphrase renda i dati sull'unità illeggibili.
Non è sempre così, anche perché, in alcuni casi, una passphrase serve solo a sbloccare una sessione utente. In altre parole, puoi accendere un computer, ma poiché non hai la sua passphrase, non puoi accedere al desktop e quindi non hai modo di aprire i file per guardarli.
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
Il problema, come capiscono molti tecnici informatici, è che i dischi rigidi possono essere estratti dai computer e alcuni dischi sono già esterni per progettazione (chiavette USB, ad esempio), quindi possono essere collegati a qualsiasi computer per il pieno accesso al dati su di essi. Non è nemmeno necessario separare fisicamente un'unità dal suo host del computer per far funzionare questo trucco. I computer possono essere avviati da un'unità di avvio portatile, che separa un'unità dal suo sistema operativo host e la trasforma, virtualmente, in un'unità esterna disponibile per la lettura.
La risposta è inserire i dati su un'unità in un deposito digitale che non può essere aperto senza informazioni a cui solo tu hai accesso.
Linux Unified Key Setup (LUKS) è un sistema di crittografia del disco. Fornisce un archivio chiavi generico (e relativi metadati e aiuti al ripristino) in un'area dedicata su un disco con la possibilità di utilizzare più passphrase (o file chiave) per sbloccare una chiave archiviata. È progettato per essere flessibile e può persino archiviare i metadati esternamente in modo che possa essere integrato con altri strumenti. Il risultato è la crittografia completa dell'unità, quindi puoi archiviare tutti i tuoi dati con la certezza che sono al sicuro, anche se l'unità è separata, fisicamente o tramite software, dal tuo computer.
Crittografia durante l'installazione
Il modo più semplice per implementare la crittografia dell'intera unità consiste nel selezionare l'opzione durante l'installazione. La maggior parte delle moderne distribuzioni Linux offre questa opzione, quindi di solito è un processo banale.
Questo stabilisce tutto ciò di cui hai bisogno:un'unità crittografata che richiede una passphrase prima che il tuo sistema possa avviarsi. Se l'unità viene estratta dal computer o vi si accede da un altro sistema operativo in esecuzione sul computer, l'unità deve essere decrittografata da LUKS prima di poter essere montata.
Crittografia delle unità esterne
Non è comune separare un disco rigido interno dal suo computer, ma le unità esterne sono progettate per viaggiare. Man mano che la tecnologia diventa sempre più piccola, è più facile inserire un'unità portatile sul portachiavi e portarla con te ogni giorno. L'ovvio pericolo, tuttavia, è che anche questi siano abbastanza facili da smarrire. Ho trovato unità abbandonate nelle porte USB dei computer della hall dell'hotel, nelle stampanti dei business center, nelle aule e persino in una lavanderia a gettoni. La maggior parte di questi non includeva informazioni personali, ma è un errore facile da commettere.
Puoi evitare lo smarrimento di dati importanti crittografando le tue unità esterne.
LUKS e il suo frontend cryptsetup
fornire un modo per farlo su Linux. Come fa Linux durante l'installazione, puoi crittografare l'intera unità in modo che richieda una passphrase per montarla.
Come crittografare un'unità esterna con LUKS
Innanzitutto, hai bisogno di un'unità esterna vuota (o di un'unità con contenuti che sei disposto a cancellare). Questo processo sovrascrive tutti i dati su un'unità, quindi se disponi di dati che desideri conservare sull'unità, prima esegui il backup .
1. Trova la tua unità
Ho usato una piccola chiavetta USB. Per proteggerti dalla cancellazione accidentale dei dati, l'unità a cui si fa riferimento in questo articolo si trova nella posizione immaginaria /dev/sdX
. Allega il tuo disco e trova la sua posizione:
$ lsblk
sda 8:0 0 111.8G 0 disk
sda1 8:1 0 111.8G 0 part /
sdb 8:112 1 57.6G 0 disk
sdb1 8:113 1 57.6G 0 part /mydrive
sdX 8:128 1 1.8G 0 disk
sdX1 8:129 1 1.8G 0 part
So che il mio disco demo si trova in /dev/sdX
perché ne riconosco le dimensioni (1,8 GB) ed è anche l'ultima unità che ho collegato (con sda
essendo il primo, sdb
il secondo, sdc
il terzo e così via). Il /dev/sdX1
designatore significa che l'unità ha 1 partizione.
Se non sei sicuro, rimuovi l'unità, guarda l'output di lsblk
, quindi allega l'unità e guarda lsblk
di nuovo.
Assicurati di identificare l'unità corretta perché la crittografia sovrascrive tutto su di essa . Il mio disco non è vuoto, ma contiene copie di documenti di cui ho copie altrove, quindi perdere questi dati non è significativo per me.
2. Cancella l'unità
Per procedere, distruggi la tabella delle partizioni dell'unità sovrascrivendo la testa dell'unità con zeri:
$ sudo dd if=/dev/zero of=/dev/sdX count=4096
Questo passaggio non è strettamente necessario, ma mi piace iniziare con una tabula rasa.
3. Formatta il tuo disco per LUKS
Il cryptsetup
command è un frontend per la gestione dei volumi LUKS. Il luksFormat
il sottocomando crea una sorta di deposito LUKS protetto da password e in grado di ospitare un filesystem protetto.
Quando crei una partizione LUKS, vieni avvisato della sovrascrittura dei dati e quindi ti viene chiesto di creare una passphrase per la tua unità:
$ sudo cryptsetup luksFormat /dev/sdX
WARNING!
========
This will overwrite data on /dev/sdX irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
4. Apri il volume LUKS
Ora hai un deposito completamente crittografato sul tuo disco. Occhi indiscreti, incluso il tuo in questo momento, sono tenuti fuori da questa partizione LUKS. Quindi per usarlo, devi aprirlo con la tua passphrase. Apri il vault LUKS con cryptsetup open
insieme alla posizione del dispositivo (/dev/sdX
, nel mio esempio) e un nome arbitrario per il tuo deposito aperto:
$ cryptsetup open /dev/sdX vaultdrive
Uso vaultdrive
in questo esempio, ma puoi nominare il tuo vault come vuoi e puoi assegnargli un nome diverso ogni volta che lo apri.
I volumi LUKS vengono aperti in una posizione del dispositivo speciale chiamata /dev/mapper
. Puoi elencare i file lì per verificare che il tuo vault sia stato aggiunto:
$ ls /dev/mapper
control vaultdrive
Puoi chiudere un volume LUKS in qualsiasi momento utilizzando il close
sottocomando:
$ cryptsetup close vaultdrive
Questo rimuove il volume da /dev/mapper
.
5. Crea un filesystem
Ora che il tuo volume LUKS è stato decrittografato e aperto, devi creare un filesystem lì per archiviare i dati al suo interno. Nel mio esempio, io uso XFS, ma puoi usare ext4 o JFS o qualsiasi filesystem tu voglia:
$ sudo mkfs.xfs -f -L myvault /dev/mapper/vaultdrive
Monta e smonta un volume LUKS
Puoi montare un volume LUKS da un terminale con mount
comando. Supponiamo di avere una directory chiamata /mnt/hd
e vuoi montare il tuo volume LUKS lì:
$ sudo cryptsetup open /dev/sdX vaultdrive
$ sudo mount /dev/mapper/vaultdrive /mnt/hd
LUKS si integra anche nei più diffusi desktop Linux. Ad esempio, quando collego un'unità crittografata alla mia workstation con KDE o al mio laptop con GNOME, il mio file manager mi chiede una passphrase prima di montare l'unità.
La crittografia è protezione
Linux rende la crittografia più facile che mai. È così facile, infatti, che è quasi impercettibile. La prossima volta che formatti un'unità esterna per Linux, considera prima l'utilizzo di LUKS. Si integra perfettamente con il tuo desktop Linux e protegge i tuoi dati importanti dall'esposizione accidentale.