Come eliminare i file in modo sicuro in Linux

Contenuti

Aprire il disco rigido sul vassoio hot swap

Distruggi i vecchi file di dati per lo stesso motivo per cui distruggi i vecchi documenti cartacei. Ti insegniamo quello che vuoi sapere sulla cancellazione sicura dei file Linux. Questo tutorial copre il shred comando e il secure-delete suite di utilità.

I file eliminati sono regolarmente recuperabili

L'eliminazione di un file non lo rimuove effettivamente dal disco rigido. Tutto dipende da come il tuo filesystem usa gli inode. Queste sono le strutture di dati all'interno del file system che contengono i metadati relativi ai file. Il nome del file, la sua posizione sul disco rigido, gli attributi e i permessi che ha, eccetera., sono memorizzati in un inode. Una directory non è altro che un file stesso. Uno che contenga i nomi e i numeri di inode dei file contenuti nella directory.

Quando elimini un file con rm, il filesystem libera l'inode appropriato e regola il file della directory. Questo contrassegna lo spazio sul disco rigido che il file occupava come inutilizzato. Immagina di entrare in una biblioteca e controllare l'indice delle carte, trovi una scheda del catalogo di libri e la strappi. Il libro è ancora sullo scaffale. È solo più difficile da trovare.

In altre parole, lo spazio utilizzato dal file è ora libero da utilizzare per altri file. Ma il contenuto del vecchio file è ancora in quello spazio. Fino a quando quello spazio non viene sovrascritto, è molto probabile che il file possa essere recuperato.

Ma eliminare completamente un file non è facile come sovrascriverlo. Come vedremo.

Non farlo con SSD

Queste tecniche sono per i tradizionali dischi rigidi elettromeccanici (disco fisso) e non deve essere utilizzato con unità a stato solido (SSD). Non funzionerà e causerà scritture extra e usura non necessaria sul tuo SSD. Per eliminare in modo sicuro i dati da un SSD, è necessario utilizzare l'utilità fornita dal produttore dell'SSD.

IMPARENTATO: Come rimuovere file e directory nel terminale Linux

Il comando shred

shred È progettato per esegui la sovrascrittura per te quindi un file cancellato non può essere recuperato. È incluso in tutte le distribuzioni Linux che sono state testate durante l'indagine di questo post., incluso Ubuntu, Fedora e Manjaro.

In questo esempio, lavoreremo in una directory chiamata ~ / ricerca, contenente molti file di testo. Contiene anche alcune altre directory che a loro volta contengono altri file. Daremo per scontato che questi file siano riservati e debbano essere completamente cancellati dal disco rigido.

Possiamo vedere la struttura dell'albero delle directory usando il tree comando come segue. il -d (directory) cause di opzione tree per elencare solo le directory e non per elencare tutti i file. La struttura ad albero delle directory è simile a questa:

albero -d

Distruzione di file singoli

Per distruggere un singolo file, possiamo usare il seguente comando. Le alternative che stiamo usando sono:

  • tuo: Deallocare e rimuovere il file dopo averlo sovrascritto.
  • v: Opzione dettagliata, affinché shred ci dice cosa sta facendo.
  • Insieme a: Esegui una sostituzione dello zero finale.
shred -uvz Preliminary_Notes.txt_01.txt

shred sovrascrive il file quattro volte per impostazione predefinita. I primi tre passaggi utilizzano dati casuali e il passaggio finale utilizza zeri, come richiediamo. Successivamente eliminare il file e sovrascrivere alcuni dei metadati nell'inode

Distruggi facendo quattro passaggi

Impostazione del numero di passaggi di sovrascrittura

possiamo chiedere shred per utilizzare più o meno passaggi di sovrascrittura utilizzando il -n opzione (numero). shred userà sempre almeno un passaggio. Il numero che forniamo qui è il numero di extra passa che richiediamo shred atto. Quindi shred farà sempre un passaggio in più rispetto al numero che gli chiediamo. Per ottenere tre passaggi in totale, richiediamo due ulteriori pass:

shred -uvz -n 2 Preliminary_Notes.txt_02.txt

Come previsto, shred tre passaggi fa.

Meno passaggi, meno triturazione se lo si desidera, è ovviamente più veloce. Ma è meno sicuro?? curiosamente, tre passaggi sono probabilmente più che sufficienti.

IMPARENTATO: Hai solo bisogno di cancellare un disco una volta per cancellarlo in modo sicuro

Distruggere più file

I caratteri jolly possono essere utilizzati con shred per scegliere gruppi di file da eliminare. il * rappresenta più caratteri, e il ? rappresenta un singolo carattere. Questo comando eliminerebbe tutti i file “Note_Preliminari” rimanendo nella directory di lavoro corrente.

shred -uvz -n 2 Preliminari_Note_*.*

I file rimanenti vengono elaborati da shred Successivamente.

shred non ha un'opzione ricorsiva, quindi non può essere utilizzato per rimuovere gli alberi di directory dalle directory nidificate.

Il problema della rimozione sicura dei file

Buono come shred è, c'è un ostacolo. File system di journaling moderni, come ext3 e ext4, fare di tutto per assicurarsi che non si rompano, i dati sono danneggiati o persi. E con i file system journaling, non vi è alcuna garanzia che la sovrascrittura avvenga sullo spazio del disco rigido utilizzato dal file eliminato.

Se tutto ciò che cerchi è la tranquillità di sapere che i file sono stati rimossi in modo un po' più accurato di rm l'avrei fatto, poi shred probabilmente va bene. Ma non commettere l'errore di pensare che i dati siano definitivamente andati e totalmente irrecuperabili.. È molto fattibile no il caso.

IMPARENTATO: Perché non può “Rimozione sicura” un file e cosa fare invece

La suite di rimozione sicura

il secure-delete I comandi tentano di superare i migliori sforzi dei file system journaling e ottenere una sovrascrittura sicura del file. Ma valgono le stesse identiche avvertenze. Non è ancora garantito che la sovrascrittura avvenga nella regione del disco rigido necessaria per eliminare il file di interesse.. Ci sono più possibilità, ma non c'è nessuna garanzia.

il secure-delete I comandi utilizzano la sequenza successiva di sovrascritture e azioni:

  • 1 sovrascrivi con byte di valore 0xFF.
  • 5 sovrascrivi con dati casuali.
  • 27 sovrascrive con valori speciali definiti da Peter Gutmann.
  • 5 più sovrascritture con dati casuali.
  • Rinominare il file con un valore casuale.
  • Tronca il file.

Se tutto ciò ti sembra eccessivo, Sei in buona compagnia. Sembra eccessivo anche a Peter Gutmann, Professore dell'Università di Aukland. Ha pubblicato un post su 1996 discutere di queste tecniche, dove è sorto il mito urbano che è necessario utilizzare contemporaneamente tutte le tecniche discusse in quel documento.

Da allora, Peter Gutmann ha cercato di riportare il genio nella bottiglia dicendo: “Una buona pulizia con dati casuali funzionerà come ci si può aspettare”.

Ma siamo dove siamo, e questa è la serie di tecniche utilizzate dal secure-delete comandi. Ma prima, dobbiamo installarli.

Dispositivo di rimozione sicuro

Utilizzo apt-get per installare questo pacchetto sul tuo sistema se stai usando Ubuntu o un'altra distribuzione basata su Debian. Su altre distribuzioni Linux, usa lo strumento di gestione dei pacchetti della tua distribuzione Linux.

sudo apt-get install secure-delete

Ci sono quattro comandi inclusi nel secure-delete grappolo.

  1. srm è l'assicurazione? rm, utilizzato per eliminare i file eliminandoli e sovrascrivendo lo spazio sul disco rigido.
  2. sfill è uno strumento per sovrascrivere tutto lo spazio libero sul disco rigido.
  3. sswap usato per sovrascrivere e ripulire lo spazio di swap.
  4. sdmem usato per pulire la tua RAM.

Il comando srm

tu usi il srm comando tanto quanto useresti rm comando. Per rimuovere un singolo file, usa il seguente comando. il -z (zeri) cause di opzione smr usa gli zeri per la cancellazione finale invece dei dati casuali. il -v L'opzione (dettagliato) fa srm informaci dei tuoi progressi.

srm -vz Chapter_One_01.txt

La prima cosa che noterai è che srm è lento. Fornisci un feedback visivo mentre funziona, ma è un sollievo quando vedi di nuovo il prompt dei comandi.

Puoi usare -l (ridurre la sicurezza) ridurre il numero di passaggi a due, che accelera notevolmente le cose.

srm -lvz Chapter_One_02.txt

srm ci informa che questo, secondo voi, è meno sicuro, ma cancella e sovrascrive comunque il file per noi.

Puoi usare l'opzione -l (ridurre la sicurezza) due volte per ridurre il numero di passaggi a uno.

srm -llvz Chapter_One_03.txt

Utilizzo di srm con molti file

Possiamo anche usare i caratteri jolly con srm. Questo comando cancellerà e cancellerà le parti rimanenti del capitolo uno:

srm -vc Capitolo_Uno_0?.testo

I file vengono elaborati da srm Successivamente.

Elimina le directory e il loro contenuto con srm

il -r L'opzione (ricorsivo) andrà bene srm rimuovere tutte le sottodirectory e il loro contenuto. Puoi passare il percorso alla prima directory a srm.

In questo esempio, cancelliamo l'intera directory corrente, ~ / ricerca. Ciò significa che tutti i file in ~ / ricerca e tutte le sottodirectory vengono rimosse in modo sicuro.

srm -vz *

srm inizia a elaborare le directory e i file.

Alla fine lo restituisce al prompt dei comandi. Sulla macchina di prova questo post è stato studiato, questo ha richiesto circa un'ora per rimuovere circa 200 file distribuiti tra la directory corrente e tre directory nidificate.

Tutti i file e le sottodirectory sono stati rimossi come previsto.

Il comando sfill

Cosa succede se sei preoccupato per un file che hai cancellato usando rm, come puoi andare su quel vecchio terreno e assicurarti che venga sovrascritto? il sfill Il comando sovrascriverà tutto lo spazio libero sul tuo disco rigido.

Mentre fai questo, noterai che hai sempre meno spazio libero sul tuo disco rigido, al punto in cui non c'è più spazio libero. quando sfill è completato, ti restituisce tutto lo spazio libero. Se gestisci un sistema multiutente, sarebbe molto inquietante, quindi questa è un'attività di manutenzione che deve essere eseguita dopo ore.

Anche su un singolo computer utente, la perdita di spazio sul disco rigido significa che è inutilizzabile una volta sfill ha utilizzato la maggior parte dello spazio. Questo è qualcosa da cui inizieresti e poi te ne andresti.

Per cercare di velocizzare un po' le cose, puoi usare il -l (ridurre la sicurezza) opzione. Le altre opzioni sono -v (dettagliato) e -z (zeri) opzioni che abbiamo visto in precedenza. Qui, stiamo chiedendo sfill per sovrascrivere in sicurezza tutto lo spazio libero nella directory / casa.

sudo sfill -lvz /home

Mettiti comodo. Sul computer di prova, che ha solo un disco rigido di 10 GB, questo è iniziato a metà pomeriggio ed è stato completato a volte la sera.

tremerà per ore. E questo è insieme a il -l (ridurre la sicurezza) opzione. Ma, eventualmente, tornerà al prompt dei comandi.

Il comando di scambio

il sswap il comando sovrascrive l'archiviazione sulla partizione di swap. La prima cosa che dobbiamo fare è identificare la tua partizione di swap. Possiamo farlo con il blkid comando, che elenca i dispositivi a blocchi.

sudo blkid

È necessario individuare la parola “scambio” e annotare il dispositivo di chiusura a cui è collegato.

Possiamo vedere che la partizione di swap è connessa a /dev/sda5.

Dobbiamo disabilitare le scritture su disco sulla partizione di swap per la durata della sovrascrittura. Useremo il swapoff comando:

sudo swapoff /dev/sda5

Ora possiamo usare il sswap comando.

noi useremo /dev/sda5 come parte della riga di comando per sswap comando. Useremo anche il -v (dettagliato) opzione e -ll (ridurre la sicurezza), che abbiamo usato in precedenza.

sudo sswap -llv / dev / sda5

sswap inizia a farsi strada attraverso la tua partizione di swap, sovrascrivendo tutto ciò che contiene. Non ci vuole tanto tempo sfill. Sembra proprio così.

Una volta completato, dobbiamo ripristinare la partizione di swap come spazio di swap attivo. Lo facciamo con il swapon comando:

sudo swapon / dev / sda5

Il comando sdmem

il secure-delete Il pacchetto contiene anche uno strumento per pulire i chip di memoria ad accesso casuale. (RAM) Sul tuo computer.

UN attacco di avvio a freddo hai bisogno dell'accesso fisico al tuo computer poco dopo lo spegnimento. Questo tipo di attacco può, potenzialmente, abilita il recupero dei dati dai tuoi chip RAM.

Se pensi di aver bisogno di proteggerti da questo tipo di attacco, e sarebbe un'esagerazione per la maggior parte delle persone pensare di averne bisogno, puoi rimuovere la RAM prima di spegnere il computer. Useremo il -v (dettagliato) e -ll (ridurre la sicurezza) un'altra volta.

sudo sdmem -vll

La finestra del terminale verrà riempita di asterischi per indicare che sdmem si fa strada attraverso la tua RAM.

L'opzione facile: crittografa semplicemente il tuo disco

Invece di rimuovere i file in modo sicuro, Perché non proteggere il disco rigido o la cartella Inizio tramite la crittografia??

Se lo fa, nessuno può inserire nulla, un file live o un file cancellato. E non devi stare in guardia e ricordarti di eliminare in modo sicuro i file sensibili perché tutti i tuoi file sono già protetti..

La maggior parte delle distribuzioni Linux chiede se si desidera utilizzare la crittografia al momento dell'installazione. Dire “sì” eviterà molti problemi futuri. Non è in grado di gestire informazioni segrete o sensibili. Ma se pensi di poter dare o scambiare il computer con qualcun altro quando hai finito, la crittografia renderà anche più facile.

impostaTimeout(funzione(){
!funzione(F,B,e,v,n,T,S)
{Se(f.fbq)Restituzione;n=f.fbq=funzione(){n.callMethod?
n.callMethod.apply(n,argomenti):n.queue.push(argomenti)};
Se(!f._fbq)f._fbq = n;n.push=n;n.loaded=!0;n.version='2.0′;
n.coda=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(T,S) } (window, documento,'copione',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('dentro', '335401813750447');
fbq('traccia', 'Visualizzazione della pagina');
},3000);

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.