Cuando se elimina un archivo, su contenido aún se puede dejar en el sistema de archivos, a menos que se sobrescriba explícitamente con otra cosa. El wipe
comando puede borrar archivos de forma segura, pero no parece permitir borrar el espacio libre en el disco que ningún archivo utiliza.
¿Qué debo usar para lograr esto?
Respuestas:
Advertencia: el hardware moderno de disco / SSD y los sistemas de archivos modernos pueden guardar datos en lugares donde no puede eliminarlos, por lo que este proceso aún puede dejar datos en el disco. Las únicas formas seguras de borrar datos son el comando ATA Secure Erase (si se implementa correctamente) o la destrucción física. Consulte también ¿Cómo puedo borrar de manera confiable toda la información en un disco duro?
Puede usar un conjunto de herramientas llamado Secure-Delete.
Esto tiene cuatro herramientas:
srm
- elimine de forma segura un archivo existentesmem
- elimine de forma segura los rastros de un archivo de la memoria ramsfill
- borre todo el espacio marcado como vacío en su disco durosswap
- borre todos los datos de su espacio de intercambio.Desde la página del manual de
srm
fuente
cat /dev/zero >nosuchfile; rm nosuchfile
.La forma más rápida, si solo necesita una sola pasada y solo desea reemplazar todo con ceros, es:
(ejecutado desde un directorio en el sistema de archivos que desea borrar)
(el
sync
comando es una medida de paranoia que garantiza que todos los datos se escriban en el disco; un administrador de caché inteligente podría resolver que puede cancelar las escrituras para cualquier bloque pendiente cuando el archivo está desvinculado )Habrá un momento durante esta operación en el que no habrá espacio libre en absoluto en el sistema de archivos, que puede ser decenas de segundos si el archivo resultante es grande y está fragmentado, por lo que lleva un tiempo eliminarlo. Para reducir el tiempo cuando el espacio libre es completamente cero:
Esto debería ser suficiente para evitar que alguien lea el contenido del archivo anterior sin una operación forense costosa. Para una variante un poco más segura, pero más lenta, reemplace
/dev/zero
con/dev/urandom
. Para más paranoia, ejecute varios pasos/dev/urandom
, aunque si necesita tanto esfuerzo, lashred
utilidad del paquete coreutils es el camino a seguir:Tenga en cuenta que en lo anterior, el archivo pequeño se destruye antes de crear el archivo más grande, por lo que se puede eliminar tan pronto como se complete el archivo más grande en lugar de tener que esperar a que se destruya dejando el sistema de archivos con cero espacio libre durante el tiempo que tome. El proceso de trituración tarda mucho tiempo en un archivo grande y, a menos que esté tratando de ocultar algo de la NSA, no es realmente necesario IMO.
Todo lo anterior debería funcionar en cualquier sistema de archivos.
Límites de tamaño de archivo:
Como DanMoulding señala en un comentario a continuación, esto puede tener problemas con el límite de tamaño de archivo en algunos sistemas de archivos.
Para FAT32 definitivamente sería una preocupación debido al límite de archivos de 2GiB: la mayoría de los volúmenes son más grandes que esto en estos días (8TiB es el límite de tamaño de volumen IIRC). Puede solucionar este problema canalizando la
cat /dev/zero
salida de salida grandesplit
para generar múltiples archivos más pequeños y ajustar la trituración y eliminar las etapas en consecuencia.Con ext2 / 3/4 es menos preocupante: con el bloque 4K predeterminado / común, el límite de tamaño de archivo es 2TiB, por lo que tendría que tener un gran volumen para que esto sea un problema (el tamaño de volumen máximo en estas condiciones es 16TiB).
Con los btrfs (todavía experimentales), tanto el tamaño máximo de archivo como el de volumen son enormes 16EiB.
Bajo NTFS, la longitud máxima del archivo es incluso mayor que la longitud máxima del volumen, incluso en algunos casos.
Puntos de partida para más información:
http://en.wikipedia.org/wiki/Ext3#Size_limits
http://en.wikipedia.org/wiki/Btrfs
http://en.wikipedia.org/wiki/Ntfs#Scalability
Dispositivos virtuales
Como se mencionó en los comentarios recientemente, hay consideraciones adicionales para los dispositivos virtuales:
Para los discos virtuales asignados escasamente otros métodos, como los utilizados por
zerofree
serán más rápidas (aunque a diferenciacat
ydd
esto no es una herramienta estándar que usted puede confiar en que está disponible en casi cualquier sistema operativo UNIX-uno-como).Tenga en cuenta que poner a cero un bloque en un dispositivo virtual disperso puede no borrar el bloque en el dispositivo físico subyacente , de hecho, iría tan lejos como para decir que es poco probable: el administrador de disco virtual simplemente hará que el bloque ya no se use entonces puede ser asignado a otra cosa más tarde.
Incluso para dispositivos virtuales de tamaño fijo, es posible que no tenga control de dónde vive físicamente el dispositivo, por lo que podría moverse alrededor de su ubicación actual o en un nuevo conjunto de discos físicos en cualquier momento y lo máximo que puede borrar es la ubicación actual, no cualquier ubicación previa que el bloque haya residido en el pasado.
Para los problemas anteriores en dispositivos virtuales: a menos que controle los hosts y pueda borrar de forma segura su espacio no asignado después de limpiar los discos en la VM o mover el dispositivo virtual, no hay nada que pueda hacer al respecto después de hecho. El único recurso es utilizar el cifrado de disco completo desde el principio.así que nada sin encriptar se escribe en los medios físicos en primer lugar. Todavía puede haber una llamada para una limpieza de espacio libre dentro de la VM, por supuesto. Tenga en cuenta también que FDE puede hacer que los dispositivos virtuales dispersos sean mucho menos útiles, ya que la capa de virtualización realmente no puede ver qué bloques no se utilizan. Si la capa del sistema de archivos del sistema operativo envía comandos de recorte al dispositivo virtual (como si fuera un SSD), y el controlador virtual los interpreta, entonces eso puede resolver esto, pero no sé de ninguna circunstancia en la que esto realmente suceda y la discusión de eso es un asunto para otra parte (ya nos estamos acercando a estar fuera del tema de la pregunta original, por lo que si esto ha despertado su interés, puede ser necesario realizar algunas preguntas de experimentación y / o seguimiento).
fuente
secure-delete
herramientas: el usosfill -llz
reduce todo el procedimiento a una pasada que solo escribe '0'.cat
ydd
están disponibles en casi cualquier sistema operativo similar a Unix, ya que se consideran herramientas estándar dondezerofree
probablemente no lo estén, a menos que se haya agregado explícitamente.zerofree
sin duda funcionaría, por supuesto, el "sistema de archivos completo temporalmente lleno" mencionado en la página del manual (casi, pero no del todo mitigado por el pequeño archivo jiggery pokery en mis ejemplos) es una preocupación genuina si está haciendo esto en un sistema actualmente activo, y dezerofree
hecho sería más rápido en la instancia específica para la que está optimizado: dispositivos de bloque virtual escasamente asignados. Aunque no puede confiar en cualquier borrado en un dispositivo virtual por motivos de seguridad: la única respuesta verdadera en ese caso es cifrar el dispositivo completo desde el principio.ADVERTENCIA
Me sorprendió la cantidad de archivos que Photorec podía recuperar de mi disco, incluso después de borrarlos.
Si hay más seguridad en llenar el "espacio libre" solo 1 vez con 0x00 o 38 veces con diferentes estándares cabalísticos es más una discusión académica. El autor del documento seminal de 1996 sobre trituración se escribió un epílogo diciendo que esto es obsoleto e innecesario para el hardware moderno. No hay ningún caso documentado de datos que sean reemplazados físicamente por ceros y recuperados después.
El verdadero enlace frágil en este procedimiento es el sistema de archivos . Algunos sistemas de archivos reservan espacio para uso especial, y no está disponible como "espacio libre". Pero sus datos pueden estar allí . Eso incluye fotos, correos electrónicos personales de texto sin formato, lo que sea. Acabo de buscar en Google reservado + espacio + ext4 y aprendí que el 5% de mi
home
partición estaba reservada. Supongo que aquí es donde sephotorec
encuentran muchas de mis cosas. Conclusión: el método de trituración no es el más importante, incluso el método de múltiples pasadas todavía deja los datos en su lugar .Puedes probar
# tune2fs -m 0 /dev/sdn0
antes de montarlo. (Si esta será la partición raíz después de reiniciar, asegúrese de ejecutarla-m 5
o de-m 1
desmontarla).Pero aún así, de una forma u otra, puede quedar algo de espacio.
La única forma verdaderamente segura es borrar toda la partición, crear un sistema de archivos nuevamente y luego restaurar sus archivos desde una copia de seguridad.
Manera rápida (recomendado)
Ejecute desde un directorio en el sistema de archivos que desea borrar:
Notas: el propósito del archivo pequeño es reducir el tiempo cuando el espacio libre es completamente cero; El propósito de la sincronización es asegurarse de que los datos estén realmente escritos.
Esto debería ser lo suficientemente bueno para la mayoría de las personas.
Camino lento (paranoico)
No hay ningún caso documentado de recuperación de datos después de la limpieza anterior. Sería costoso y requeriría recursos, si es posible.
Sin embargo, si tiene una razón para pensar que las agencias secretas gastarían muchos recursos para recuperar sus archivos, esto debería ser suficiente:
Lleva mucho más tiempo.
Advertencia. Si ha elegido la forma paranoica, después de esto aún querría hacer el borrado rápido, y eso no es paranoia. La presencia de datos puramente aleatorios es fácil y barata de detectar, y levanta la sospecha de que en realidad son datos cifrados. Puede morir bajo tortura por no revelar la clave de descifrado.
Camino muy lento (paranoico loco)
Incluso el autor del documento seminal de 1996 sobre trituración escribió un epílogo diciendo que esto es obsoleto e innecesario para el hardware moderno.
Pero si aún tiene mucho tiempo libre y no le importa desperdiciar su disco con demasiada sobrescritura, ahí va:
Nota: esto es esencialmente equivalente a usar la herramienta de eliminación segura.
Antes de la edición, esta publicación era una reescritura de David Spillett. El comando "cat" produce un mensaje de error, pero no puedo escribir comentarios en las publicaciones de otras personas.
fuente
cat
espera que el comando dé un error de "no queda espacio" en mis ejemplos, al final de su ejecución. Puede ocultar esto redirigiendo stderr a/dev/null
si es un problema. Usualmente uso enpv
lugar decat
odd
para este tipo de cosas, con el fin de obtener la indicación útil de progreso....raises the suspicion that it is actually encrypted data. You may die under torture for not revealing the decryption key.
Je, eso es exactamente lo que estaba pensando. Supongo que eso significa que soy paranoico ...dd
ejecutar como root da acceso a más del sistema de archivos quedd
sin root? Quiero creer que esto es cierto, pero no puedo ver ninguna razón en este momento.Hay una utilidad zerofree al menos en Ubuntu:
http://manpages.ubuntu.com/manpages/natty/man8/zerofree.8.html
Consulte también este enlace sobre zerofree: Mantener escasas las imágenes del sistema de archivos : es de su autor, Ron Yorston (9 de agosto de 2012)
fuente
Aquí se explica cómo hacerlo con una GUI.
El avance de BleachBit sobre dd (que de lo contrario es muy bueno) es cuando el disco está finalmente lleno, BleachBit crea pequeños archivos para borrar los inodos (que contienen metadatos como nombres de archivos, etc.).
fuente
Utilizo
dd
para asignar uno o más archivos grandes para llenar el espacio libre, luego uso una utilidad de eliminación segura.Para asignar archivos con dd intente:
Esto generará un archivo llamado
delete_me
que tiene un tamaño de 100 MB. (Aquíbs
está el "tamaño de bloque" establecido en 1k, ycount
es el número de bloques para asignar).Luego use su utilidad de eliminación segura favorita (que he estado usando
shred
) en los archivos así creados.Pero TENGA EN CUENTA ESTO: el almacenamiento en búfer significa que incluso si hace todo el disco, ¡puede que no obtenga absolutamente todo!
Este enlace recomienda
scrub
para limpiar el espacio libre. No lo he intentado.fuente
scrub
una vez y dañó todo el sistema de archivos. Afortunadamente tuve el buen sentido de experimentar primero con un sistema de archivos de prueba, NO con mis datos reales.Limpie una unidad a la máxima velocidad.
Las instrucciones típicas para cifrar una unidad hoy en día le indicarán que primero LIMPIE la unidad.
El siguiente comando llenará su unidad con texto cifrado AES.
Use un CD en vivo si necesita limpiar su unidad de arranque principal.
Abra una terminal y eleve sus privilegios:
Hagamos una lista de todas las unidades del sistema para que sean seguras:
NOTA: Reemplace
/dev/sd{x}
con el dispositivo que desea borrar.ADVERTENCIA: ¡Esto no es para aficionados! ¡Podría hacer que su sistema no se pueda iniciar!
Estoy sorprendido de lo rápido que es esto.
fuente
Probablemente ya tenga instalado el paquete GNU coreutils en su sistema. Proporciona el comando triturar .
fuente
Puede borrar su espacio libre utilizando un paquete de eliminación seguro.
En ese paquete puede encontrar una
sfill
herramienta, que está diseñada para eliminar datos que se encuentran en el espacio disponible en disco en medios de manera segura que no pueden ser recuperados por ladrones, agentes de la ley u otras amenazas.Para instalar el paquete de eliminación segura en Linux (Ubuntu), instálelo con el siguiente comando:
Luego, para borrar sus datos sin espacio libre, pruebe el siguiente comando:
Donde / YOUR_MOUNTPOINT / OR_DIRECTORY es su punto de montaje (
df -h
,mount
) o directorio para borrar el espacio libre.Lea el manual en http://manpages.ubuntu.com/manpages/hardy/man1/sfill.1.html
fuente
use dd y simplemente cero el espacio libre. Es un mito que los datos deben sobrescribirse varias veces (solo pregunte a Peter Guntmann) y los datos aleatorios, a diferencia de 1 y luego 0, implica actividad no natural. entonces el resultado final es una unidad limpia con mucho menos tiempo dedicado a escribir. Además, los programas de eliminación segura no pueden garantizar que incluso sobrescriban el archivo real en los sistemas de archivos modernos (registrados). hazte un favor y obtén photorec, escanea tu disco para ver el desorden, límpialo con 1 y opcionalmente con ceros para que parezca intacto. si photorec todavía encuentra cosas, recuerde que está escaneando todo lo disponible, así que hágalo con cuidado nuevamente con el usuario root.
recuerde, cia / fbi / nsa no tiene una máquina elegante que pueda leer el estado real de sus bits de medios magnéticos. todo eso fue solo un artículo escrito hace mucho tiempo. un "que tal si". solo necesitas limpiar 1 vez.
fuente
Más fácil es usar scrub :
Esto creará una
dump
carpeta en la ubicación actual y creará el archivo hasta que el disco esté lleno. Puede elegir un patrón con la-p
opción (nnsa|dod|bsi|old|fastold|gutmann
).No es fácil instalar Scrub ( ver los foros de Ubuntu sobre esto ), pero una vez que se realiza la instalación, tienes una herramienta realmente SIMPLE y eficiente en tu mano.
fuente
scrub
una vez y dañó todo el sistema de archivos. Afortunadamente tuve el buen sentido de experimentar primero con un sistema de archivos de prueba, NO con mis datos reales.scrub -X dump_dir
y parece haber funcionado bien. Por cierto, la instalación en Ubuntu 14.04 es muy sencillo:apt-get install scrub
.Aquí está el script "sdelete.sh" que uso. Ver comentarios para más detalles.
fuente
Encontré una solución simple que funciona en Linux y MacOS. Muévase en la carpeta raíz de su disco y ejecute este comando:
donde // DISKSPACE // es el tamaño en GB de su disco duro.
fuente
A veces uso este bash one-liner:
Cuando comience a decir que el disco está lleno, simplemente presione Ctrl+ Cy elimine los
zero.*
archivos creados .Funciona en cualquier sistema, independientemente de los límites de tamaño del archivo.
Ignora cualquier
cat: write error: File too large
error.fuente
¡Esta no es una respuesta! Solo un comentario para aquellos que deseen usar
pv
... así que no se molesten en votar.En Linux Mint 17.3 puede usar
pv
( vista de tubería ) para avanzar en la escritura. Por ejemplo:La ventaja aquí es que obtienes una barra de progreso, ETA y una velocidad de datos continuamente actualizada. La desventaja es que esto está escrito en una línea y cuando el disco está lleno (devuelve un error) desaparece. Esto sucede porque el tamaño completo es aproximado ya que el sistema operativo probablemente usará el disco mientras se lleva a cabo esta operación muy larga, especialmente en el volumen del sistema operativo.
En un HD muy antiguo, obtengo una velocidad de datos de aproximadamente 13 MB / s usando
/dev/urandom
, y aproximadamente 70 MB / s , cuando lo uso/dev/zero
. Esto probablemente mejoraría aún más cuando se usa un rawdd
ocat
, y nopv
.fuente
Una vez que el archivo desaparece del registro del sistema de archivos, los datos que quedan en el disco duro son una secuencia sin sentido de 1 y 0. Si está buscando reemplazar esa secuencia sin sentido con otra secuencia sin sentido, puedo aconsejar algunos productos comerciales para borrar unidades de forma segura, como arconis.
fuente