Caught in the Net (Posts about linux)francescomecca.euenContents © 2019 <a href="mailto:francescomecca.eu">Francesco Mecca</a> Wed, 06 Mar 2019 09:27:54 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssGuida pratica a LUKSfrancescomecca.eu/blog/2015/6/1/guida-pratica-a-luks/Francesco Mecca<div><blockquote> <p></p><div style="text-align: left;"> <i>“When privacy is outlawed, only outlaws will have privacy”</i> </div> </blockquote> <p style="text-align: right;"> <a href="https://en.wikipedia.org/wiki/Phil_Zimmermann">Phil Zimmerman </a> </p> <p style="text-align: left;"> Questa e` una guida pratica all’uso di LUKS su Linux. </p> <p style="text-align: left;"> LUKS e` un acronimo che sta per Linux Unified Key Setup ed e` il formato standard per il disk-encryption, creato nel 2004, si distingue da molti altri formati crittografici per la particolareggiata documentazione e soprattutto per esser stato sottoposto ad auditing, ovvero il processo di controllo del codice sorgente per verificarne l’integrita`, l’efficacia e la robustezza degli algoritmi e l’assenza di backdoor o bug software critici. </p> <p style="text-align: left;"> Il primo passo per utilizzare LUKS e` installarlo sulla propria distribuzione, o controllare se e` gia` presente. </p> <h3 style="text-align: left;"> Preparare la partizione </h3> <p style="text-align: left;"> In questo esempio la partizione /dev/sda1 viene formattata e sovrascritta. </p> <pre class="wp-code-highlight prettyprint linenums:1"># cryptsetup -y -v luksFormat /dev/sda1 WARNING! ======== This will overwrite data on /dev/sda1 irrevocably. Are you sure? (Type uppercase yes): YES Enter LUKS passphrase: Verify passphrase: Command successful.</pre> <p>In questo post useremo i parametri di default che sono:</p> <pre class="wp-code-highlight prettyprint linenums:1"># cryptsetup -v –cipher aes-xts-plain64 –key-size 256 –hash sha1 –iter-time 1000 –use-urandom –verify-passphrase luksFormat /dev/sda1</pre> <p>ed equivalgono al precedente; se si vuole adottare un livello di sicurezza maggiore e personalizzata si puo` eseguire</p> <pre class="wp-code-highlight prettyprint linenums:1">#cryptsetup benchmark</pre> <p>e scegliere il cypher e l’algoritmo che si preferisce. Si ricorda che il numero relativo alla dimensione della chiave e` la meta` di quello usato da LUKS, ovvero 512 bit in questo caso.</p> <p>Il prossimo comando inizializza il volume dopo aver inserito la chiave per il volume. Il terzo argomento e` il nome che si vuole scegliere per la partizione.</p> <p>La password scelta non puo` esser in nessun modo recuperata.</p> <pre class="wp-code-highlight prettyprint linenums:1">#cryptsetup luksOpen /dev/sda1 testvolume Enter passphrase for /dev/sda1:</pre> <p style="text-align: left;"> Ora /dev/sda1 correttemente inizializzato viene mappato su /dev/mapper/testvolume. Per verificare lo stato del volume: </p> <pre class="wp-code-highlight prettyprint linenums:1"># cryptsetup -v status testvolume /dev/mapper/testvolume is active. type: LUKS1 cipher: aes-cbc-essiv:sha256 keysize: 512 bits device: /dev/sda1 offset: 4096 sectors size: 419426304 sectors mode: read/write Command successful.</pre> <h3 style="text-align: left;"> Formattare la partizione </h3> <p>Ora ci si deve assicurare che in caso di un’analisi esterna ogni dato venga visto come una serie random di zero ed uno senza valore e assicurarsi che non ci sia un leak di informazioni relative all’uso del disco:</p> <pre class="wp-code-highlight prettyprint linenums:1"># dd if=/dev/zero of=/dev/mapper/testvolume</pre> <p>Poi creare un filesystem, in questo caso ext4</p> <pre class="wp-code-highlight prettyprint linenums:1"># mkfs.ext4 /dev/mapper/testvolume</pre> <h3 style="text-align: left;"> Montare e chiudere il disco </h3> <p>Per montare da /dev/mapper il disco e poterlo utilizzare digitare:</p> <pre class="wp-code-highlight prettyprint linenums:1"># mount /dev/mapper/testvolume /mnt/testvolume</pre> <p>e per chiudere il volume in maniera sicura:</p> <pre class="wp-code-highlight prettyprint linenums:1"># umount /mnt/testvolume # cryptsetup luksClose testvolume</pre> <h3 style="text-align: left;"> Cambiare password </h3> <p>LUKS supporta anche piu` di una password per volume quindi si procede aggiungendo una nuova password:</p> <pre class="wp-code-highlight prettyprint linenums:1"># cryptsetup luksAddKey /dev/sda1 Enter any passphrase: Enter new passphrase for key slot: Verify passphrase:</pre> <p>e poi rimuovendo quella precedente:</p> <pre class="wp-code-highlight prettyprint linenums:1"># cryptsetup luksRemoveKey /dev/sda1</pre> <p>Oppure in alternativa si puo` utilizzare</p> <pre class="wp-code-highlight prettyprint linenums:1">#cryptsetup luksChangekey /dev/sda1</pre> <p>Se si volesse rendere completamente inaccessibile il volume basta rimuovere la chiave attraverso il comando:</p> <pre class="wp-code-highlight prettyprint linenums:1">#cryptsetup luksErase /dev/sda</pre> <p style="text-align: left;"> questa opzione non richiede password ed e` irreversibile. </p> <p style="text-align: right;"> Francesco Mecca </p></div>crittografiaguidalinuxLuksPesceWandatutorialfrancescomecca.eu/blog/2015/6/1/guida-pratica-a-luks/Mon, 01 Jun 2015 12:14:00 GMT