Molti utenti utilizzano MEGA per sincronizzare documenti, backup e file personali tra più dispositivi. Tuttavia, quando si tratta di dati particolarmente sensibili, come database di KeePassXC, configurazioni di accesso remoto, chiavi SSH o certificati, è buona norma cifrarli prima che vengano caricati nel cloud.

In questo articolo vedremo come utilizzare gocryptfs su Debian per creare una cartella cifrata perfettamente integrata con MEGA, mantenendo i file leggibili sul proprio PC ma completamente inutilizzabili per chiunque dovesse ottenere una copia della cartella sincronizzata.

Proteggere i dati sensibili sincronizzati con MEGA usando gocryptfs

Se utilizzi MEGA per sincronizzare i tuoi file nel cloud, potresti voler salvare anche dati sensibili come:

  • Database di KeePassXC
  • Configurazioni di RustDesk
  • Configurazioni di AnyDesk
  • Chiavi SSH
  • Certificati
  • File contenenti password o informazioni riservate

Affidarsi esclusivamente alla cifratura del provider cloud non sempre è la scelta migliore. Una soluzione molto più sicura consiste nel cifrare i dati prima che vengano sincronizzati.

Per questo scopo ho scelto gocryptfs, un filesystem cifrato progettato proprio per cartelle sincronizzate con servizi cloud come MEGA, Dropbox, Nextcloud e simili.


Perché scegliere gocryptfs

A differenza di un contenitore cifrato (ad esempio VeraCrypt), gocryptfs cifra ogni file singolarmente.

Questo significa che:

  • ogni file viene sincronizzato indipendentemente;
  • modificando un solo file, MEGA sincronizzerà solo quel file;
  • non esiste un grosso file contenitore che viene aggiornato continuamente;
  • le prestazioni risultano migliori per piccoli documenti e database.

Nel cloud saranno presenti esclusivamente file con nomi casuali e completamente cifrati.


Struttura delle cartelle

Nel mio caso utilizzerò:

Cartella cifrata sincronizzata da MEGA

/home/mega/privato

Cartella montata in chiaro

/home/sa/privato

I programmi accederanno sempre a /home/sa/privato, mentre MEGA sincronizzerà automaticamente la cartella cifrata /home/mega/privato.


Installazione

sudo apt update
sudo apt install gocryptfs

Verificare l'installazione:

gocryptfs -version

Creazione delle cartelle

sudo mkdir -p /home/mega/privato
sudo mkdir -p /home/sa/privato

sudo chown -R sa:sa /home/mega/privato
sudo chown -R sa:sa /home/sa/privato

Inizializzazione della cartella cifrata

Eseguire il comando come utente sa:

su - sa

gocryptfs -init /home/mega/privato

Il programma chiederà una password.

Questa sarà la password principale che proteggerà tutti i dati.

Al termine verrà mostrata anche la Master Key, che conviene salvare in un luogo sicuro.

Nella cartella compariranno due file:

gocryptfs.conf
gocryptfs.diriv

Sono necessari al funzionamento del filesystem cifrato.


Primo montaggio

gocryptfs /home/mega/privato /home/sa/privato

Inserita la password, la cartella /home/sa/privato mostrerà il contenuto in chiaro.

Per prova:

echo "ciao" > /home/sa/privato/test.txt

Se si osserva la cartella sincronizzata con MEGA:

ls /home/mega/privato

compariranno solamente file cifrati con nomi casuali.


Smontare il filesystem

fusermount -u /home/sa/privato

oppure

umount /home/sa/privato

Montaggio automatico senza richiesta della password

Creare una cartella dedicata:

mkdir -p ~/.config/gocryptfs

Creare il file contenente la password:

nano ~/.config/gocryptfs/password

Inserire esclusivamente la password, senza righe aggiuntive.

Proteggere il file:

chmod 600 ~/.config/gocryptfs/password

A questo punto il filesystem può essere montato automaticamente:

gocryptfs \
-passfile ~/.config/gocryptfs/password \
/home/mega/privato \
/home/sa/privato

Non verrà richiesta alcuna password.


Script di montaggio

Se lo script viene eseguito da root, è importante che il montaggio venga effettuato come utente sa.

#!/bin/bash

mkdir -p /home/sa/privato

if mountpoint -q /home/sa/privato; then
    exit 0
fi

su - sa -c 'gocryptfs -passfile /home/sa/.config/gocryptfs/password /home/mega/privato /home/sa/privato'

Lo script verifica prima che la cartella non sia già montata e, in caso contrario, esegue il montaggio utilizzando l'utente corretto.
Per comodità, salvo lo script con nome "monta_privato.sh" e lo salvo in "/usr/local/bin/", poi posso aggiungerlo all'avvio del desktop nell'apposita sezione.


Considerazioni sulla sicurezza

La password è salvata in un file locale per consentire il montaggio automatico.

Questa soluzione protegge efficacemente:

  • i dati archiviati su MEGA;
  • chiunque ottenga una copia della cartella sincronizzata;
  • eventuali accessi non autorizzati al cloud.

Naturalmente, chi riuscisse ad accedere direttamente al computer con i privilegi dell'utente proprietario potrebbe leggere anche il file contenente la password.

Per un livello di sicurezza ancora superiore è possibile utilizzare il TPM del computer oppure il keyring del sistema operativo per custodire la chiave di cifratura, evitando di salvarla in chiaro sul disco.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *