GNU/Linux >> Linux Esercitazione >  >> Linux

Archivia i file in un'immagine crittografata

Immagina questo scenario:hai file sul tuo computer che preferiresti tenere al sicuro. Tali file potrebbero contenere dati sensibili come password e coordinate bancarie. Tenerli sul tuo computer è una soluzione conveniente; tuttavia, se il tuo computer è stato violato o rubato, qualcuno potrebbe accedere facilmente ai tuoi file se il tuo disco non è stato crittografato. Le password per sbloccare il tuo PC non sono un ostacolo per qualcuno che sa cosa stanno facendo, specialmente le password che sono ridicolmente deboli.

C'è un modo per archiviare i dati sensibili in modo sicuro sul tuo computer con poca preoccupazione. Basta avere un file immagine crittografato di qualsiasi dimensione tu scelga che puoi montare come faresti con qualsiasi altra unità.

Prerequisiti

Dovrai avere cryptmount installato. Cryptmount è lo strumento che verrà utilizzato per creare il filesystem crittografato sulla tua immagine e montare e smontare tale immagine.

Crea l'immagine

Utilizzeremo il comando 'dd' per creare un file di una certa dimensione, diciamo 128 MB. Questo fungerà da unità virtuale in cui archiviare i tuoi file.

$ dd if=/dev/zero of=imageForFiles.img bs=1M count=128

Ciò che fa è semplicemente scrivere un gruppo di zeri in un file con una dimensione del blocco di 1 MB per generare un file da 128 MB (128 blocchi da 1 MB).

Imposta l'immagine per 'cryptmount'

Dopo aver installato cryptmount, dovrai modificare '/etc/cryptmount/cmtab' per creare una voce che configurerà il filesystem che desideri utilizzare per archiviare i file. Avrai bisogno dei privilegi di root per modificare questo file. La pagina man di cryptmount contiene un modello che può essere utilizzato.

Vorremo sostituire "/dev/hdb63" con la posizione della nostra immagine da 128 MB, quindi sostituire "opaco" con qualsiasi nome di destinazione desideri. Ho scelto lo stesso nome del file immagine, seguendo lo schema trovato nella pagina man.

Ho anche cambiato il nome del file chiave per utilizzare lo stesso nome dell'immagine. Gli altri campi che puoi modificare sono il punto di montaggio (dir), le opzioni di montaggio, il tipo di filesystem previsto (fstype), la cifra e il formato della chiave. Per ora, ai fini di questo tutorial, possiamo lasciare queste impostazioni predefinite. Ho cambiato il tipo di filesystem in ext4 ma questo è facoltativo.

Creazione del filesystem

​Una volta creata la voce nel cmtab, possiamo iniziare a preparare il filesystem crittografato. Questi comandi dovranno nuovamente essere eseguiti come root. È qui che iniziamo a usare cryptmount. Innanzitutto, dobbiamo generare la chiave per la crittografia. Generiamo una chiave a 256 bit (32 byte). Qualunque chiave tu decida di scegliere, dovrai assicurarti che sia supportata dalla cifra scelta, per evitare di riscontrare errori. In questo caso, seguiremo la raccomandazione impostata dalla pagina man:

$ sudo cryptmount –generate-key 32 imageForFiles

Ti verrà chiesto di impostare una password per accedere all'immagine. Dopodiché, prepara l'immagine in modo che il filesystem possa essere creato:

$ sudo cryptmount –prepare image

ForFilesQuesto crea il file del dispositivo, '/dev/mapper/imageForFiles', che ci consente di creare un filesystem.

​Il passaggio successivo prevede la creazione del filesystem utilizzando mke2fs. Facciamo riferimento al dispositivo mappato creato da cryptmount per consentire che ciò avvenga.

$ sudo mke2fs /dev/mapper/imageForFiles​

Una volta creato il filesystem, diciamo a cryptmount di rilasciare il dispositivo mapper:

$ sudo cryptmount –release imageForFiles

​Montaggio e smontaggio

​Ora che il filesystem è pronto, possiamo montarlo e archiviare i file nel volume. Il montaggio e lo smontaggio vengono eseguiti utilizzando cryptmount. Se la directory del punto di montaggio non esiste ancora, crearla prima del montaggio:

$ sudo mkdir /home/crypt 

Ovviamente, se è nella tua home directory non è necessario l'accesso come root.

$ cryptmount -m imageForFilesSee

Possiamo usare questa immagine senza accesso come root. Ti verrà richiesta la password quando lo fai. Quindi esegue e2fsck per controllare il filesystem.

Ovviamente, se è nella tua home directory non è necessario l'accesso come root.

$ cryptmount -m imageForFilesSee

Possiamo usare questa immagine senza accesso come root. Ti verrà richiesta la password quando lo fai. Quindi esegue e2fsck per controllare il filesystem.

La tua immagine è montata. Dovrai trasferire la proprietà del "drive" al tuo utente da root per modificare liberamente il contenuto dell'immagine:

$ sudo chown your_username /home/crypt​

Puoi accedere e modificare i file come faresti con qualsiasi altra unità. Una volta terminato, smonta semplicemente:

$ cryptmount -u imageForFiles

I miei consigli

Ho alcuni suggerimenti che potrebbero essere molto utili.

  • Mettere immagini crittografate in una cartella al di fuori della tua home directory (in modo che solo root abbia accesso al file stesso) non è una cattiva idea se sei preoccupato per la sicurezza.
  • Quando assegni un nome ai target nel file cmtab, usa il nome dei file di immagine per evitare confusione.
  • Prova cifrari diversi.

Conclusione

Si spera che questo tutorial abbia evidenziato la semplicità di archiviazione sicura dei dati sensibili sul tuo computer utilizzando immagini crittografate. Le immagini crittografate sul tuo computer sono facili da configurare e ancora più facili da usare cryptmount.


Linux
  1. Esplorazione del filesystem Linux /proc

  2. Come montare un filesystem, mappare gli ID utente?

  3. Recuperare la cartella eliminata nella home crittografata?

  4. Dove vengono archiviati i file di Wine?

  5. 7 Esempi utili di comandi Trova per individuare i file da rimuovere quando un filesystem è pieno

3 modi per estrarre e copiare file dall'immagine ISO in Linux

Come clonare un'immagine del disco crittografata con Clonezilla

File .o vs file .a

wc file compressi con gzip?

Come posso trovare tutti i file hardlink su un filesystem?

Come posso archiviare in modo più sicuro i file ottenuti tramite il mirroring di un sito Web?