Qual è il modo più semplice per crittografare una directory? (su Ubuntu)


13

Qual è il modo più semplice per crittografare una directory su un sistema basato su Ubuntu?

Diciamo che ho un laptop che esegue Ubuntu 10.04, e su quello ho alcuni documenti che dovrebbero essere tenuti al sicuro (se perdo il laptop).

Diciamo che tutti i documenti sono in una directory chiamata ~ / work /, e nulla di segreto è al di fuori di questa directory. Quindi non c'è bisogno di crittografare l'intera directory home.

Deve esserci un modo per bloccare / sbloccare questa directory dalla riga di comando.

Sembra che ci siano diversi modi per farlo:

  • ecryptfs-utils
  • cryptsetup
  • TrueCrypt (tuttavia non open source approvato OSI)

Ma qual è il metodo più semplice e affidabile?

Grazie Johan


Aggiornamento : domanda correlata, ma non uguale Qual è il modo più semplice per crittografare tutti i miei file in Ubuntu 10.04?


2
A chi importa se Truecrypt non è approvato OSI? L'approvazione OSI non equivale a un software migliore. TrueCrypt è il migliore in circolazione e ha persino contrastato l'FBI in diversi casi.
TheLQ

3
Il software che utilizza licenze approvate OSI sembra più sicuro.
Johan,

Risposte:


10

Esistono tre metodi: impostare un volume crittografato su una partizione ( dm-crypt, configurato con cryptsetup), impostare un file che è un volume crittografato (TrueCrypt), impostare una directory in cui ogni file è crittografato separatamente ( ecryptfso encfs).

L'impostazione di un volume crittografato offre un po 'più di riservatezza, poiché i metadati (dimensioni, tempo di modifica) dei file sono invisibili. L'aspetto negativo è meno flessibile (devi decidere in anticipo la dimensione del volume crittografato). Le FAQ di ecryptfs elencano alcune differenze tra i due approcci.

Se decidi di crittografare file per file, sono a conoscenza di due opzioni: ecryptfse encfs. Il primo utilizza un driver nel kernel mentre il secondo utilizza FUSE. Questo può dare ecryptfsun vantaggio di velocità; offre encfsun vantaggio in termini di flessibilità in quanto nulla deve essere fatto come root. Un possibile vantaggio ecryptfsè che una volta effettuata la configurazione iniziale, è possibile utilizzare la password di accesso come password del filesystem grazie al pam_ecryptfsmodulo.

Per il mio uso in una situazione simile, ho scelto encfs, perché non ho visto alcun reale vantaggio in termini di sicurezza per altre soluzioni, quindi la facilità d'uso è stata il fattore determinante. Le prestazioni non sono state un problema. Il flusso di lavoro è molto semplice (la prima esecuzione encfscrea il filesystem):

aptitude install encfs
encfs ~/.work.encrypted ~/work
... work ...
fusermount -u ~/work

Ti consiglio anche di crittografare lo spazio di scambio e qualsiasi luogo in cui è possibile scrivere file riservati temporanei, come /tmpe /var/spool/cups(se si stampano file riservati). Utilizzare cryptsetupper crittografare la partizione di swap. Il modo più semplice di gestirlo /tmpè di tenerlo in memoria montandolo come tmpfs(questo può dare un leggero vantaggio in termini di prestazioni in ogni caso).


Non ho pensato a / tmp, ma tmpfs risolve questo problema in modo carino. Basta fare il vero spegnimento: s.
Johan,

1
Grazie per l'insegnamento encfs! È fantastico!
user39559

1

Uso esclusivamente TrueCrypt per queste cose. Approvato dall'OSI o meno, trovo che non mi abbia mai deluso, e ho bisogno della crittografia più volte.


1

Modo semplice e veloce è quello di tare compresse poi bcrypt.

tar cfj safe-archive.tar.bz2 Directory / 
bcrypt safe-archive.tar.bz2 
# ti chiederà due volte una password di 8 caratteri per bloccarla.
# Ma, ricorda di eliminare la tua Directory dopo questo,
rm -rf Directory / 
# E, spero che tu non dimentichi la password o che i tuoi dati siano spariti!

Fa safe-archive.tar.bz2.bfe- che puoi rinominare se ti senti paranoico al riguardo.

Per aprire il pacchetto crittografato,

bcrypt safe-archive.tar.bz2.bf3 # Oppure, come lo hai chiamato
tar xfj safe-archive.tar.bz2 
# E la tua directory è tornata!

Se sei pronto per diventare più disordinato, suggerirei truecrypte fare volumi crittografati.
Ma non penso che sia necessario per i dati regolari (come non legato alla sicurezza nazionale, diciamo).

ps: nota che non sto suggerendo che bcrypt sia debole o incapace di sicurezza nazionale in alcun modo.


Rispondi ai commenti sulla mia risposta sopra.
Ho provato a dare una risposta semplice e sono d'accordo sul fatto che la mia scelta di non suggerire Truecrypt come prima opzione potrebbe essere inappropriata per alcuni qui.

La domanda richiede un modo semplice per crittografare una directory.
La mia misura di sicurezza qui si basa su due cose,

  1. Cosa vuoi proteggere e
  2. Da chi vuoi proteggerlo

Considero questo il livello della tua "paranoia".

Ora, senza dire che TrueCrypt (o altri metodi simili) sono più costosi,
tutto quello che voglio dire è che una sequenza bcrypt eseguita in tmpfs è sufficiente per il tuo uso quotidiano oggi
(non sarà così, probabilmente, tra circa un decennio, io indovina, ma è davvero per ora).
E presumo anche che il valore dei dati protetti qui non sarà comparabile per un tentativo di "recupero" della classe monona-lisa.

Domanda semplice allora: ti aspetti che qualcuno provi ad afferrare il tuo laptop spento e cerchi di recuperare i dati dal suo freddo spazio RAM?
Se lo fai, probabilmente dovresti riconsiderare il tuo hardware e software in primo luogo, controllare a quale ISP ti connetti, chi può ascoltare i tasti premuti e così via.

ps: Mi piace Truecrypt e lo uso. La conformità OSI, o la sua mancanza, non importa davvero. E non sto organizzando bcrypte lo schema proposto qui in concorrenza con esso.


2
Mentre do la risposta +1, per il vero paranoico tra di noi ... a seconda del valore dei tuoi dati questa potrebbe essere una cattiva idea. L'utente deve rendersi conto che questo metodo lascia ovviamente i file della directory eliminata su disco dove possono essere potenzialmente recuperati dai "cattivi". Basta cercare SU per "recuperare i file cancellati in Linux" per vedere quanto sia sicuro ...
hotei

@hotei, sì, Truecryptaffronteremo tali complicazioni. Un altro trucco sarebbe usare un tmpfsmount su RAM per lavorare con la directory crittografata: copiare il bferamdisk, lavorare con esso lì, crittografare di nuovo e salvare l'archivio crittografato nel file system.
nik,

2
Vorrei fare un passo oltre rispetto a @hotei e dire che in realtà non è qualità di crittografia poiché è così facile recuperare i file (esiste un intero mercato dedicato al recupero dei file). La crittografia deve essere crittografia. Questo è solo un falso senso di crittografia
TheLQ

2
@nik: Non solo il metodo nella tua risposta è insicuro come ha spiegato Hotei, ma è anche soggetto a errori (e se dimentichi di rimuovere i file decifrati?). Anche la tua proposta di utilizzo tmpfsè molto rischiosa: cosa succede se ti dimentichi di ricodificare i file e perdere le modifiche? cosa succede se il computer si arresta in modo anomalo (perderai tutte le modifiche)? È anche inutilmente complicato. Esistono molti modi effettivi per risolvere questo problema utilizzando strumenti appropriati, basta usare uno di essi.
Gilles,

1
@nik C'è stata una mostra in un'università vicina che ha mostrato che anche dopo un'ora di spegnimento della RAM, è ancora possibile scorgere un'immagine della Gioconda che è stata caricata nella memoria. A meno che non si riavvii la macchina immediatamente dopo, è semplicissimo recuperare i dati dalla RAM. Truecrypt, IIRC, crittografa la sua RAM.
digitxp

1

Se sei solo preoccupato di perdere il tuo laptop, Ubuntu ti ha ecryptfsgià configurato.

Basta scegliere "home directory crittografata" quando si crea il proprio account utente e dargli una password decente. Questo proteggerà tutto ciò che si trova nella cartella principale.

Sì, crittograferà più di ~/work, ma è senza soluzione di continuità.

Per l' /tmpuso tmpfs.

Professionisti:

  • Non devi fare nient'altro, Ubuntu fa tutto per te.
  • I tuoi amici possono usare il tuo computer in viaggio, avranno bisogno solo di una password se vogliono accedere ai tuoi file.

con:

  • Ci sono altri posti in cui si creano dati sulla perdita: la risposta di Gilles è la più completa (+1 per lui).

Quindi, se non pensi che un esperto forense cercherà di ottenere dati dalle cose che hai stampato, questo è abbastanza buono.

ecryptfspuò crittografare anche lo swap, ma ti consiglio di disabilitare lo swap solo se ti è successo che sei uscito dalla RAM. La vita è migliore senza scambio. (o semplicemente esegui ecryptfs-setup-swape segui le istruzioni per cambiare fstab)


Avvertenza : in ogni caso, a meno che tu non abbia appena ricevuto questo laptop, ci sono già molte cose scritte sul tuo disco rigido. Ho trovato un sacco di cose nelle mie e nulla lo avrebbe chiarito. È necessario eseguire un backup su un'altra unità o partizione, sovrascrivere il file system corrente con zeri e ripristinare i file (ovviamente, ripristinare i file sensibili solo dopo aver impostato la crittografia).


1

Il modo più semplice e veloce per impostare questo è installare ecryptfs-utils e cryptkeeper :

sudo apt-get install ecryptfs-utils cryptkeeper

Quindi, una volta fatto, guarda nel tuo systray. Vedrai un'icona di due chiavi. Fare clic e selezionare Nuova cartella crittografata. Digita il nome e fai clic sul pulsante Avanti (stranamente in basso a sinistra, non a destra). Quindi, digitare la password desiderata, riconfermarla e fare nuovamente clic su Inoltra, quindi su OK.

Questo monterà la cartella crittografata e puoi copiare i file in essa. Al termine, se ci si disconnette o deseleziona quella cartella montata (fare clic sull'icona Chiavi nel systray per farlo), sarà necessario nuovamente una password prima di rimontarla.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.