Volumi criptati LUKS - Creazione e uso con cryptmount: differenze tra le versioni

m
nessun oggetto della modifica
mNessun oggetto della modifica
Riga 92: Riga 92:


== Preparazione del file o della periferica ==
== Preparazione del file o della periferica ==
Per la preparazione del file system (su file o su periferica a blocchi fisica) criptato secondo LUKS possiamo usare cryptmount se vogliamo caratteristiche base di quest'ultimo. Per avere accesso a un supporto completo di LUKS, come dice il manuale stesso di crytpmount, è necessario usare cryptsetup.
Per la preparazione del file system (su file o su periferica a blocchi fisica) criptato secondo LUKS possiamo usare <code>cryptmount</code> se vogliamo caratteristiche base di quest'ultimo. Per avere accesso a un supporto completo di LUKS, come dice il manuale stesso di <code>cryptmount</code>, è necessario usare <code>cryptsetup</code>.
===Cryptsetup===
 
== Cryptsetup ==
Per preparare un file di dimensione fissata (in base alla quantità e tipo di dati che vorremo salvare cifrati) usiamo il comando <code>dd</code>:<pre>$ dd if=/dev/zero of=/home/nomeutente/immagine_cifrata ibs=1M count=10</pre>
Per preparare un file di dimensione fissata (in base alla quantità e tipo di dati che vorremo salvare cifrati) usiamo il comando <code>dd</code>:<pre>$ dd if=/dev/zero of=/home/nomeutente/immagine_cifrata ibs=1M count=10</pre>
per creare un file da poi usare di 10MB nella home dell'utente ''nomeutente'' (queste dimensioni ridottissime sono adatte a una prova o per pochi dati che possono essere anche spediti in modo sicuro come allegato a un messaggio di posta).
per creare un file da poi usare di 10MB nella home dell'utente ''nomeutente'' (queste dimensioni ridottissime sono adatte a una prova o per pochi dati che possono essere anche spediti in modo sicuro come allegato a un messaggio di posta).
==== File ordinario montato in loop ====
 
=== File ordinario montato in loop ===
Autentichiamoci come root e montiamo il file appena creato in loop. Prima di tutto impostiamo il file appena creato come una loop device (controllare la prima periferica loop libera con <code>losetup -f</code>):
Autentichiamoci come root e montiamo il file appena creato in loop. Prima di tutto impostiamo il file appena creato come una loop device (controllare la prima periferica loop libera con <code>losetup -f</code>):
<pre># /sbin/losetup /dev/loop/0 /home/nomeutente/immagine_cifrata</pre>
<pre># /sbin/losetup /dev/loop/0 /home/nomeutente/immagine_cifrata</pre>
==== Periferica a blocchi fisica ====
 
=== Periferica a blocchi fisica ===
Per chi invece di cifrare un file montato in loop, deve cifrare una block device ordinaria, basta che sappia quale nome le abbia assegnato il kernel (con precisione, perché la procedura seguente cancellerà tutti i dati nella periferica).
Per chi invece di cifrare un file montato in loop, deve cifrare una block device ordinaria, basta che sappia quale nome le abbia assegnato il kernel (con precisione, perché la procedura seguente cancellerà tutti i dati nella periferica).
{{Box|Periferiche|D'ora in poi chiameremo <code>/dev/periferica</code> la block device sulla quale scriveremo i dati cifrati, sia essa la periferica in loop del paragrafo precedente (<code>/dev/loop/0</code>) o una periferica ordinaria}}
{{Box|Periferiche|D'ora in poi chiameremo <code>/dev/periferica</code> la block device sulla quale scriveremo i dati cifrati, sia essa la periferica in loop del paragrafo precedente (<code>/dev/loop/0</code>) o una periferica ordinaria}}
Riga 116: Riga 119:


Command successful.</pre>
Command successful.</pre>
==== Mappare e montare la partizione criptata ====
 
=== Mappare e montare la partizione criptata ===
A questo punto dobbiamo dare istruzioni al device mapper di mappare la periferica LUKS appena creata in una block device virtuale sulla quale scrivere i nostri dati in chiaro (e poi essi saranno scritti cifrati su <code>/dev/periferica</code>):
A questo punto dobbiamo dare istruzioni al device mapper di mappare la periferica LUKS appena creata in una block device virtuale sulla quale scrivere i nostri dati in chiaro (e poi essi saranno scritti cifrati su <code>/dev/periferica</code>):
<pre># cryptsetup luksOpen /dev/periferica criptata</pre>
<pre># cryptsetup luksOpen /dev/periferica criptata</pre>
Riga 124: Riga 128:
<pre># mount -t auto /dev/mapper/criptata /mnt/prova</pre>
<pre># mount -t auto /dev/mapper/criptata /mnt/prova</pre>


==== Rimozione della periferica criptata ====
=== Rimozione della periferica criptata ===
Per rimuovere la periferica cifrata bisogna innanzi tutto smontarla, poi bisogna dire a ''cryptsetup'' di chiudere la periferica (il che automaticamente eliminerà il nodo creato dal device mapper):
Per rimuovere la periferica cifrata bisogna innanzi tutto smontarla, poi bisogna dire a ''cryptsetup'' di chiudere la periferica (il che automaticamente eliminerà il nodo creato dal device mapper):
<pre>
<pre>
Riga 130: Riga 134:
# /sbin/cryptsetup luksClose criptata
# /sbin/cryptsetup luksClose criptata
</pre>
</pre>
==== Rimozione di una loop device ====
 
=== Rimozione di una loop device ===
Nel caso in cui la nostra periferica sia un file montato in loop, è consigliabile eliminare il collegamento che il nostro file immagine ha con la periferica loop cui l'abbiamo associato; questo ci permetterà di spostare o eliminare il file senza creare malfunzionamenti nelle periferiche di loop, così come ci consentirà di aprire nuove periferiche in loop ripartendo dalla numero 0:
Nel caso in cui la nostra periferica sia un file montato in loop, è consigliabile eliminare il collegamento che il nostro file immagine ha con la periferica loop cui l'abbiamo associato; questo ci permetterà di spostare o eliminare il file senza creare malfunzionamenti nelle periferiche di loop, così come ci consentirà di aprire nuove periferiche in loop ripartendo dalla numero 0:
<pre># /sbin/losetup -d /dev/loop0</pre>
<pre># /sbin/losetup -d /dev/loop0</pre>


=== Cryptmount ===
== Cryptmount ==
Il passo di base da compiere con <code>cryptmount</code> è creare il file di configurazione <code>/etc/cryptmount/cmtab</code>. Per questa operazione e per usare l'opzione <code>--generate-key</code> è necessario essere super utente (quello col costumino azzurro attillatissimo sotto i mutandoni rossi...).<br/>
Il passo di base da compiere con <code>cryptmount</code> è creare il file di configurazione <code>/etc/cryptmount/cmtab</code>. Per questa operazione e per usare l'opzione <code>--generate-key</code> è necessario essere super utente (quello col costumino azzurro attillatissimo sotto i mutandoni rossi...).<br/>
La struttura del file è costituita da un nome (utilizzato dal device mapper per identificare un dispositivo) seguito da un blocco racchiuso da parentesi graffe che contiene coppie chiave/valore. È possibile inserire più nomi a cui assegnare il proprio blocco specifico. Ad esempio:
La struttura del file è costituita da un nome (utilizzato dal device mapper per identificare un dispositivo) seguito da un blocco racchiuso da parentesi graffe che contiene coppie chiave/valore. È possibile inserire più nomi a cui assegnare il proprio blocco specifico. Ad esempio:
Riga 179: Riga 184:


Se usiamo un file in loop, creiamolo con il comando <code>dd</code>, esattamente come fatto per cryptsetup.
Se usiamo un file in loop, creiamolo con il comando <code>dd</code>, esattamente come fatto per cryptsetup.
==== Creazione della chiave ====
 
=== Creazione della chiave ===
Diamo a cryptmount, necessariamente da super utente, istruzioni per creare la chiave:
Diamo a cryptmount, necessariamente da super utente, istruzioni per creare la chiave:
<pre>cryptmount --generate-key 32 criptata</pre>
<pre>cryptmount --generate-key 32 criptata</pre>
Si noti che basta indicare a cryptmount <code>criptata</code> non solo durante l'uso ma anche nella fase di creazione.
Si noti che basta indicare a cryptmount <code>criptata</code> non solo durante l'uso ma anche nella fase di creazione.


==== Formattazione ====
=== Formattazione ===
Diciamo a cryptmount di preparare il volume per la formattazione:
Diciamo a cryptmount di preparare il volume per la formattazione:
<pre>cryptmount --prepare criptata</pre>
<pre>cryptmount --prepare criptata</pre>
6 999

contributi