francescomecca.eu/_posts/2015-06-01-guida-pratica-a-luks.md

148 lines
5.1 KiB
Markdown
Raw Normal View History

2016-05-01 11:13:57 +02:00
---
id: 19
title: Guida pratica a LUKS
date: 2015-06-01T12:14:00+00:00
author: pesceWanda
layout: post
guid: https://provaprova456789.wordpress.com/2015/06/01/guida-pratica-a-luks
permalink: /index.php/archives/19
blogger_blog:
- caught-in-thenet.blogspot.com
blogger_author:
- pescedinomewanda
blogger_a4a2016d1c35883202d5ddff9b0ea4ff_permalink:
- 4407974283692636273
categories:
- PesceWanda
tags:
- crittografia
- guida
- linux
- Luks
- tutorial
---
> <div style="text-align: left;">
> <i>&#8220;When privacy is outlawed, only outlaws will have privacy&#8221;</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 alluso 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 lintegrita`, lefficacia e la robustezza degli algoritmi e lassenza 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>
2017-03-20 00:46:14 +01:00
<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:
2016-05-01 11:13:57 +02:00
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 lalgoritmo 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.
2017-03-20 00:46:14 +01:00
<pre class="wp-code-highlight prettyprint linenums:1">#cryptsetup luksOpen /dev/sda1 testvolume
2016-05-01 11:13:57 +02:00
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>
2017-03-20 00:46:14 +01:00
<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
2016-05-01 11:13:57 +02:00
Command successful.</pre>
<h2 style="text-align: left;">
Formattare la partizione
</h2>
Ora ci si deve assicurare che in caso di unanalisi 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 alluso 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:
2017-03-20 00:46:14 +01:00
<pre class="wp-code-highlight prettyprint linenums:1"># umount /mnt/testvolume
2016-05-01 11:13:57 +02:00
# 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:
2017-03-20 00:46:14 +01:00
<pre class="wp-code-highlight prettyprint linenums:1"># cryptsetup luksAddKey /dev/sda1
Enter any passphrase:
Enter new passphrase for key slot:
2016-05-01 11:13:57 +02:00
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
2017-03-20 00:46:14 +01:00
</p>