EDIT - OP ritiene che la risposta originale non sia all'altezza degli standard SE. Lasciato sotto. Risposta più recente proprio qui:
Due opzioni per una pulizia completa del disco. Il primo sfrutta le funzionalità di cancellazione sicura del controller dell'unità disco, ma non tutte le unità hanno la capacità e alcuni BIOS bloccano il comando. È più veloce della seconda opzione.
- Dai un'occhiata a hdparm:
hdparm --security-erase <PWD> <device>
- Controlla la cancellazione. Puoi recuperare wipe con
apt-get install wipe
e cancella un disco conwipe /dev/sdb1
.
Inoltre, qui ci sono molte informazioni sulla cancellazione delle unità Linux, comprese le sezioni su hdparm
e wipe
.
VECCHIA risposta
Hai colpito ogni parte del disco? E i file di scambio? E le directory /tmp? E i file che sono già stati eliminati? Hai davvero bisogno di colpire ogni byte cancellato o non ancora sull'unità non attualmente utilizzata dal sistema operativo. Quindi, che dire dei settori danneggiati che il driver del disco ha isolato automaticamente? Non puoi più raggiungerli, ma un servizio di ripristino dell'unità potrebbe essere in grado di farlo.
Mi chiedo se scrivi un programma che acceda direttamente ai driver del dispositivo del disco (/dev/disk0 sulla mia macchina) e lo sovrascriva da lì. Sarebbe un bit relativamente piccolo di codice C. Il programma verrebbe letto nella RAM ed eseguito fino a quando il disco non viene cancellato. Tuttavia, il sistema operativo non funzionerà più dopo, e sicuramente non dopo il riavvio. Quindi, puoi farlo solo una volta.
Le agenzie più paranoiche erano solite schiacciare e ora distruggere fisicamente le loro unità disco. A volte le persone non fanno ciò che promettono di fare.
Quanto sei paranoico?
Puoi eseguire shred
direttamente sul nodo del dispositivo del disco dal sistema in esecuzione. Sarà infelice e genererà errori IO poiché il filesystem è ancora montato su un disco pieno di dati casuali, ma come shred
binario e tutte le librerie da cui dipende sono completamente caricate prima dell'avvio del processo, dovrebbe essere in grado di resistere a tutto il resto che crolla sotto gli errori di IO e completare comunque la procedura di cancellazione.
Tieni presente che c'è una piccola possibilità che i dati sensibili vengano riscritti sul disco dopo è stato cancellato poiché il filesystem è ancora montato in lettura/scrittura e il sistema potrebbe scaricare i buffer pieni di dati riservati sul disco. Per mitigare ciò, rimonta il filesystem come di sola lettura se puoi, anche se sono abbastanza sicuro che non puoi farlo facilmente dal filesystem di root una volta che il sistema è in esecuzione. Puoi modificare il tuo fstab per montarlo usando ro
opzione e riavvia (ma assicurati che il tuo processo di avvio non se ne preoccupi e per lo meno possa arrivare abbastanza lontano da avviare un server SSH in modo da poterti connettere), o da una console fisica/dispositivo di gestione fuori banda, avvia il sistema operativo con una riga di comando del kernel personalizzata linux /boot/vmlinuz... root=/dev/sdX ro quiet init=/bin/sh
che monta il filesystem root in sola lettura e avvia una shell nuda anziché il processo init, e da esso dovresti essere in grado di eseguire shred
senza fughe di dati dato che ora FS è di sola lettura.
Nota che se hai delle partizioni di swap configurate sul dispositivo che stai cancellando, assicurati di "smontarle" con swapoff /dev/sdXY
(o commentandoli in fstab e riavviando) prima di cancellare il disco per garantire che il processo possa essere completato senza problemi. Anche se gli errori di I/O non sono fatali per un processo già caricato, fare confusione con la partizione di swap può causare il crash completo del sistema prima la cancellazione è completata.
Infine un'altra opzione è il comando ATA Secure Erase :
hdparm --security-set-pass verysecure /dev/sdX
hdparm --security-erase verysecure /dev/sdX
Supponendo che ti fidi del produttore dell'unità per implementarlo correttamente, questo dovrebbe essere sufficiente, ma tutto quanto sopra riguardante le fughe di dati e la partizione di swap si applica ancora.
Se sei davvero paranoico, puoi utilizzare un metodo, quindi riavviare su un supporto di installazione o un ambiente di ripristino sulla rete (la maggior parte dei provider di hosting li ha) e utilizzare il secondo metodo.