GNU/Linux >> Linux Esercitazione >  >> Linux

Come crittografare i file con gocryptfs su Linux

Gocryptfs è un programma di crittografia a livello di file montato su Filesystem in Userspace (FUSE). FUSE montato significa che i file crittografati sono archiviati in un unico albero di directory che viene montato, come una chiave USB, utilizzando l'interfaccia FUSE. Ciò consente a qualsiasi utente di eseguire il montaggio, non è necessario essere root. Poiché gocryptfs esegue la crittografia a livello di file, le operazioni di sincronizzazione che copiano i file possono funzionare in modo efficiente su ciascun file. Ciò contrasta con la crittografia a livello di disco, in cui l'intero disco viene crittografato come un unico BLOB binario di grandi dimensioni.

Quando usi gocryptfs nella sua modalità normale, i tuoi file vengono archiviati sul tuo disco in un formato crittografato. Tuttavia, quando monti i file crittografati, ottieni l'accesso non crittografato ai tuoi file, proprio come qualsiasi altro file sul tuo computer. Ciò significa che tutti i tuoi normali strumenti e programmi possono utilizzare i tuoi file non crittografati. Modifiche, nuovi file ed eliminazioni si riflettono in tempo reale nella versione crittografata dei file archiviati sul disco.

Installa gocryptfs

L'installazione di gocryptfs è facile su Fedora perché è confezionato per Fedora 30 e Rawhide. Pertanto, sudo dnf install gocryptfs fa tutto il lavoro di installazione richiesto. Se non stai usando Fedora, puoi trovare i dettagli sull'installazione dal sorgente, su Debian o tramite Homebrew nel Quickstart.

Inizializza il tuo filesystem crittografato

Il terminale Linux

  • I 7 migliori emulatori di terminale per Linux
  • 10 strumenti da riga di comando per l'analisi dei dati in Linux
  • Scarica ora:cheat sheet SSH
  • Cheat sheet sui comandi avanzati di Linux
  • Esercitazioni sulla riga di comando di Linux

Per iniziare, devi decidere dove vuoi archiviare i tuoi file crittografati. Questo esempio manterrà i file in ~/.sekrit_files in modo che non vengano visualizzati quando si esegue un normale ls .

Inizia inizializzando il filesystem. Ciò richiederà la scelta di una password. Ti consigliamo vivamente di utilizzare una password univoca che non hai mai utilizzato da nessun'altra parte, poiché questa è la tua chiave per sbloccare i tuoi file. Gli autori del progetto raccomandano una password con un'entropia compresa tra 64 e 128 bit. Supponendo che utilizzi lettere e numeri maiuscoli e minuscoli, significa che la tua password dovrebbe essere lunga tra 11 e 22 caratteri. Se stai utilizzando un gestore di password, questo dovrebbe essere facile da realizzare con una password generata.

Quando inizializzi il filesystem, vedrai una chiave univoca. Conserva questa chiave in un posto sicuro, in quanto ti consentirà di accedere ai tuoi file se hai bisogno di recuperare i tuoi file ma hai dimenticato la password. La chiave funziona senza la tua password, quindi mantienila privata!

La routine di inizializzazione è simile alla seguente:

$ mkdir ~/.sekrit_files
$ gocryptfs -init ~/.sekrit_files
Choose a password for protecting your files.
Password:
Repeat:

Your master key is:

    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-
    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX

If the gocryptfs.conf file becomes corrupted or you ever forget your password,
there is only one hope for recovery: The master key. Print it to a piece of
paper and store it in a drawer. This message is only printed once.
The gocryptfs filesystem has been created successfully.
You can now mount it using: gocryptfs .sekrit_files MOUNTPOINT

Se guardi nei ~/.sekrit_files directory, vedrai due file:un file di configurazione e un vettore di inizializzazione a livello di directory univoco. Non sarà necessario modificare manualmente questi due file. Assicurati di non eliminare questi file.

Utilizza il tuo filesystem crittografato

Per utilizzare il tuo filesystem crittografato, devi montarlo. Ciò richiede una directory vuota in cui è possibile montare il filesystem. Ad esempio, usa ~/my_files directory. Come puoi vedere dall'inizializzazione, il montaggio è facile:

$ gocryptfs ~/.sekrit_files ~/my_files
Password:
Decrypting master key
Filesystem mounted and ready.

Se dai un'occhiata a ~/my_files directory, vedrai che è vuota. I file vettoriali di configurazione e inizializzazione non sono dati, quindi non vengono visualizzati. Mettiamo alcuni dati nel filesystem e vediamo cosa succede:

$ cp /usr/share/dict/words ~/my_files/
$ ls -la ~/my_files/ ~/.sekrit_files/
~/my_files/:
.rw-r--r-- 5.0M bexelbie 19 Jul 17:48 words

~/.sekrit_files/:
.r--------@  402 bexelbie 19 Jul 17:39 gocryptfs.conf
.r--------@   16 bexelbie 19 Jul 17:39 gocryptfs.diriv
.rw-r--r--@ 5.0M bexelbie 19 Jul 17:48 xAQrtlyYSFeCN5w7O3-9zg

Nota che c'è un nuovo file in ~/.sekrit_files directory. Questa è la copia crittografata del dizionario in cui hai copiato (il nome del file varia). Sentiti libero di usare cat e altri strumenti per esaminare questi file e sperimentare con l'aggiunta, l'eliminazione e la modifica di file. Assicurati di provare con alcune applicazioni, come LibreOffice.

Ricorda, questo è un mount del filesystem, quindi il contenuto di ~/my_files non vengono salvati su disco. Puoi verificarlo eseguendo mount | grep i miei_file e osservando l'output. Solo i file crittografati vengono scritti sul disco. L'interfaccia FUSE esegue la crittografia e la decrittografia in tempo reale dei file e li presenta alle applicazioni e alla shell come un filesystem.

Smonta il filesystem

Quando hai finito con i tuoi file, puoi smontarli. Ciò fa sì che il filesystem non crittografato non sia più disponibile. I file crittografati in ~/.sekrit_files sono inalterati. Smonta il filesystem usando il programma di montaggio FUSE con fusermount -u ~/my_files .

Esegui il backup dei tuoi dati

Uno dei fantastici vantaggi di gocryptfs che utilizza la crittografia a livello di file è che semplifica il backup dei dati crittografati. I file possono essere archiviati in modo sicuro su un sistema di sincronizzazione, come OwnCloud o Dropbox. Si applica l'esclusione di responsabilità standard relativa alla non modifica contemporanea dello stesso file. Tuttavia, è possibile eseguire il backup dei file anche se sono montati. Puoi anche salvare i tuoi dati in qualsiasi altro modo in cui normalmente esegui il backup dei file. Non hai bisogno di niente di speciale.

Quando esegui i backup, assicurati di includere gocryptfs.diriv file. Questo file non è un segreto e può essere salvato con il backup. Tuttavia, il tuo gocryptfs.conf è un segreto. Quando controlli l'intera catena di backup, ad esempio con il nastro, puoi eseguirne il backup con il resto dei file. Tuttavia, quando viene eseguito il backup dei file nel cloud o pubblicamente, potresti voler omettere questo file. In teoria, se qualcuno ottiene questo file, l'unica cosa che protegge i tuoi file è la forza della tua password. Se hai scelto una password complessa, potrebbe essere sufficiente; tuttavia, devi considerare attentamente la tua situazione. Maggiori dettagli sono in questo problema a monte di gocryptfs.

Bonus:modalità inversa

Una caratteristica interessante di gocryptfs è la funzione della modalità inversa. In modalità inversa, punta gocryptfs sui tuoi dati non crittografati e creerà un punto di montaggio con una vista crittografata di questi dati. Questo è utile per cose come la creazione di backup crittografati. Questo è facile da fare:

$ gocryptfs -reverse -init my_files
Choose a password for protecting your files.
Password:
Repeat:

Your master key is:

    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-
    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX

If the gocryptfs.conf file becomes corrupted or you ever forget your password,
there is only one hope for recovery: The master key. Print it to a piece of
paper and store it in a drawer. This message is only printed once.
The gocryptfs-reverse filesystem has been created successfully.
You can now mount it using: gocryptfs -reverse my_files MOUNTPOINT

$ gocryptfs -reverse my_files sekrit_files
Password:
Decrypting master key
Filesystem mounted and ready.

Ora sekrit_files contiene una visualizzazione crittografata dei tuoi dati non crittografati da my_files . Questo può essere sottoposto a backup, condiviso o gestito secondo necessità. La directory è di sola lettura, poiché non c'è nulla di utile che puoi fare con quei file se non eseguirne il backup.

Un nuovo file, .gocryptfs.reverse.conf , è stato aggiunto a my_files per fornire una visualizzazione crittografata stabile. Questo file di configurazione garantirà che ogni montaggio inverso utilizzi la stessa chiave di crittografia. In questo modo potresti, ad esempio, eseguire il backup solo dei file modificati.

Gocryptfs è uno strumento flessibile di crittografia dei file che ti consente di archiviare i tuoi dati in modo crittografato senza modificare in modo significativo il flusso di lavoro o i processi. Il progetto è stato sottoposto a un controllo di sicurezza e gli sviluppatori hanno esperienza con altri sistemi, come encfs . Ti incoraggio ad aggiungere gocryptfs al tuo sistema oggi stesso e iniziare a proteggere i tuoi dati.


Linux
  1. Come rinominare i file in Linux

  2. Come crittografare una partizione con DM-Crypt LUKS su Linux

  3. Come trovare file con il comando fd in Linux

  4. Come trovare tutti i file che terminano con .rb con Linux?

  5. Come posso copiare la cartella con i file in un'altra cartella in Unix/Linux?

Come rinominare uno o più file in Linux

Come sincronizzare i file con Unison su Linux

Come rimuovere file con estensione specifica in Linux

Come trovare file con il comando fd in Linux

Come scaricare file con il comando Curl in Linux

Come scaricare file con il comando Wget in Linux