Makuler gamle datafiler av samme grunn som du makulerer gamle papirdokumenter. Vi forteller deg hva du trenger å vite om sikker sletting av Linux-filer. Denne opplæringen dekker shred
kommandoen og secure-delete
pakke med verktøy.
Slettede filer kan normalt gjenopprettes
Slette en fil fjerner den faktisk ikke fraharddisken din. Det er helt ned til måten filsystemet bruker inoder på. Dette er datastrukturene i filsystemet som inneholder metadataene for filene. Navnet på filen, dens plassering på harddisken, hvilke attributter og tillatelser den har, og så videre, er alle lagret i en inode. En katalog er ikke mer enn en fil i seg selv. En som inneholder navnene og inodenumrene til filene som katalogen inneholder.
Når du sletter en fil med rm
frigjør filsystemet riktig inodeog justerer katalogfilen. Dette markerer plassen på harddisken som filen pleide å oppta som ubrukt. Tenk deg at du går inn i et bibliotek og går gjennom kortindeksen, finner en boks katalogkort og river den opp. Boken ligger fortsatt på hylla. Det er bare vanskeligere å finne.
Med andre ord, plassen som ble brukt avfilen er nå gratis å brukes av andre filer. Men innholdet i den gamle filen sitter fortsatt i det rommet. Inntil denne plassen er overskrevet, er det stor sjanse for at filen kan hentes.
Men å bli kvitt en fil er ikke så grei som å overskrive dem. Som vi skal se.
Ikke gjør dette med SSD-er
Disse teknikkene er for tradisjonelleelektromekaniske harddisker (HDD), og skal ikke brukes med solid state-stasjoner (SSD). Det fungerer ikke og vil føre til ekstra skriving og unødvendig slitasje på SSD-en. For å sikkert slette data fra en SSD, bør du bruke verktøyet som tilbys av produsenten av SSD-en.
I SLEKT: Slik sletter du filer og kataloger i Linux-terminalen
Makuleringskommandoen
shred
er designet for å utføre overskrivingen for deg såen slettet fil kan ikke gjenopprettes. Det er inkludert i alle Linux-distribusjoner som ble testet under undersøkelsen for denne artikkelen, inkludert Ubuntu, Fedora og Manjaro.
I dette eksemplet skal vi jobbe i enkatalog kalt ~ / research, som inneholder mange tekstfiler. Den inneholder også noen andre kataloger som igjen inneholder andre filer. Vi kommer til å anta at disse filene er følsomme og må slettes helt fra harddisken.
Vi kan se katalogtrestrukturen ved å bruke tree
kommandoen som følger. De -d
(katalog) alternativet årsaker tree
bare for å vise kataloger, og ikke for å liste opp alle filene. Katalogtrestrukturen ser slik ut:
tree -d
Makulering av en enkelt fil
For å makulere en enkelt fil, kan vi bruke følgende kommando. Alternativene vi bruker er:
- u: Distribuer og fjern filen etter overskriving.
- v: Formulert alternativ, slik at
shred
forteller oss hva det gjør. - z: Utfører en endelig overskriving med nuller.
shred -uvz Preliminary_Notes.txt_01.txt
shred
overskriver filen fire ganger som standard. De tre første passene bruker tilfeldige data, og det siste passet bruker nuller, slik vi ba om. Den fjerner deretter filen og overskriver noen av metadataene i inoden
Angi antall passeringer for overskriving
Vi kan spørre shred
å bruke flere eller færre overskrivingspass ved å bruke -n
(antall) alternativ. shred
vil alltid bruke minst ett pass. Tallet vi oppgir her er antallet ekstra passerer vi krever shred
å fremføre. Så shred
vil alltid gjøre ett pass til enn antallet vi ber om. For å få tre passeringer totalt ber vi om to ekstra passeringer:
shred -uvz -n 2 Preliminary_Notes.txt_02.txt
Som forventet, shred
gjør tre pasninger.
Færre passeringer - færre makuleringer hvis du vil - er åpenbart raskere. Men er det mindre sikkert? Tre pasninger er interessant nok nok mer enn nok.
I SLEKT: Du trenger bare å tørke en disk en gang for å slette den på en sikker måte
Makulering av flere briller
Jokertegn kan brukes med shred
for å velge grupper av filer som skal slettes. De *
representerer flere tegn, og ?
representerer en enkelt karakter. Denne kommandoen vil slette alle de resterende "Preliminære_Notes" -filene i gjeldende arbeidskatalog.
shred -uvz -n 2 Preliminary_Notes_*.*
De resterende filene behandles hver av shred
i sin tur.
shred
har ingen rekursivt alternativ, så den kan ikke brukes til å slette katalogtrær i nestede kataloger.
Problemet med å slette filer sikkert
Så godt som shred
er, det er et problem. Moderne journalfilsystemer som ext3 og ext4 gjør en enorm innsats for å sikre at de ikke går i stykker, blir korrupte eller mister data. Og med journalføring av filsystemer er det ingen garanti for at overskrivingen faktisk foregår over harddiskplassen som brukes av den slettede filen.
Hvis du er ute etter litt ro i sjelen, er filene slettet litt grundigere enn rm
hadde gjort det, da shred
er nok greit. Men ikke gjør feilen ved å tro at dataene definitivt er borte og er fullstendig gjenopprettelige. Det er ganske mulig ikke saken.
I SLEKT: Hvorfor du ikke kan "slette" en fil sikkert, og hva du skal gjøre i stedet
Den sikre slettingssuiten
De secure-delete
kommandoer prøver å overvinne den beste innsatsen frajournalføring av filsystemer og å lykkes med å overskrive filen sikkert. Men nøyaktig de samme advarslene gjelder. Det er fortsatt ingen garanti for at overskrivingen faktisk finner sted over regionen på harddisken at du trenger den for å utslette den interessante filen. Det er større sjanse, men ingen garanti.
De secure-delete
kommandoer bruker følgende sekvens av overskrivinger og handlinger:
- 1 overskrives med 0xFF verdi byte.
- 5 overskriver med tilfeldige data.
- 27 overskriver med spesielle verdier definert av Peter Gutmann.
- 5 flere overskriver med tilfeldige data.
- Gi filen nytt navn til en tilfeldig verdi.
- Avkutt filen.
Hvis alt dette virker overdreven for deg, er du innegodt selskap. Det virker også overdreven for Peter Gutmann, professor ved University of Aukland. Han publiserte en artikkel i 1996 som diskuterte disse teknikkene, hvorfra den urbane myten om at du trenger for å bruke alle teknikkene som ble diskutert i papiret, oppstod samtidig.
Peter Gutmann har siden forsøkt å få genien tilbake i flasken og si "En god skrubbing med tilfeldige data vil gjøre omtrent så godt som kan forventes."
Men vi er der vi er, og dette er en rekke teknikker som brukes av secure-delete
kommandoer. Men først må vi installere dem.
Installerer sikker sletting
Bruk apt-get
å installere denne pakken på systemet ditt hvis du bruker Ubuntu eller en annen Debian-basert distribusjon. Bruk andre Linux-distribusjoner i stedet for pakkehåndteringsverktøyet for Linux.
sudo apt-get install secure-delete
Det er fire kommandoer inkludert i secure-delete
bunt.
-
srm
er en sikkerrm
, brukes til å slette filer ved å slette dem og overskrive harddiskplassen. sfill
er et verktøy for å overskrive all ledig plass på harddisken.sswap
brukes til å overskrive og rense bytteområdet ditt.sdmem
brukes til å rense RAM-en.
SRM-kommandoen
Du bruker srm
kommandoen mye som du ville brukt rm
kommando. For å fjerne en enkelt fil, bruk følgende kommando. De -z
(nuller) alternativ årsaker smr
å bruke nuller for den siste slettingen i stedet for tilfeldige data. De -v
(detaljert) alternativ gjør srm
informer oss om fremdriften.
srm -vz Chapter_One_01.txt
Det første du vil legge merke til er at srm
er sakte. Det gir visuell tilbakemelding mens det fungerer, men det er en lettelse når du ser ledeteksten igjen.
Du kan bruke -l
(reduser sikkerheten) alternativet for å redusere antall passeringer til to, noe som gir raskere hastighet.
srm -lvz Chapter_One_02.txt
srm
informerer oss om at dette - etter sin mening - er mindre sikkert, men det sletter og overskriver filen for oss.
Du kan bruke -l (redusere sikkerhets) -alternativet to ganger for å redusere antall passeringer ned til en.
srm -llvz Chapter_One_03.txt
Bruker srm med flere filer
Vi kan også bruke jokertegn med srm
. Denne kommandoen vil slette og tørke de resterende delene av kapittel ett:
srm -vc Chapter_One_0?.txt
Filene behandles av srm
i sin tur.
Slette kataloger og innhold med srm
De -r
(rekursivt) alternativ vil gjøre srm
slett alle underkataloger og innholdet. Du kan sende stien til den første katalogen til srm
.
I dette eksemplet sletter vi alt den nåværende katalogen, ~ / research. Dette betyr at alle filene i ~ / research og alle underkatalogene er fjernet sikkert.
srm -vz *
srm begynner å behandle kataloger og filer.
Til slutt returnerer du deg til ledeteksten. På testmaskinen som denne artikkelen ble undersøkt om, tok det rundt en time å fjerne rundt 200 filer distribuert mellom den nåværende katalogen og tre nestede kataloger.
Alle filene og underkatalogene ble fjernet som forventet.
Sfill-kommandoen
Hva om du er bekymret for en fil du har slettet ved hjelp av rm, hvordan kan du gå over den gamle bakken og sørge for at den blir overskrevet? De sfill
kommandoen overskriver all ledig plass på harddisken.
Når den gjør dette, vil du legge merke til at du har mindre og mindre ledig plass på harddisken, helt opp til det punktet hvor det ikke er ledig plass i det hele tatt. Når sfill
fullfører, frigjør den all ledig plass tilbaketil deg. Hvis du administrerer et flerbruker-system, vil dette være veldig forstyrrende, så dette er en vedlikeholdsoppgave som skal utføres utenom timer.
Selv på en enkeltbrukerdatamaskin betyr tap av harddiskplass at den er ubrukelig en gang sfill
har brukt mesteparten av plassen. Dette er noe du vil starte og deretter gå bort fra.
For å prøve å få fortgang litt, kan du bruke -l
(reduser sikkerheten). De andre alternativene er -v
(ordentlig) og -z
(nuller) alternativer vi har sett tidligere. Her spør vi sfill
for å overskrive all ledig plass i / home-katalogen på en sikker måte.
sudo sfill -lvz /home
Føl deg som hjemme. På testdatamaskinen - som bare har en 10 GB harddisk - ble denne startet midt på ettermiddagen, og den ble fullført en gang over natten.
Det vil kaste seg i timevis. Og dette er med de -l
(reduser sikkerheten). Men til slutt vil du bli returnert til ledeteksten.
Sswap-kommandoen
De sswap
kommandoen overskriver lagringen i byttepartisjonen din. Det første vi trenger å gjøre er å identifisere byttepartisjonen din. Vi kan gjøre dette med blkid
kommando, som viser blokkeringsenheter.
sudo blkid
Du må finne ordet "bytte" og notere blokkenheten den er festet til.
Vi kan se byttepartisjonen er koblet til /dev/sda5
.
Vi må slå av skriveskriv til byttepartisjonen så lenge overskrivingen varer. Vi vil bruke swapoff
kommando:
sudo swapoff /dev/sda5
Vi kan nå bruke sswap
kommando.
Vi vil bruke /dev/sda5
som en del av kommandolinjen for sswap
kommando. Vi bruker også -v
(detaljert) alternativ og -ll
(reduser sikkerhets) alternativer, som vi brukte tidligere.
sudo sswap -llv /dev/sda5
sswap
begynner å jobbe seg gjennom byttepartisjonen din og overskrive alt det er i den. Det tar ikke så lang tid som sfill
. Det føles bare som det.
Når den er fullført, må vi gjenopprette byttepartisjonen som et aktivt bytteområde. Vi gjør dette med swapon
kommando:
sudo swapon /dev/sda5
SDMEM-kommandoen
De secure-delete
pakken inneholder til og med et verktøy for å tørke Random Access Memory (RAM) -brikkene på datamaskinen din.
Et kaldstartangrep krever fysisk tilgang til datamaskinen din kort tid etter at den er slått av. Denne typen angrep kan potensielt tillate henting av data fra RAM-brikkene dine.
Hvis du tror du trenger å beskytte deg motdenne typen angrep - og det ville være en strekning for folk flest å tro at de trengte det - du kan tørke RAM-minnet ditt før du slår av datamaskinen. Vi bruker -v
(ordentlig) og -ll
(reduser sikkerhets) alternativer en gang til.
sudo sdmem -vll
Terminalvinduet fylles opp med stjerner som en indikasjon på at sdmem
jobber seg gjennom RAM-en.
Det enkle alternativet: Krypter bare stasjonen din
I stedet for å slette filer sikkert, hvorfor ikke sikre harddisken eller hjemmemappen din ved hjelp av kryptering?
Hvis du gjør det, kan ingen få tilgang til noe,om det er en levende fil eller en slettet fil. Og du trenger ikke være på vakt og huske å slette sensitive filer på en sikker måte fordi alle filene dine allerede er beskyttet.
De fleste Linux-distribusjoner spør om du vilbruke kryptering ved installasjonstidspunktet. Å si "ja" vil spare mye fremtidig forverring. Du kan ikke håndtere hemmelig eller sensitiv informasjon. Men hvis du tror du kan gi eller selge datamaskinen til noen andre når du er ferdig med den, vil kryptering forenkle det også.