6 999
contributi
m (template Autori) |
S3v (discussione | contributi) (esteso paragrafo relativo a cryptmount) |
||
Riga 141: | Riga 141: | ||
== Cryptmount == | == Cryptmount == | ||
Il passo di base da compiere con <code>cryptmount</code> è modificare il file di configurazione <code>/etc/cryptmount/cmtab</code>. Per questa operazione e per usare l'opzione <code>--generate-key</code> è necessario | Il passo di base da compiere con <code>cryptmount</code> è modificare il file di configurazione <code>/etc/cryptmount/cmtab</code>. Per questa operazione e per usare l'opzione <code>--generate-key</code> è necessario avere i privilegi dell'utente [[root]].<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: | ||
<pre> | <pre> | ||
Riga 147: | Riga 147: | ||
chiave=valore | chiave=valore | ||
chiave=valore | chiave=valore | ||
... | ... | ||
} | } | ||
Riga 156: | Riga 153: | ||
chiave=valore | chiave=valore | ||
chiave=valore | chiave=valore | ||
... | ... | ||
} | } | ||
Riga 164: | Riga 158: | ||
... | ... | ||
</pre> | </pre> | ||
; | ;nome:utilizzato dal sistema di mappatura dei dispositivi per identificare ''univocamente'' un dispositivo (sia esso un file o una partizione). Può essere scelto liberamente. | ||
;dev: la partizione da cifrare o il file che conterrà il file system cifrato. Quest'ultimo caso è utile se, ad esempio, si vuole avere un file system cifrato (con all'interno file e directory) senza avere una partizione separata. Questo campo è obbligatorio. | ;dev: la partizione da cifrare o il file che conterrà il file system cifrato. Quest'ultimo caso è utile se, ad esempio, si vuole avere un file system cifrato (con all'interno file e directory) senza avere una partizione separata. Questo campo è obbligatorio. | ||
;fstype: il tipo di file system (ext2, ext3, ext4, etc.) utilizzato per montare il dispositivo cifrato. Questo campo è obbligatorio. | ;fstype: il tipo di file system (ext2, ext3, ext4, etc.) utilizzato per montare il dispositivo cifrato. Questo campo è obbligatorio. | ||
Riga 173: | Riga 167: | ||
;cipher:l'algoritmo di cifratura utilizzato per ottenere il file system cifrato. La scelta varia in base alle proprie necessità, alla capacitò di calcolo della macchina e, ovviamente, alla disponibilità dei moduli di cifratura compilati per il proprio [[kernel]]; una lista è visibile nella directory <code>/proc/crypto</code> . | ;cipher:l'algoritmo di cifratura utilizzato per ottenere il file system cifrato. La scelta varia in base alle proprie necessità, alla capacitò di calcolo della macchina e, ovviamente, alla disponibilità dei moduli di cifratura compilati per il proprio [[kernel]]; una lista è visibile nella directory <code>/proc/crypto</code> . | ||
Nei prossimi paragrafi verranno elencati i passi per creare un file system criptato con LUKS per un'intera partizione oppure per un file system criptato contenuto in un singolo file. | |||
=== File system criptato su partizione === | |||
Se si ha a disposizione una partizione su cui creare un file system criptato, è possibile utilizzarla in modo molto semplice per contenere file e directory cifrate.<br/> | |||
<u>Tutti i file presenti sulla partizione, se non salvati, verranno persi</u>. | |||
==== Creazione di una voce in <code>cmtab</code> ==== | |||
La creazione di una voce nel file <code>/etc/cryptmount/cmtab</code> segue la sintassi per chiave/valore scritta in precedenza. Qui verrà utilizzata questa configurazione da adattare alle proprie necessità: | |||
<pre> | <pre> | ||
partizione_criptata { | |||
keyformat=luks | keyformat=luks | ||
dev=/ | dev=/dev/sda5 | ||
keyfile=/ | keyfile=/dev/sda5 | ||
dir=/ | dir=/home/pippo/crypt | ||
fstype= | fstype=ext4 | ||
mountoptions=defaults | mountoptions=defaults | ||
cipher=aes | cipher=aes | ||
} | } | ||
</pre> | </pre> | ||
in particolare: | |||
;partizione_criptata:è il nome '''univoco''' assegnato che verrà utilizzato da <code>cryptmount</code> per identificare il file system criptato. | |||
;dev=/dev/sda5:è il device associato alla partizione che si intende criptare. Va modificato in base alla partizione scelta. | |||
;dir=/home/pippo/crypt:il punto di mount, ossia la directory "crypt" all'interno della home dell'utente "pippo". Questa directory deve esistere, in caso contrario deve essere creata dal normale utente (quindi '''non''' root) con:<pre>$ mkdir /home/pippo/crypt</pre>Chiaramente si può scegliere liberamente il nome e il [[path]] della directory, purché l'utente ne possegga i permessi di scrittura, e il nome ("pippo" va sostituito con quello del proprio utente). | |||
==== Creazione della chiave ==== | |||
La creazione della chiave viene effettuata tramite il comando "cryptmount --generate-key" eseguito come utente root. Questo comando accetta due parametri: la lunghezza della chiave (espressa in byte) e il nome assegnato in <code>cmatb</code> alla partizione cifrata. | |||
Ad esempio con: | |||
<pre># cryptmount --generate-key 32 partizione_criptata</pre> | |||
Viene generata una chiave di 32 byte (256 bit) per "partizione_criptata".<br/> | |||
La lunghezza della chiave dipende dall'algoritmo di cifratura scelto (in questo caso "aes") tramite il valore "cipher" in "cmtab".<br/> | |||
Consultare il file <code>/proc/crypto</code> per ottenere la lunghezza minima o massima consentita (valori "min keysize" e "max keysize") per un certo algoritmo. Ad esempio, per l'algoritmo "xts" è permessa una lunghezza massima di 64 byte (512 bit). | |||
Durante questa fase verrà chiesto: | |||
#di digitare la parole 'yes" per confermare l'operazione. Questo, come riporta anche il messaggio che apparirà sullo schermo, distruggerà probabilmente tutti i dati presenti sulla partizione scelta. Se si è pensato ad un backup, questa è l'ultima occasione per farlo. | |||
#di inserire per due volte una password a scelta. | |||
==== Creazione del file system ==== | |||
L'operazione finale consiste nella creazione del file system vero e proprio e nella sua mappatura.<br/> | |||
Diciamo a <code>cryptmount</code> di preparare il volume per la creazione del file system: | |||
<pre> | |||
# cryptmount --prepare partizione_criptata | |||
</pre> | |||
Diamo il comando di creazione del file system: | |||
<pre> | |||
# mke2fs -t ext4 /dev/mapper/partizione_criptata | |||
</pre> | |||
{{Box|Nota|Si noti che la periferica su cui scrivere in chiaro e che è poi mappata, attraverso il cifratore, su quella fisica, è in <code>/dev/mapper</code> esattamente come quando si fanno le cose manualmente con cryptsetup, che altro non è che uno strumento più a basso livello per l'interazione con <code>dm_crypt</code>.}} | |||
Chiudiamo la fase di preparazione: | |||
<pre> | |||
# cryptmount --release partizione_criptata | |||
</pre> | |||
=== File system criptato su file === | |||
Nel caso non si abbia una partizione dedicata (o non si voglia crearne una), la scelta di un file come "contenitore" del file system criptato è una soluzione decisamente comoda. Questo approccio ha il vantaggio, oltre a quello di essere semplice da implementare e da gestire, di permettere un'agevole copia del file stesso per esigenze di backup. | |||
==== Creazione di una voce in <code>cmtab</code> ==== | |||
Analogamente a quanto visto per una partizione, è necessario creare una voce nel file <code>/etc/cryptmount/cmtab</code>. Ad esempio: | |||
<pre> | |||
file_criptato { | |||
keyformat=luks | |||
dev=/home/pippo/file_criptato.img | |||
keyfile=/home/pippo/file_criptato.img | |||
dir=/home/pippo/cryptfile | |||
fstype=ext4 | |||
mountoptions=defaults | |||
cipher=aes | |||
} | |||
</pre> | |||
in particolare: | |||
;file_criptato:è il nome '''univoco''' assegnato che verrà utilizzato da <code>cryptmount</code> per identificare il file system criptato. | |||
;dev=/home/pippo/file_criptato.img:è il nome del file che conterrà il file system criptato. Può trovarsi in punto qualunque del file system, purché l'utente vi abbia accesso in scrittura.<br/>Il nome qui scelto ("file_criptato.img") è puramente indicativo. | |||
;dir=/home/pippo/cryptfile:il punto di mount, ossia la directory "cryptfile" all'interno della home dell'utente "pippo". Valgono le stesse considerazioni scritte per un file system criptato su partizione. | |||
==== Creazione del file ==== | |||
A differenza di quanto avveniva per la partizione, in questo caso il file deve essere effettivamente creato con: | |||
<pre> | |||
$ dd if=/dev/zero of=/home/pippo/file_criptato.img bs=1M count=512 | |||
</pre> | |||
Per un file delle dimensioni di circa 512MB.<br/> | |||
Notare che il comando va impartito come '''utente normale'''. | |||
=== Creazione della chiave === | ==== Creazione della chiave ==== | ||
La creazione della chiave è identica a quella già vista per una partizione e valgono ancora le considerazioni precedentemente illustrate, cambia solo il nome identificativo: | |||
<pre>cryptmount --generate-key 32 | <pre> | ||
# cryptmount --generate-key 32 file_criptato | |||
</pre> | |||
=== | ==== Creazione del file system ==== | ||
Anche quest'operazione è in tutto e per tutto identica a quanto visto in precedenza: | |||
<pre>cryptmount --prepare | <pre> | ||
# cryptmount --prepare file_criptato | |||
# mke2fs -t ext4 /dev/mapper/file_criptato | |||
# cryptmount --release file_criptato | |||
</pre> | |||
== Uso del volume cifrato == | == Uso del volume cifrato == | ||
Riga 224: | Riga 281: | ||
|Autore = [[Utente:GipPasso|GipPasso]] | |Autore = [[Utente:GipPasso|GipPasso]] | ||
|Estesa_da= | |Estesa_da= | ||
: [[Utente:S3v|S3v]] | : [[Utente:S3v|S3v]] 15:49, 3 mag 2016 (CEST) (cryptmount) (CEST) | ||
|Verificata_da= | |Verificata_da= | ||
: [[Utente:HAL 9000|HAL 9000]] 18:46, 20 giu 2014 (CEST) | : [[Utente:HAL 9000|HAL 9000]] 18:46, 20 giu 2014 (CEST) |
contributi