pondělí 1. října 2007

Bezpečné smazání dat (Ubuntu)

Předběžné poznámky

Bezpečné smazání dat lze v Ubuntu provést tehdy, pokud váš souborový systém (defaultně Ext3) není v JOURNAL módu (zkontrolujte si soubor /etc/fstab, nesmí tam být DATA=JOURNAL). Ext3 je defaultně nastaven na DATA=ORDERED, což například dle manuálu man shred umožňuje jejich programu plnit danou funkci normálně.

Dále vemte na vědomí, že systém defaultně vytváří pro některé soubory skryté zálohy souboru, poznají se podle tildy (~) za celým názvem souboru (např. u .txt a souborů, otevíraných textovým editorem, ale to lze v editoru vypnout, Upravit > Nastavení > Editor > Vytvářet záložní kopii...). Pokud mažete jakýkoliv důležitý soubor, raději dejte CTRL+H a přesvědčte se, jestli nemá zálohu (začíná stejným řetězcem znaků jako to, co mažete, takže pokud si srovnáte soubory ve složce dle názvu, měla by být hned za souborem, který chcete bezpečně smazat).

A konečně, nejlepší je mít citlivá data na zašifrovaném diskovém oddílu nebo v kontejneru (viz Truecrypt v Ubuntu) a mít tam jako file system FAT32.

I. shred

Pro znečitelnění a případně smazání souboru lze použít nástroj shred (napiš do terminálu man shred), který je součástí Ubuntu. Typické příklady:

shred ~/citlivadata.txt (znečitelní soubor)
shred -u ~/citlivadata.txt (znečitelní + smaže soubor)
shred -u -x ~/citlivadata.txt (-x ... nakonec přepíše soubor nulami, aby se zakryla celá operace)
shred -u -v -n 45 ~/citlivadata.txt (znečitelní + smaže; vypíše co dělá; -n číslo = nastavitelný počet přepisů)

Volby lze psát i zkráceně (-uvxn 45 atp.). Nejrozumnější je asi vždy používat všechny tyto čtyři volby plus nějaké vysoké číslo přepisu. Soubor znečitelníte + smažete, uvidíte, co shred provedl, zakryjete celou operaci, a počet přepisů zřejmě není nikdy dost velký (defaultně je 25).

II. secure-delete (thc)

Dalším programem (instalujte v Synapticu) je secure-delete. Po instalaci máte k dispozici několik nástrojů:
  • srm - mazání souborů (manuál: napiš do Terminálu man srm)
  • sfill - mazání volného místa na disku (man sfill)
  • smem - přepis a vyčištění volné RAM (man smem)
  • sswap - vyčištění swapu (man sswap), musíte mít vypnutý swap!
Doporučuji pročíst si u každého nástroje manuál, kde máte popis, co nástroj umožňuje, a seznam voleb. Dávejte všude volbu -v, program vypíše, co právě dělá. Nyní podrobněji.

srm

Slouží k bezpečnému mazání souborů a adresářů. Příklady:

srm -v ~/tajnosti.txt (bezpečně smaže v uživatelské složce soubor tajnosti.txt)
srm -r -v ~/tajnosti (bezpečně smaže adresář tajnosti, viz -r)

sfill

sfill je velmi důležitý nástroj! Přepíše a smaže tzv. "volné" místo na disku, tj. prostor, kde jsou například soubory takzvaně "smazané" pomocí delete a vysypané z koše, které ještě nebyly přepsány novými daty. Tyto soubory lze snadno obnovit a představují tedy vysoké riziko pro ochranu vašeho soukromí. Možná podoba příkazu:

sudo sfill -v ~/ (maže volné místo disku, vytvoří dočasný "zaplňující" soubor v uživatelské složce; -v = slovní popis průběhu operace)

Sfill začne v zadané složce (zde v uživatelské složce) vytvářet soubor, mající v názvu písmena o. Jakmile tento soubor zaplní celé volné místo na disku, objeví se hláška systému, a pak začne přepisování.

Průchodů je celkem 38, můžete počítat hvězdičky. Doba běhu je minimálně několik hodin, čím slabší hardware a více gigabajtů k přepisu, tím déle operace potrvá. Ne všechny průchody trvají stejně dlouho (struktura všech 38 přepisů viz manuál). Proces běží většinou na plné obrátky, u některých přepisů "uprostřed" operace je vytížení naopak nízké. Protože na hdd není ani bajt volného místa, nelze spustit programy, které odkládají na disk (např. Firefox).

Po skončení přepisu se objeví done (hotovo), hláška o mazání, a konečně finished. Na hdd se automaticky obnoví předešlé volné místo (dočasný zaplňující soubor "zmizí").

sswap

O sswap, který čistí odkládací soubor (swap) na disku, nerad píšu podrobněji, protože je tu jedno zásadní varování - před použitím sswap nutno vypnout swap, jinak hrozí zhroucení systému! :

sudo swapoff -a (vypne swap)

Teprve až úplně skončí mazání swapu, tak ho zase zapněte - příkaz: swapon -a. Pokud poč monitorujete gkrellmem, uvidíte vypnutí / zapnutí swapu na panelu gkrellmu (máte-li sledování swapu aktivované v konfiguraci: Zabudované > Paměť).

Pokud jste totální klikoši tak jako já, raději si nainstalujte Gnome Partition Editor (Gparted) v Aplikace > Přidat / Odstranit. V Gparted můžete swap jednoduše vypnout a zapnout pravým kliknutím na daný graficky znázorněný oddíl a volbou položky v objevivším se menu. Zároveň v Gparted vidíte jméno swapového oddílu disku a nemusíte čučet do souboru /etc/fstab.

Samotný sswap se používá se sudo. Musíte si zjistit jméno oddílu (použijte Gparted, viz výše) a vypsat k němu cestu:

sudo sswap -v /dev/... (obecný příklad)
sudo sswap -v /dev/hda5 (konkrétní příklad - zjistěte si jméno swap oddílu v Gparted nebo v /etc/fstab)

Pak se spustí mazání; díky volbě -v program vypisuje, co provádí. Počítejte pomalu naskakující hvězdičky a neusněte :) Jakmile je mazání swapu hotovo, objeví se za pásem hvězd hláška done a termoš se přepne zpátky na prompt. Teprve teď zase můžete zapnout swap.

smem

smem maže volnou část RAM, kde se mohou nacházet zbytky různých dat. Podle manuálu je to beta verze a mazání paměti může být pěkně pomalé (ale mně jde rychle).

smem -v

Začnou se objevovat hvězdičky. Pomocí CTRL + C můžete mazání předčasně ukončit.

Secure-delete nabízí opravdu zajímavé nástroje k poměrně bezpečnému smazání dat. Použití sfill, sswap (a při mazání velkého souboru i srm) je však na hodně dlouhou dobu. Pokud ji chcete obětovat, tak ok, ale rozumnější je asi zašifrovat celou partišnu Truecryptem (a samozřejmě zablokovat /var/log/auth.log).

Žádné komentáře: