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.
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