IoPenSource: Swap-e-tmp-criptate ...

Home Page | Menu | News | Page Index | Ultime Modifiche | Ultimi Commenti | Utenti | Registrazione | Connessione:  Password:  

Swap & Tmp Cryptate


Sei il 236-esimo visitatore


Scritto il 25–01–09 da Peppe La Rosa peppe(dot)larosa(at)programmareweb(dot)com

Scopo:


Credevate che criptando la home directory (o peggio ancora la vostra penna USB) i vostri documenti siano al sicuro da sguardi indiscreti ?
La risposta e' chiaramente NO, ma se un semplice no non vi basta vi fornisco una facile quanto banale argomentazione...
Immaginiamo di avere i nostri dati sensibili memorizzati sotto la home (giustamente) criptata. Inseriamo la password e accediamo ad essa; successivamente apriamo un file riservato qualunque. Automaticamente viene avviato il programma per la visualizzazione del file, che duplichera' quest'ultimo nella directory tmp (che non e' criptata) ; Se poi vogliamo peggiorare le cose, supponiamo che la nostra memoria ram si saturi e che il contenuto del nostro documento venga ulteriormente copiato nell'area di swap.
Risultato: sul disco ci saranno 2 copie non criptate del nostro documento, che hanno buona probabilita' di essere recoverate da un male intensionato anche dopo lo shutdown del computer.
Per tappare la falla sara' necessario criptare tutte le aree del disco dove le nostre informazioni transitano, ovvero :


N.B. Nelle installazioni standard Linux la tmp non viene installata in una partizione separata, cosa assolutamente necessaria per poterla cryptare. In tal caso risulterà' necessario creare una partizione assestante (operazione che esula da questo howto)

Procedimento


Supponendo che abbiate gia' la home criptata dovreste avere il software cryptsetup installato ed i seguenti moduli in /etc/modules :


aes-i586
sha256_generic
dm_mod
dm_crypt!!!!


se cosi' non fosse provvedete a far ciò.
Iniziamo a sostituire la nostra swap in chiaro con quella criptata (discorso analogo per la tmp).
Indivisduiamo la swap attualmente in uso con:


# grep swap /etc/fstab


otterremo un output tipo questo :


/dev/sda3 none swap sw 0 0


identificato il device che identifica la swap (nel mio caso /dev/sda3) procediamo a disattivarla :


# swapoff -a


a questo punto possiamo creare il dispositivo criptato :


# cryptsetup -c aes -s 256 -d /dev/urandom create swap /dev/sda3


l'opzione -c indica l'algoritmo scelto, -s la lunghezza della chiave, il “-d /dev/urandom” indica di creare una chiave random. Questo approccio ci permette di avere una chiave randomica che varia ad ogni boot della macchina e che, neanche l'utente conosce.
Fatto ciò verrà creato il nuovo dispositivo criptato che si chiamerà /dev/mapper/swap e che andrà a sostituire il “vecchio” /dev/sda3.
Procediamo a creare & attivare la partizione di swap con i seguenti comandi


# mkswap /dev/mapper/swap
# swapon /dev/mapper/swap


controlliamo che tutto sia andato per il verso giusto lanciando il comando :


#cat /proc/swaps
Filename Type Size Used Priority
/dev/mapper/swap partition 2923788 0 -1


Se il vostro output sara' analogo al mio potete andare avanti.
A questo punto dobbiamo rendere effettive queste modifiche facendo in modo che la device criptata venga costruita e montata con una nuova chiave ad ogni boot e che, la chiave venga distrutta ad ogni shutdown.
Per far questo cambio in /etc/fstab la stringa /dev/sda3 con /dev/mapper/swap, in modo da far puntare alla nuova device criptata.
Poi intercetto lo script che in fase di boot monta la swap, lanciando il seguendo comando:


#grep “swapon” /etc/init.d/*


trovo il file che si occupa di montare la swap (nel caso di Debian e derivate mountall.sh) prima che lanci swapon inserisco le seguenti righe:

echo Ricreo la chiave per la partizione di swap
/sbin/cryptsetup -c aes -s 256 -d /dev/urandom create swap /dev/sda3
/sbin/mkswap /dev/mapper/swap


analogamente trovo lo script che si occupa di smontare la swap (umountfs in Debian)


#grep swapoff /etc/init.d/*


e aggiungo dopo il comando swapoff le seguenti righe:


# Distrugge la chiave della swap
/sbin/cryptsetup remove swap


Questa istruzione rendera' irreversibilmente inaccessibile i dati della partizione.
E con questo vi saluto e aspetto i vostri feedback e le vostre correzioni.


 
Non c'è alcun file in questa pagina. [Visualizza/invia file]
Non ci sono commenti per questa pagina. [Mostra commenti/forma]