Penna USB invulnerabile

Da Linux@P2P Forum Italia.

Spesso ci capita di salvare i nostri dati importanti in una penna usb. E se questa cadesse in mani sbagliate? Niente paura bastano poche mosse per fare in modo che i nostri dati possano essere letti solo con il nostro consenso.

Segnali009.png Convenzioni Segnali009.png
All'inizio di ogni comando troverete uno di questi due simboli: $ (dollaro) e # (cancelletto). La presenza di $ indica che il comando può essere eseguito anche come normale utente, mentre il simbolo # indica che il comando che lo segue deve essere eseguito con privilegi di amministratore (root). Da utenti normali è possibile divenire root in questo modo: da terminale, si digiti:
$ su

oppure, su Ubuntu e varianti:

$ sudo su

Verrà richiesta la password di amministratore (su Ubuntu e varianti quella dell'utente): per motivi di sicurezza e riservatezza non verrà mostrata durante la digitazione.

A questo punto (si noti # al posto di $, segno che ora si è root) sarà possibile lanciare il comando:

# comando

NOTA: per Ubuntu e varianti, nel caso si necessiti di eseguire solo pochi comandi, esiste un'alternativa: basta far precedere il comando da eseguire da "sudo", in questo modo:

$ sudo comando

Per altre indicazioni sulle convenzioni della linea di comando vedere "introduzione all'uso della shell"

Indice

Prerequisiti

Identificazione della penna

E' necessario anzitutto conoscere il nome con il quale il sistema identifica la nostra penna. Subito dopo averla collegata, digitiamo da Terminale/Shell/Konsole:

$ dmesg | tail

Il comando produrrà righe simili a questa:

sd 1:0:0:0: [sdb] Attached SCSI removable disk

dove, tra parentesi quadre, è indicato appunto il nome della penna.

Cancellazione dei dati

Riempiamo la penna di dati casuali, per assicurarci che quelli memorizzati fino ad ora, non siano più recuperabili:

# dd if=/dev/urandom of=/dev/sdb

nell'esempio, la penna è identificata come sdb;

N.B. Questo comando cancellerà ogni tipo di dato dal supporto indicatogli in modo definitivo, quindi fare molta attenzione a quello che viene digitato nell'opzione of=/dev/***

Installazione e configurazione del programma

Installiamo il programma con il quale si effettuerà la criptazione:

# apt-get install cryptsetup

in questo caso viene usato il gestore pacchetti Apt presente in tutte le distribuzioni Debian e derivate (come Ubuntu). Nel caso in cui utilizziate una distribuzione differente, affidatevi al gestore pacchetti fornito.

Carichiamo i moduli del kernel necessari per il corretto funzionamento del programma:

# modprobe aes
# modprobe dm-crypt
# modprobe dm_mod

Criptazione della penna

Inizializziamo con LUCK (Linux Unified Key Setup) la partizione da criptare:

# cryptsetup luksFormat /dev/sdb

N.B. sostituire l'opzione /dev/sdb con il device scelto per la criptazione

per una maggiore sicurezza sui dati si può anche utilizzare questo comando:

# cryptsetup luksFormat -c aes-cbc-essiv:sha256 -s 256 /dev/sdb

che utilizza l'ESSIV per la crittografia del primo settore e protegge da alcuni tipi di attacco.

È possibile sostituire "aes" con un altro algoritmo (come il serpent) o usare una chiave più corta (es. -s 128) per risparmiare risorse.

Digitiamo YES per confermare e successivamente la passphrase da noi scelta (la seconda volta per conferma).

Stabiliamo il nome del dispositivo in cui la partizione criptata verrà mappata:

# cryptsetup luksOpen /dev/sdb chiaro

N.B ovviamente anche qui sostituire l'opzione /dev/sdb con la partizione scelta e il nome "chiaro" con quello che si vuole

Formattiamo la partizione in ext2 con il comando:

# mkfs.ext2 /dev/mapper/chiaro

nel caso si fosse sostituito precedentemente chiaro con un altra parola sostituirla anche in questa fase.

Creiamo quindi il punto di montaggio della penna:

# mkdir /mnt/cripto

Montiamo la partizione nel punto appena scelto:

# mount /dev/mapper/chiaro /mnt/cripto

A questo punto la nostra penna è accessibile nella directory /mnt/cripto dove possiamo copiare tutti i file che vogliamo.

Per smontare la partizione prima di scollegare la penna, digitare:

# umount /mnt/cripto

e successsivamente :

# cryptsetup luksClose chiaro

Tips e tricks

Per facilitare il procedimento dell'apertura o chiusura della penna è possibile utilizzare questo script:

lo script sottocitato necessita di una modifica nelle parti evidenziate in grassetto per permettere il corretto montaggio o smontaggio della penna quindi controllare prima di effettuare qualsiasi operazione che i parametri siano giusti.

#!/bin/bash 
#Questo programma permette l'utlizzo della penna USB criptata attraverso cryptsetup.
echo
echo "***********************************"
echo "*    USARE PENNA USB CIFRATA      *"
echo "*         BY UBERMENSCH           *"
echo "***********************************"
PS3="Tu hai intenzione di compiere l'operazione:"
echo -e "\n Questo programma ti permette di gestire la tua penna USB criptata \n\n"
select operazione in Apri Chiudi Esci
do
echo
case "$REPLY" in 
1)
echo
cryptsetup luksOpen /dev/sdb chiaro
echo
mount /dev/mapper/chiaro /mnt/cripto
echo -e "\n Ora puoi vedere e modificare il contenuto della penna in /mnt/cripto \n "
;;
2)
echo
umount /mnt/cripto
echo
cryptsetup luksClose chiaro
echo "\n La penna è stata chiusa \n" 
;;
3)
echo -e "\n Grazie per aver scelto il programma e arrivederci \n"
;;
*)
echo "\n Devi digitare 1, 2 o 3... \n"
esac
sleep 3
exit
done
Strumenti personali
Namespace
Varianti
Azioni
Navigazione
CollectionTricks
Siti amici
Strumenti