EDIT - OP má pocit, že původní odpověď neodpovídá standardům SE. Nechal to dole. Novější odpověď přímo zde:
Dvě možnosti pro úplné vymazání disku. První z nich využívá možnosti bezpečného vymazání řadiče diskové jednotky, ale ne všechny jednotky tuto možnost mají a některé BIOSy příkaz blokují. Je to rychlejší než druhá možnost.
- Podívejte se na hdparm:
hdparm --security-erase <PWD> <device>
- Podívejte se na vymazání. Vymazání můžete načíst pomocí
apt-get install wipe
a vymažte disk pomocíwipe /dev/sdb1
.
Také je zde mnoho informací o čištění linuxových disků včetně sekcí hdparm
a wipe
.
STARÁ odpověď
Zasáhli jste každou část pohonu? A co odkládací soubory? A co adresáře /tmp? Co se soubory, které již byly smazány? Opravdu potřebujete zasáhnout každý bajt odstraněný nebo ne stále na jednotce, kterou OS aktuálně nepoužívá. A co pak vadné sektory, které ovladač disku automaticky izoloval? K těm se již nedostanete, ale služba obnovy disku to možná zvládne.
Zajímalo by mě, jestli píšete program, který přistupuje přímo k ovladačům diskových zařízení (/dev/disk0 na mém počítači) a odtud je přepisuje. Jednalo by se o relativně malý kousek kódu C. Program by byl načten do RAM a spuštěn, dokud nebude disk vymazán. Poté však OS již nebude fungovat a po restartu rozhodně ne. Takže to můžete udělat pouze jednou.
Ty nejparanoidnější agentury dříve převalovaly a nyní své diskové jednotky fyzicky skartovaly. Někdy lidé nedělají to, co slibují, že udělají.
Jak moc jste paranoidní?
Můžete spustit shred
přímo na uzlu zařízení disku z běžícího systému. Bude to nešťastné a způsobí chyby IO, protože souborový systém je stále připojen k disku, který je naplněn náhodnými daty, ale jako shred
binární a všechny knihovny, na kterých závisí, jsou plně načteny před zahájením procesu, měl by být schopen odolat všemu, co se zhroutí pod chybami IO, a přesto dokončit proceduru mazání.
Všimněte si, že existuje malá pravděpodobnost, že citlivá data budou zapsána zpět na disk po byl vymazán, protože souborový systém je stále připojen ke čtení/zápisu a systém může vyprázdnit vyrovnávací paměti plné důvěrných dat zpět na disk. Chcete-li to zmírnit, znovu připojte souborový systém jako pouze pro čtení, pokud je to možné, i když jsem si docela jistý, že to z kořenového souborového systému po spuštění systému snadno neuděláte. Svůj fstab můžete upravit tak, aby byl připojen pomocí ro
volbu a restartujte (ale ujistěte se, že to vašemu spouštěcímu procesu nevadí a může se alespoň dostat dostatečně daleko, aby spustil SSH server, abyste se mohli připojit), nebo z fyzické konzole/zařízení pro správu mimo pásmo spusťte OS s vlastním příkazovým řádkem jádra linux /boot/vmlinuz... root=/dev/sdX ro quiet init=/bin/sh
který připojí kořenový souborový systém jako pouze pro čtení a spustí holý shell, nikoli proces init, a z něj byste měli být schopni spouštět shred
bez jakýchkoli úniků dat, protože FS je nyní pouze pro čtení.
Pamatujte, že pokud máte na zařízení, které mažete, nastaveny nějaké odkládací oddíly, nezapomeňte je "odpojit" pomocí swapoff /dev/sdXY
(nebo je okomentujte ve fstabu a restartujte počítač) před vymazáním disku, abyste zajistili, že proces proběhne bez problémů. I když chyby I/O nejsou pro již načtený proces fatální, nepořádek s odkládacím oddílem může způsobit úplné zhroucení systému před mazání je dokončeno.
Konečně další možností je příkaz ATA Secure Erase :
hdparm --security-set-pass verysecure /dev/sdX
hdparm --security-erase verysecure /dev/sdX
Za předpokladu, že důvěřujete výrobci disku, že jej implementuje správně, mělo by to stačit, ale vše výše uvedené ohledně úniku dat a odkládacího oddílu stále platí.
Pokud jste opravdu paranoidní, můžete použít jednu metodu, poté restartovat na nějakém instalačním médiu nebo prostředí pro obnovu přes síť (většina poskytovatelů hostingu je má) a provést druhou metodu.