20110705

Truecrypt da shell con Linux

Un hard disk esterno utilizzato per il backup di dati, spesso sensibili, potrebbe cadere facilmente in mani altrui, soprattutto se è da 2,5'' e lo si porta in giro. Perché non creare un volume criptato utilizzabile con i sistemi operativi più comuni?
Questo è possibile grazie a Truecrypt (Windows, Mac e Linux), uno strumento open-source con il quale è possibile creare partizioni e volumi virtuali criptati. Per gli utenti BSD truecrypt non è presente; tuttavia è possibile utilizzare GEOM Based Disk Encryption (gbde).
Nel mio caso specifico ho avuto necessità di fare un backup di dati sensibili dal mio piccolo server casalingo ad un hard drive usb. Per fare ciò ho scaricato truecrypt dal sito ufficiale, prelevando la versione testuale (senza GUI) poiché utilizzo il server tramite ssh. Per le varie distribuzioni linux sono presenti dei pacchetti tar.bz2 contenti un installer.
Terminata l'installazione si procede con la creazione di un volume criptato utilizzando l'intero disco usb. NB: Assicurasi di avere salvato tutti i dati utili presenti nel disco che si va a formattare.

  1. Eseguire il wizard per creare un volume: truecrypt -c


    Volume type:
    1) Normal
    2) Hidden
    Select [1]: 1

    Per saperne di più su un Hidden Volume.


    Enter volume path: /dev/sdb1

    Specificare il disco e la partizione.


    Enter your user password or administrator password:

    Specificare la password di root o quella utilizzata con sudo. Lanciando il wizard con sudo questa richiesta non si dovrebbe presentare.


    Encryption algorithm:
    1) AES
    2) Serpent
    3) Twofish
    4) AES-Twofish
    5) AES-Twofish-Serpent
    6) Serpent-AES
    7) Serpent-Twofish-AES
    8) Twofish-Serpent
    Select [1]: 1

    Hash algorithm:
    1) RIPEMD-160
    2) SHA-512
    3) Whirlpool
    Select [1]: 1

    L'algoritmo più veloce è AES, quello di hash la scelta è indifferente.

    Filesystem:
    1) None
    2) FAT
    3) Linux Ext2
    4) Linux Ext3
    5) Linux Ext4
    Select [2]: 2

    Personalmente ho utilizzato FAT perchè è un fs semplice e presente quasi dappertutto. Ovviamente i file più grandi di 4GB andranno suddivisi in archivi.

    Enter password:
    Inserire la password che servirà in seguito per poter effettuare il mount del volume criptato. Scegliere una password abbastanza lunga e varia.

    Enter keyfile path [none]:
    Non specificare nulla così come nelle eventuali domande successive. Al termine del wizard partirà la creazione del volume.
  2. Se il wizard si è concluso correttamente, sarà possibile effettuare il mount della partizione criptata: truecrypt --mount
    Saranno richiesti il path della partizione da montare, il mountpoint e la password specificata nel wizard per poter leggere i dati protetti, oltre che la solita password di amministratore.
  3. Per concludere, supponendo di voler smontare il volume è necessario eseguire in sequenza i comandi:

    sync
    umount
    truecrypt -d


    Per comodità, ho inserito questi comandi in un piccolo script per velocizzare l'operazione e non dimenticare niente:

    #!/bin/sh

    if [ -n "$1" ];
    then
    sync
    umount "$1" > /dev/null 2>&1
    /usr/bin/truecrypt -d
    else
    echo "Specificare il mountpoint - es.: /mnt/encrypted"
    fi


La fase di mount si può automatizzare utilizzando un keyfile e di conseguenza anche fstab.
Per quanto mi riguarda preferisco effettuare il mount di persona, almeno fino a quando non mi annoierò :).

No comments:

Post a Comment