News:

è disponibile MX Linux 23 basata su debian 12 >>> clicca qui

Menu principale

Cifratura cartelle con eCryptFS in modo virtuale

Aperto da maddo, Domenica 05 Aprile 2020, 22:44:09

Discussione precedente - Discussione successiva

maddo

Questa non sarà una guida di come usare eCryptFS, ne esistono già di ben fatte in giro - ad esempio nella ArchWiki: ECryptfs
Voglio invece suggerire un uso "insolito" e un piccolo trucco (in riferimento all'uso della ram come tasca di scambio, di cui parlo QUI)
Dando per scontato che quando si parla di ragionevole "sicurezza", s'intende in ambito casalingo. Insomma, accortezze che dovrebbero bastare ad impedire a mogli/fidanzate/fratelli/colleghi di sbirciare nei nostri file. Se avete un problema con la CIA, forse è meglio essere piu prudenti...  :o

Base
L'uso base è semplicissimo. Si parte da una dir vuota, la si monta con fs "ecryptfs", vi si inseriscono o creano i file da cifrare. Al suo smontaggio, la dir risulterà illeggibile; per renderla usabile, basta rimontarla come prima. E così via.

$ sudo mount -t ecryptfs /mia/dir /mia/dir

Verranno poste alcune domande - la prima è la passphrase - ed il gioco è fatto.

Scenario 1 - HDD non di sistema
Il primo scenario è realizzabile se la dir da trattare si trova su un HDD non di sistema. Si può allora montare la dir decifrata in una cartella in memoria (la "pouch" di cui parlavo nella guida), ottenendo il vantaggio di una velocità delle operazioni nettamente migliore, un alleggerimento al carico del sistema - per eseguire le operazioni primarie non deve schedulare su disco - pur mantenendo l'enorme vantaggio di avere le operazioni immediatamente (velocità di scrittura su disco permettendo) riportate sulla directory originale; che rimane nel contempo cifrata come se nulla fosse.
Questo aumenta anche il fattore sicurezza. Se la tensione dovesse mancare, il sistema crashare (a me non succede da una vita su linux, ma...) eccetera, le modifiche saranno salvate, nonostante stiamo operando per via diretta solo in ram. Inoltre i file header saranno disponibili solo in memoria volatile (anche se eCryptFS offre dei sistemi nativi per ottenere lo stesso risultato).

$ sudo mount -t ecryptfs /punto/montaggio/dircifrata /tmp/miatasca/dircifrata

Ricapitolando: tutto più veloce, carico diminuito, modifiche permanenti mentre la dir su disco rimane cifrata

Scenario 2 - SSD
Il secondo scenario, invece, contempla la dir da trattare locata fisicamente su SSD; in questo caso che sia o meno di sistema diventa trascurabile. Qui il problema più rilevante non è più la velocità, ma l'evitare scritture numerose (e pesanti) sul disco. Le operazioni di cifratura/decifrazione possono essere anche molto pesanti, di conseguenza come ci aiuta la RAM?
Sempre come contenitore temporaneo, ma questa volta un po' meno virtuale: copiamo la dir da trattare nella nostra cartella volatile, da lì facciamo tutto come sempre, la smontiamo e la ricopiamo su disco. È chiaro che in questo caso diventa importante ridurre la massa di cifratura il più possibile, quindi è consigliabile lavorare con sottocartelle e frammentare maggiormente l'albero dei file. Ma anche in modo logico: se quando tratto il file A quasi sempre poi tratto anche il file B nella stessa sezione di cifratura, è ovvio che vadano messi nella stessa cartella.
Quindi, ad esempio:

$ cp -R /punto/montaggio/dircifrata/sottodir /tmp/miatasca/dirtemp
$ sudo mount -t ecryptfs /tmp/miatasca/dirtemp /tmp/miatasca/dirtemp


E si opera normalmente. Finito, si smonta e la dirtemp risulterà cifrata. Ora basta ricopiarla sul disco d'origine.
Volendo è possibile scrivere un piccolo script che automatizzi il più possibile il processo, giusto per evitare di scrivere lunghi percorsi fastidiosi.
Ricapitolando: un po' più veloce, una sola scrittura su SSD

Bene, tutto qui.
Come detto, sono solo suggerimenti. Si accettano migliorie e varianti!
;)

Powered by EzPortal