Jun 192012
 

Penso che ogni utente che dispone di una po di abilità sappia che un semplice rm di un file o la cancellazione attraverso un qualsiasi file manager non è sufficiente per eliminarlo davvero dal disco rigido.

In Linux ci sono alcuni strumenti che possono offrire un modo più sicuro per eliminare davvero i vostri file: DBAN se avete bisogno di cancellare completamente una partizione del disco rigido mentre se è sufficiente eliminare alcuni file è possibile utilizzare Shred o Wipe

Shred

La cosa bella di questo piccolo programma è che è già presente nel vostro computer, dalla sua pagina man:

sovrascrive ripetutamente i file specificati in modo da rendere più difficile recuperare i dati anche con indagini hardware molto costose.

Ciò significa che il comando shred è un buon punto di partenza per darci un po’ privacy. In sostanza si va avanti e indietro sul contenuto del file sovrascrivendolo più volte e rendendolo irrecuperabile. Se usato senza specificare nulla, i passaggi sono 25.

La sintassi base è shred filename questo coprirà solo il file senza eliminarlo.
Credo che un esempio aiuterà molto più di una lunga spiegazione:

$ echo "this is my bank password: qwerty12" > mysecret.txt
 
$ cat mysecret.txt 
this is my bank password: qwerty12
 
$ shred mysecret.txt 
 
$ cat  mysecret.txt 
 
XW/h/]g$iU5qt41...
.....
....
a lot of binary garbage

Per eliminare il file dopo la “triturazione”, si può semplicemente aggiungere l’opzione -u e per vedere tutti i passaggi è possibile aggiungere l’opzione -v (verbose).

$shred -vu mysecret.txt 
shred: mysecret.txt: pass 1/3 (random)...
shred: mysecret.txt: pass 2/3 (random)...
shred: mysecret.txt: pass 3/3 (random)...
shred: mysecret.txt: removing
shred: mysecret.txt: renamed to 000000000000
shred: 000000000000: renamed to 00000000000
shred: 00000000000: renamed to 0000000000
shred: 0000000000: renamed to 000000000
shred: 000000000: renamed to 00000000
shred: 00000000: renamed to 0000000
shred: 0000000: renamed to 000000
shred: 000000: renamed to 00000
shred: 00000: renamed to 0000
shred: 0000: renamed to 000
shred: 000: renamed to 00
shred: 00: renamed to 0
shred: mysecret.txt: removed

E se si vuole fare più di 3 passaggi casuali è possibile utilizzare l’opzione -n “numero di passaggi”, così lo scrivere shred -n 50 miofile , farà 50 volte il passaggio casuale su miofile.

ATTENZIONE: ricordarsi che shred si basa su un presupposto molto importante: che il file system sovrascriva i dati sul posto. Questo è il modo tradizionale di fare le cose, ma molti file system moderni non soddisfano questa ipotesi, ad esempio nel caso di file system ext3, questa assunzione non si applica (e shred è quindi di limitata efficacia) solo nel modo data=journal, che esegue il journal dei file di dati in aggiunta ai soli metadati. In entrambi i modi data=ordered (default) e data=writeback, shred lavora come ci si aspetta.

Wipe

Wipe è un programma di utilità per la cancellazione sicura dei file. Ci sono alcuni problemi di basso livello che devono essere presi in considerazione. Uno di questi è che ci deve essere una sorta di barriera di scrittura tra le passate. Wipe utilizza fdatasync (2) (o fsync (2)) come barriera di scrittura, o se fsync (2) non è disponibile, il file viene aperto con il flag O_DSYNC o O_SYNC. Affinchè wipe sia efficace, ciascuna passata deve essere completamente scritta. Per garantire ciò, l’unità deve supportare una qualche forma di barriera di scrittura, lo svuotamento della cache in scrittura, o disabilitare la cache di scrittura. SCSI supporta i tag di comandi ordinati. I drive IDE/ATA supportano scrivere svuota cache ed il disabilitare la cache di scrittura. Sfortunatamente, non tutte le unità disabilitano efefttivamente la cache di scrittura quando gli viene chiesto. Queste unità sono rotte. la cache di scrittura dovrebbe sempre essere disabilitata, a meno che il sistema sia alimentato a batteria e/o non sempre si spenga correttamente.

Una prima qualità di Wipe rispetto a shred è che ha l’opzione -r che lo rende ricorsivo sull’intero contenuto di una directory, facilitando quindi l’eliminazione di molti file. Nella modalità normale, 34 modelli sono utilizzati (di cui 8 sono casuali) per sovrascrivere il file.

A differenza di shred non è di solito installato ma lo si trova facilmente nei repository di molte distribuzioni Linux.

Altre utili opzioni che è possibile utilizzare sono:

-f (forza; disabilita la richiesta di conferma) Per impostazione predefinita wipe chiederà conferma, indicando il numero di file normali e speciali e directory specificati sulla riga di comando. Questo lo disabilita.
-r (ricorsione nelle sottodirectory) consentirà la rimozione della struttura di intere directory. I link simbolici non sono seguite.
-q (quick wipe) Se questa opzione viene utilizzata, wipe effettuerà solo (per default) 4 passaggi per ogni file, con la scrittura di dati casuali. Vedere l’opzione -Q
-Q Imposta il numero di passaggi per wipe quick. Il valore predefinito è 4.

Quindi per esempio potrei usare:

wipe -rfq -Q15 mysecret.txt

Per cancellare il file facendo 15 passaggi casuali.

Conclusioni

Questi strumenti renderanno i vostri file più difficili da recuperare, vi consiglio di leggere questo documento, per avere più informazioni su questo argomento

Popular Posts:

Flattr this!

  4 Responses to “Cancellare in maniera sicura informazioni in Linux”

  1. Just curious how or if these utilities will work on a mounted filesystem that has journaling?

  2. LOL, nevermind….I should have read more.

  3. What about secure remove (srm)?

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*