EncryptedFilesystemUsingLUKS » Cronologia » Versione 3
Versione 2 (Amministratore Truelite, 09-05-2006 12:48) → Versione 3/30 (Amministratore Truelite, 09-05-2006 13:14)
[[TracNav(TOC)]] = Come creare un filesystem cifrato usando LUKS = [http://luks.endorphin.org/ LUKS] è un acronimo di "Linux Unified Key Setup" e si propone come lo standard per la crittografia dei dischi in sistemi linux (e non solo), offrendo un formato standard "on-disc", la possibilità di avere più di una coppia chiave-passphrase per l'accesso ed una gestione sicura di tutte le chiavi. Un disco criptato con LUKS, nel caso lo si sia formattato con una filesystem compatibile (es. vfat) è accessibile anche dai sistemi Windows, usando [http://www.freeotfe.org/ FreeOTFE]. La macchina utilizzata al momento della scrittura di questa guida è utilizza una distribuzione GNU/Linux Ubuntu 6.06, relase "Dapper Drake" con kernel 2.6.15; è necessaria una versione di cryptsetup compilata con il supporto LUKS, molto probabilmente la versione attualmente presente in Debian Sid/Unstable dovrebbe andare bene, mentre credo che quella di Sarge non abbia il supporto necessario; è comunque possibile verificare la compatibilità lanciando il comando {{{ "cryptsetup --help" }}} e controllando la presenza delle opzioni relative a LUKS. Nel caso in cui il comando non fosse presente, è sufficente installarlo con {{{ "apt-get install cryptsetup" }}}. A questo punto è possibile iniziare il lavoro di preparazione del dispositivo, in questo caso una chiavetta USB da 128MB, rilevata dal sistema come {{{ "/dev/sda" }}}. La prima cosa da fare è verificare l'affidabilità del dispositivo ed, al tempo stesso, riempire tutto lo spazio disponibile con dei dati casuali rendendo di fatto molto più difficoltosi degli eventuali tentativi di attacco e compromissione del filesystem cifrato che verrà creato in seguito. Prima di iniziare, va tenuto presente il fatto che a seconda della dimensione del disco, questo processo può richiedere molte ore, quindi se dovete lanciarlo su di un disco molto grande, vi conviene farlo prima di andare a dormire. {{{ badblocks -c 10240 -s -w -t random -v /dev/sda }}} Se siete particolarmente paranoici potete utilizzare {{{ "/dev/urandom" }}} come sorgente di dati casuali e riempirci il disco. La casualità dei dati sarà migliore rispetto a quella del metodo precedente, ma l'operazione farà un uso intensivo della CPU e richiederà molte ore. Il comando da eseguire è: {{{ dd if=/dev/urandom of=/dev/sda }}} Successivamente va partizionato il disco. In questo caso l'obiettivo è di creare un'unica partizione che occupi tutto lo spazio disponibile e per farlo ci sono diverse alternative, sia da linea di comando come {{{ "fdisk" }}} o {{{ "cfdisk" }}} che grafiche come {{{ "gparted" }}} e {{{ "qtparted" }}}.