LA SWAP CIFRATA

SWAP CIFRATA

Swap cifrataSWAP CIFRATA.

Pur avendo una sola parte del disco cifrato, è possibile risalire alla chiave di cifratura leggendo la swap o leggendo alcune parti del giornale del disco.

Come prima cosa, il disco non deve possedere JOURNAL, per fare questo possiamo formattare la nostra partizione in ext2 o in ext3/4 e strappargli il JOURNAL.

Poichè è inutile cifrare una parte del disco, se poi questa può essere aggredita perché non siamo stati abbastanza attenti o perchè abbiamo lasciato tracce della passphrase sul disco, dobbiamo essere sicuri e fare le cose per benino.
In questo precedente articolo https://dibrigida.it/177/montare-un-disco-ssd-sotto-linux/ spiego esattamente come fare per strappare il JOURNAL da un disco formattato in EXT4.
Chiaramente all’epoca non avevo l’intenzione di cifrare un SSD, tuttavia il procedimento da seguire è lo stesso.
Una volta avuto un disco pulito, senza tracce di JOURNAL, andiamo a creare la nostra solita work e la relativa directory che conterrà il file d’immagine, della swap cifrata. Quindi:
# mkdir -p /work/images
# truncate -s 8G /work/images/swap0.swp (io ho una swap di 8Gb, voi potete farla grande quanto volete).
Sconsiglio di creare tanti file di swap cifrata perché ogni file immagine di swap cifrata occupa uno slot loop, quindi è meglio crearne uno solo grande.
A questo punto bisogna formattare il file per farlo sembrare una partizione di swap.
# mkswap /work/images/swap0.swp
Adesso andiamo ad istruire il file fstab dicendogli che abbiamo una swap cifrata
# vi /etc/fstab
e dentro ci mettiamo le nostre informazioni.
/dev/mapper/swap0 none swap sw,pri=10 1 1
salviamo ed usciamo
Adesso è il turno di crypttab, qui mappiamo il file della swap cifrata sulla device decifrata, quindi:
# vi /etc/crypttab
swap0 /work/images/swap0.swp /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256
salviamo ed usciamo.
Vediamo cosa abbiamo fatto, abbiamo detto al crypttab di cifrare il file della swap cifrata prendendo la chiave da /dev/urandom. La chiave, una volta utilizzata non sarà riutilizzabile in futuro perchè ad ogni riavvio questa cambia. Soprattutto nessuno, neppure noi siamo in possesso della chiave 🙂
Adesso diamo un occhio, per l’ultima volta al nostro file in chiaro, dal prossimo riavvio sarà sempre differente.
# cat /work/images/swap0.swp
���@��)FO|�
�B�*SWAPSPACE2
Bene, il nostro è davvero un file di swap, c’è scritto dentro.
Adesso lo cifriamo e lo testiamo.
# /etc/init.d/cryptdisks reload
adesso montiamo la swap
# swapon -a
se tutto è andato per il meglio interrogando la swap cifrata, con il comando:
# cat /proc/swaps
dovremmo ottenere un risultato di questo tipo:
Filename Type Size Used Priority
/dev/dm-0 partition 8388604 0 10

Adesso diamo un sano ed onesto reboot per testare l’effettiva mutazione del file ad ogni riavvio.
#reboot
Quando il riavvio è avvenuto, smontiamo la swap cifrata e ne facciamo una copia fedele, quindi:
# dd if=/work/images/swap0.swp of=/work/images/swap1.swp
al termine conrolliamo se sono uguali
# cd /work/images
# cmp –silent swap0.swp swap1.swp || echo diverso
Se sono uguali non scrive nulla, se sono differenti scrive diverso, in questo caso non scrive nulla.
andiamo a disattivare la swap cifrata dal file fstab di modo che non venga rimontato in automatico.
# vi /etc/fstab
e mattiamo un # davanti alla riga che monta la swap cifrata.
Salviamo ed usciamo, poi:
# reboot
Al termine riguardiamo i nostri due file di prima
# cd /work/images
# cmp –silent swap0.swp swap1.swp || echo diverso
Questa volta, il risultato è immediato 🙂
/work/images # cmp –silent swap0.swp swap1.swp || echo diverso
diverso
Il file di prima del riavvio è completamente differente da questo nuovo
La swap cifrata è davvero una swap cifrata che cambia ad ogni riavvio.
Liberiamo lo spazio
# rm swap1.swp
# sync
Rimontiamo la swap in automatico
# vi /etc/fstab
rimuoviamo il # davanti alla riga che monta la swap cifrata, salviamo e usciamo e pratichiamo l’unico sano ed onesto riavvio.
al termine potremo goderci la nostra swap cifrata.


Commenti

LA SWAP CIFRATA — 2 commenti

  1. Pingback: BOOT UEFI LINUX - Il pensiero di un uomo libero

  2. Pingback: Smontare la home dopo il logout - Il pensiero di un uomo libero

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

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