Truecrypt® - Installazione per Debian
Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.
Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione. |
Versioni Compatibili Debian 5 "lenny" Debian 6 "squeeze" |
ATTENZIONE: questa guida tratta software potenzialmente non conforme alle Debian Free Software Guidelines. |
Premessa
Truecrypt® [1] (d'ora in avanti indicato come programma) è un'applicazione software per la cifratura simmetrica di dischi (e loro partizioni) o per la creazione di file cifrati che ne emulano partizioni virtuali. Esso è fornito dalla TrueCrypt Developers Association (d'ora in avanti indicato come fornitore) che ne detiene il copyright e ne ha registrato il marchio [2].
Il programma è prelevabile all'indirizzo internet http://www.truecrypt.org/downloads sia in formato binario eseguibile che come codice sorgente per diversi sistemi operativi [3] tra cui GNU/Linux.
Il programma non è disponibile nell'area main
dei repository ufficiali Debian ed è ancora discusso se la sua licenza d'uso [4] possa essere considerata conforme [5][6] alle Debian Free Software Guidelines [7].
Attualmente, nell'ambito del progetto Debian, è in corso la valutazione della possibilità tecnica di realizzare un'installatore che però non è disponibile al momento dell'ultimo aggiornamento della presente guida [8]. Conseguentemente, in Debian GNU/Linux il programma dovrà essere installato necessariamente dal codice sorgente oppure utilizzando il codice binario eseguibile entrambi acquisiti dal fornitore dopo aver opportunamente predisposto il sistema operativo ed aver accettato la licenza d'uso.
Con l'occasione si ricorda che l'ecosistema Debian GNU/Linux offre altre soluzioni software (ad esempio, LUKS [9][10][11]) compatibili con le Debian Free Software Guidelines e le cui funzionalità sono, in parte, analoghe a quelle del programma qui trattato.
Pre-requisiti
I seguenti pre-requisiti sono necessari:
- sistema operativo Debian GNU/Linux già installato [12]
- collegamento configurato e funzionante alla rete dati internet
- sistema di gestione dei repository Debian configurato e funzionante [13]
Obiettivo
Il presente documento intende fornire istruzioni operative esemplificative della compilazione da codice sorgente e successiva installazione del programma con i privilegi di un'utenza ordinaria usando Debian GNU/Linux. Il programma, pertanto, sarà installato localmente al percorso della home directory dell'utenza considerata. Si precisa che la presente guida non intende sostituirsi alla documentazione ufficiale del programma [14] la cui completa e approfondita lettura è in ogni caso fortemente raccomandata.
Istruzioni operative
I comandi indicati sono da eseguire con i privilegi dell'utenza ordinaria tramite cui si intende successivamente avviare il programma adoperando un terminale a carattere in ambiente testuale o grafico: nel codice di seguito riportato è utilizzato a scopo esemplificativo il nome utente utente. Per verificare il proprio nome utente, è possibile impartire il comando:
$ whoami
Quando, per talune operazioni, sono richiesti i privilegi dell'amministratore di sistema, è utilizzato il comando su
nel qual caso ne è richiesta la relativa password. Il simbolo $
rappresenta il prompt del terminale per l'utenza ordinaria (diversa da quella dell'amministratore di sistema e corrispondente a #
).
Acquisizione del codice sorgente e della relativa firma digitale
Il codice sorgente e la firma digitale per la verifica del contenuto devono essere prelevati manualmente dal sito internet del fornitore[15] previa accettazione obbligata della licenza d'uso. In tale guida si assumerà che:
- il file del codice sorgente abbia il nome
"TrueCrypt 7.0a Source.tar.gz"
- la firma digitale per la sua successiva verifica di integrità abbia il nome
"TrueCrypt 7.0a Source.tar.gz.sig"
- il codice sorgente del programma prelevato dal sito internet del fornitore sia stato registrato nella home directory dell'utenza adoperata
Resta inteso che i nomi sopra indicati hanno finalità esemplicativa e, pertanto, i comandi di seguito indicati dovranno essere adattati in funzione di essi.
Predisposizione del sistema operativo
I comandi di seguito indicati installano gli ulteriori programmi e librerie richieste per la compilazione e il funzionamento del programma:
$ su # aptitude install sudo wget build-essential nasm libfuse-dev pkg-config wx2.6-headers libwxgtk2.8-dev # exit
Verifica integrità codice sorgente
I comandi di seguito indicati effettuano il download dei dati relativi alla chiave pubblica del fornitore del programma e la successiva verifica di integrità del file prelevato contenente il codice sorgente:
$ gpg --keyserver subkeys.pgp.net --recv F0D6B1E0 $ gpg --verify "TrueCrypt 7.0a Source.tar.gz.sig" "TrueCrypt 7.0a Source.tar.gz"
In caso di esito negativo (integrità non confermata!), si otterrà, invece, il seguente output:
gpg --verify "TrueCrypt 7.0a Source.tar.gz.sig" "TrueCrypt 7.0a Source.tar.gz" gpg: Signature made dom 05 set 2010 18:47:20 CEST using DSA key ID F0D6B1E0 gpg: BAD signature from "TrueCrypt Foundation <info@truecrypt-foundation.org>"
In caso di esito positivo, si otterrà il seguente output:
gpg: Signature made dom 05 set 2010 18:47:20 CEST using DSA key ID F0D6B1E0 gpg: Good signature from "TrueCrypt Foundation <info@truecrypt-foundation.org>" gpg: aka "TrueCrypt Foundation <contact@truecrypt.org>" gpg: ATTENZIONE: questa chiave non è certificata con una firma fidata! gpg: Non ci sono indicazioni che la firma appartenga al proprietario. Impronta digitale della chiave primaria: C5F4 BAC4 A7B2 2DB8 B8F8 5538 E3BA 73CA F0D6 B1E0
Inoltre, è utile far presente che il download della chiave pubblica del fornitore richiede l'accessibilità della porta internet 11371 e pertanto l'eventuale firewall del computer in cui avviene l'installazione dovrà essere conseguentemente configurato perchè il comando gpg --keyserver subkeys.pgp.net --recv F0D6B1E0
possa aver successo.
Decompressione del file contenente il codice sorgente
In caso di esito positivo del passaggio precedente, si può procedere alla decompressione dell'archivio contenente il codice sorgente impartendo i seguenti comandi:
$ tar xf "TrueCrypt 7.0a Source.tar.gz" $ cd truecrypt-7.0a-source/
Download di ulteriore codice sorgente
I comandi di seguito indicati effettuano il download di ulteriore codice sorgente non disponibile nei repository Debian e richiesto ai fini della compilazione:
$ wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/*.h
Compilazione e linking
I comandi di seguito indicati creano il codice binario eseguibile del programma:
$ export PKCS11_INC=$PWD;make
Installazione
I comandi di seguito indicati copiano (installano) il programma nella directory ~/truecrypt-7.0a
:
$ cd Main $ mkdir -p "$HOME/truecrypt-7.0a" $ cp truecrypt "$HOME/truecrypt-7.0a" $ cd ../..
Il programma, pertanto, sarà installato localmente alla home directory dell'utenza adoperata.
Configurazione di sudo
Il file di configurazione /etc/sudoers
deve essere modificato per istruire il comando sudo
ad eseguire il programma con i privilegi dell'utente 'root' per le operazioni di 'mount' (per maggiori dettagli sul comando sudo
è possibile far riferimento alla specifica guida del forum [16]). A tal fine, si può impartire il comando:
$ su # visudo # exit
Si riporta, a scopo esemplificativo, la configurazione di default di /etc/sudoers
con le necessarie integrazioni (evidenziate in grassetto) e dove al posto di utente dovrà essere riportata il nome utente dell'utenza effettivamente adoperata:
# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # Defaults env_reset # Host alias specification # User alias specification # Cmnd alias specification Cmnd_Alias TC=/home/utente/truecrypt-7.0a/truecrypt --core-service # User privilege specification root ALL=(ALL) ALL utente ALL=TC # Uncomment to allow members of group sudo to not need a password # (Note that later entries override this, so you might need to move # it further down) # %sudo ALL=NOPASSWD: ALL
Aggiunta nome utente al gruppo fuse
Il comando di seguito indicato aggiunge l'utente utente (da sostituire con il nome utente dell'utenza adoperata effettivamente a tal fine) al gruppo fuse:
$ su # adduser utente fuse # exit
Avvio del programma
A questo punto, dopo aver eseguito un logout dal terminale e successivo login, per eseguire il programma è possibile impartire il comando da terminale:
cd "$HOME/truecrypt-7.0a" ./truecrypt
Commenti
I commenti a questo documento sono richiesti e ben accetti; possono essere inoltrati nella sezione [17] del forum. In caso di osservazioni tecniche relativamente alle istruzioni sopra riportate si prega di fornire a corredo un file di log di tutti i comandi impartiti insieme ai relativi output: a tal fine, è possibile ricorrere al comando script
come indicato nella guida per la formulazione dei quesiti tecnici [18].
Riferimenti
- Truecrypt®, Home Page, http://www.truecrypt.org/
- Truecrypt®, Trademarks, http://www.truecrypt.org/legal/trademarks
- Truecrypt®, Supported operating systems, http://www.truecrypt.org/docs/?s=supported-operating-systems
- Truecrypt®, License, http://www.truecrypt.org/legal/license
- Debian Legal Mailing List, http://lists.debian.org/debian-legal/2006/06/msg00294.html
- Debian User Forums, http://forums.debian.net/viewtopic.php?t=4015
- Debian Free Software Guidelines, http://www.debian.org/social_contract#guidelines
- Debian Bug Tracking System, RFP: truecrypt-installer -- Make *.deb packages out of Truecrypt sources, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=413070
- Linux Unified Key Setup, Setup virtual encryption devices under dm-crypt Linux, http://code.google.com/p/cryptsetup/
- Guide@Debianizzati.Org, Volumi criptati LUKS - Creazione e uso con cryptmount, http://guide.debianizzati.org/index.php/Volumi_criptati_LUKS_-_Creazione_e_uso_con_cryptmount
- Guide@Debianizzati.Org, LUKS gestione manuale dei volumi: cryptsetup, http://guide.debianizzati.org/index.php/LUKS_gestione_manuale_dei_volumi:_cryptsetup
- Guide@Debianizzati.Org, Installazione, http://guide.debianizzati.org/index.php/Indice_Guide#Installazione
- Guide@Debianizzati.Org, I repository ed il loro utilizzo, http://guide.debianizzati.org/index.php/I_repository_ed_il_loro_utilizzo
- Truecrypt®, Documentation, http://www.truecrypt.org/docs/
- Truecrypt®, Source code downloads, http://www.truecrypt.org/downloads2
- Guide@Debianizzati.Org, Configurare SUDO per gestire le attività degli amministratori, http://guide.debianizzati.org/index.php/Configurare_SUDO_per_gestire_le_attivit%C3%A0_degli_amministratori
- Forum Debianizzati, Sezione Guide@Debianizzati.Org, Discussione su "Guida per l'installazione di truecrypt(tm)", http://forum.debianizzati.org/viewtopic.php?f=25&t=44285
- Guide@Debianizzati.Org, Come formulare quesiti tecnici al forum, http://guide.debianizzati.org/index.php/Come_formulare_quesiti_tecnici_al_forum
Autore: : Aki