135 lines
No EOL
4.9 KiB
Markdown
135 lines
No EOL
4.9 KiB
Markdown
<!--
|
||
.. title: Guida pratica a LUKS
|
||
.. slug: guida-pratica-a-luks
|
||
.. date: 2015-06-01 12:14:00
|
||
.. tags: crittografia,guida,linux,Luks,tutorial,PesceWanda
|
||
.. category: PesceWanda
|
||
.. link:
|
||
.. description:
|
||
.. type: text
|
||
-->
|
||
|
||
> <div style="text-align: left;">
|
||
> <i>“When privacy is outlawed, only outlaws will have privacy”</i>
|
||
> </div>
|
||
|
||
<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>
|
||
|
||
<h2 style="text-align: left;">
|
||
Preparare la partizione
|
||
</h2>
|
||
|
||
<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>
|
||
|
||
In questo post useremo i parametri di default che sono:
|
||
|
||
<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>
|
||
|
||
ed equivalgono al precedente; se si vuole adottare un livello di sicurezza maggiore e personalizzata si puo\` eseguire
|
||
|
||
<pre class="wp-code-highlight prettyprint linenums:1">#cryptsetup benchmark</pre>
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
La password scelta non puo\` esser in nessun modo recuperata.
|
||
|
||
<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>
|
||
|
||
<h2 style="text-align: left;">
|
||
Formattare la partizione
|
||
</h2>
|
||
|
||
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:
|
||
|
||
<pre class="wp-code-highlight prettyprint linenums:1"># dd if=/dev/zero of=/dev/mapper/testvolume</pre>
|
||
|
||
Poi creare un filesystem, in questo caso ext4
|
||
|
||
<pre class="wp-code-highlight prettyprint linenums:1"># mkfs.ext4 /dev/mapper/testvolume</pre>
|
||
|
||
<h2 style="text-align: left;">
|
||
Montare e chiudere il disco
|
||
</h2>
|
||
|
||
Per montare da /dev/mapper il disco e poterlo utilizzare digitare:
|
||
|
||
<pre class="wp-code-highlight prettyprint linenums:1"># mount /dev/mapper/testvolume /mnt/testvolume</pre>
|
||
|
||
e per chiudere il volume in maniera sicura:
|
||
|
||
<pre class="wp-code-highlight prettyprint linenums:1"># umount /mnt/testvolume
|
||
# cryptsetup luksClose testvolume</pre>
|
||
|
||
<h2 style="text-align: left;">
|
||
Cambiare password
|
||
</h2>
|
||
|
||
LUKS supporta anche piu\` di una password per volume quindi si procede aggiungendo una nuova password:
|
||
|
||
<pre class="wp-code-highlight prettyprint linenums:1"># cryptsetup luksAddKey /dev/sda1
|
||
Enter any passphrase:
|
||
Enter new passphrase for key slot:
|
||
Verify passphrase:</pre>
|
||
|
||
e poi rimuovendo quella precedente:
|
||
|
||
<pre class="wp-code-highlight prettyprint linenums:1"># cryptsetup luksRemoveKey /dev/sda1</pre>
|
||
|
||
Oppure in alternativa si puo\` utilizzare
|
||
|
||
<pre class="wp-code-highlight prettyprint linenums:1">#cryptsetup luksChangekey /dev/sda1</pre>
|
||
|
||
Se si volesse rendere completamente inaccessibile il volume basta rimuovere la chiave attraverso il comando:
|
||
|
||
<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> |