Cifrare completamente un device usb

Cifrare completamente un device usb

Cifrare completamente un device usb ….
Cominciamo con l’individuare la nostra chiave usb

:~#fdisk -l

………

Disco /dev/sdb: 7747 MB, 7747397632 byte
40 testine, 40 settori/tracce, 9457 cilindri, totale 15131636 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x00000000

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    15131635     7564794    c  W95 FAT32 (LBA)
:~#
ecco individuato il mio disco usb, il device è il /dev/sdb

Pertanto cominciamo con il piallarlo poiché è già formattato ed al suo interno c’è una partizione chiamata sdb1

Quindi:

:~# shred -n1 -v /dev/sdb
shred: /dev/sdb: passo 1/1 (random)…
shred: /dev/sdb: passo 1/1 (random)…1,4GiB/7,3GiB 20%
….

In pochi minuti, otteniamo una chiavetta piallata a dovere, non serve che questa venga piallata più volte perché con la cifratura non si riconoscerà comunque la fine del filesystem.

A questo punto dobbiamo istallare il software necessario a cifrare completamente il device.

:~# apt-get install cryptsetup initramfs-tools -y

ed istruire il kernel

:~# echo aes-i586 >>/etc/initramfs-tools/modules
:~# echo dm-crypt >>/etc/initramfs-tools/modules
:~# echo dm-mod >>/etc/initramfs-tools/modules

:~# update-initramfs -k all -u

Purtroppo adesso è necessario riavviare il sistema perché il kernel carichi i giusti moduli.

:~# shutdown -r now
Avremmo potuto usare anche il modprobe, ma preferisco il riavvio, in questo modo i moduli necessari a cifrare completamente il device usb verranno caricati automaticamente in memoria.
…………………………
Quando il sistema si sarà riavviato, possiamo passare alla preparazione ed apertura del disco usb.

:~# cryptsetup luksFormat /dev/sdb

WARNING!
========
Ciò sovrascriverà i dati in /dev/sdb in modo irreversibile.

Are you sure? (Type uppercase yes): YES (scrivere YES tutto maiuscolo)
Inserire la passphrase LUKS: parolachiavedialmenosedicicaratteri
Verify passphrase:parolachiavedialmenosedicicaratteri
:~#
Questo passaggio è necessario a cifrare completamente un device usb.
Il nostro disco è stato cifrato completamente.
Adesso vediamo come poterlo formattare con il filesystem che più ci aggrada.
:~# cryptsetup luksOpen /dev/sdb discocifrato
Inserire la passphrase per /dev/sdb: parolachiavedialmenosedicicaratteri
:~#
Se controlliamo con un fdisk -l noteremo un nuovo device
:~# fdisk -l
…………
Il disco /dev/sdb non contiene una tabella delle partizioni valida

Disco /dev/mapper/discocifrato: 7745 MB, 7745300480 byte
255 testine, 63 settori/tracce, 941 cilindri, totale 15127540 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x90af5154

Il disco /dev/mapper/discocifrato non contiene una tabella delle partizioni valida
:~#
In effetti /dev/sdb è cifrata pertanto il sistema operativo non riconosce in quel device una partition table valida, mentre il device virtuale /dev/mapper/discocifrato lo dobbiamo ancora battezzare, pertanto adesso lo formattiamo come ci pare.
Trattandosi di un disco cifrato consiglio l’utilizzo di un filesystem evoluto come reiserfs o xfs.
Quindi istalliamo il software necessario ad utilizzare i due filesystem e poi provvediamo a formattare.
:~# apt-get install xfsprogs reiserfsprogs -y
formattiamo
:~# mkfs -t xfs /dev/mapper/discocifrato
meta-data=/dev/mapper/discocifrato isize=256 agcount=4, agsize=472736 blks
= sectsz=512 attr=2, projid32bit=0
data = bsize=4096 blocks=1890942, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =nessuno extsz=4096 blocks=0, rtextents=0
:~#
Montiamo la nostra partizione nel punto di mount
:~# mount -t xfs /dev/mapper/discocifrato /mnt
e verifichiamo
:~# mount
……………
/dev/mapper/discocifrato on /mnt type xfs (rw)
:~#
:~# cd /mnt/
:/mnt# ls -la
totale 1
drwxr-xr-x 2 root root 6 lug 30 16:12 .
drwxr-xr-x 29 root root 776 mar 30 18:37 ..
:/mnt#
:/mnt# mkdir pippo
:/mnt# touch foo
:/mnt#
abbiamo creato una directory nel disco cifrato ed un file vuoto.
adesso smontiamo il disco e proviamo a ridecifrarlo
:/mnt# cd
:~#
:~# umount /dev/mapper/discocifrato
:~# cryptsetup luksClose /dev/mapper/discocifrato
A questo punto possiamo sganciare il disco usb.

Proviamo a rimontare il disco manualmente, chiaramente il sistema operativo si accorge che il nostro è un disco cifrato, quindi quando inseriamo la “chiavetta USB” il sistema prova a montarla e ci chiede la passphrase, ma se siamo testardi, facciamo tutto manualmente, quindi chiudiamo l’interfaccia grafica che si apre ed apriamo un terminale.

:~# cryptsetup luksOpen /dev/sdb discocifrato
Inserire la passphrase per /dev/sdb:
:~#
Verifichiamo che /mnt non contenga nulla
:~# ls -la /mnt/
totale 1
drwxr-xr-x 2 root root 48 ott 13 2013 .
drwxr-xr-x 29 root root 776 mar 30 18:37 ..
:~#
Perfetto, adesso montiamo la partizione.
:~# mount /dev/mapper/discocifrato /mnt/
Controlliamo cosa contiene il ns punto di mount
:~# ls -la /mnt/
totale 1
drwxr-xr-x 3 root root 28 lug 30 16:18 .
drwxr-xr-x 29 root root 776 mar 30 18:37 ..
-rw-r–r– 1 root root 0 lug 30 16:18 foo
drwxr-xr-x 2 root root 6 lug 30 16:18 pippo
:~#
OPERAZIONE RIUSCITA
Smontiamo il tutto ed usiamo l’interfaccia grafica per accedere al ns disco.
:~# umount /dev/mapper/discocifrato
:~# cryptsetup luksClose /dev/mapper/discocifrato
:~#
Estraiamo il chiavino usb e reinseriamolo in altra porta per stare tranquilli.

Cifrare completamente un device usbInseriamo la nostra frase segreta ed il disco verrà montato in automatico.
Prima di strappare la chiavetta è necessario smontarla e rimuovere l’unità in sicurezza.


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.