Borrar archivos permanentemente y de manera segura
Estoy preparando un artículo sobre encriptación, uno de los pasos, una vez encriptado el archivo, es borrar el mismo. En este paso, me surgió una duda ¿ Es rm una forma segura de borrar un archivo que contiene información sensible ? Como os podéis imaginar la respuesta es no.
La forma de borrar un archivo cambia mucho dependiendo del sistema de archivos que utilicemos. Ext2, ntfs o fat se limitán a marcar el espacio como libre, mientras que ext3 lo sobreescribe con ceros.
No obstante, incluso habiendo sobreescrito la zona con ceros, es posible recuperar esos datos, de hecho, se han recuperado datos, cuyo área ha sido sobreescrita hasta 14 veces!
Como ya sabemos “nada es seguro”, no obstante, vamos a intentar ponerselo un poco mas difícil.
1. Shred
La mayoría de distribuciónes GNU/Linux incluyen esta utilidad, ya que forma parte de las coreutils de GNU. Básicamente shred es una herramienta que sobreescribe un archivo muchas veces, esta ampliamente distribuida y es efectiva en la mayoría de los casos. Funciona escribiendo unos y ceros sobre el archivo que estas borrando. Efectuando este procesos varias veces, será “imposible” recuperar su contenido en la mayoría de los casos.
El uso básico de shred es:
shred -n 10 -u -z -v archivo_secreto
-n 10: Sobreescribe el archivo 10 veces (25 es el valor predeterminado).
-u: Borra el archivo después de todas las pasadas.
-z: Al final sobreescribe solo con ceros. Esto se hace para intentar ocultar que se ha usado ésta técnica para borrarlo.
-v: Muestra el proceso de la operación.
archivo_secreto: Archivo que queremos borrar de manera permanente y segura.
En vez de un archivo podemos especificar un dispositivo (/dev/hda), en este caso no se debe de poner la opcion “-u”.
No obstante, shred se basa en una suposición: que el sistema de archivos sobreescribe los datos en el mismo sitio. Está es la forma tradicional, no obstante, sistema de archivos con journal, basados en RAID, NFS, con cache en lugares temporales, sistemas de archivos comprimidos, etc, podrían no satisfacer esta suposición.
2. Herramientas secure-delete
Mientras que shred se limita a sobreescribir archivos (o sistemas de archivos), con las herramientas secure-delete podemos, además, controlar el espacio libre de nuestro sistema de archivos, la swap y la memoria.
Al contrario que shred, las secure-delete no vienen por defecto en nuestro sistema, por lo que tendremos que instalarlas:
apt-get install secure-delete
Estas herramientas nos proveen de cuatro utilidades.
srm
Borra archivos o directorios de manera segura. Sobreescribe los datos con una combinación de datos aleatorios y unos valores especiales desarrollados por el criptógrafo Peter Gutmann, para estar verdaderamente seguro de que tus datos son irrecuperables.
Su uso básico para borrar un fichero es:
srm archivo_secreto
Para borrar un directorio y todo su contenido:
srm -r directorio_secreto
Al contrario que shred, no hace falta especificar número de pasadas, ni que borre el archivo tras sobreescribirlo. La forma de trabajar de srm por defecto es:
- Una pasada con 0xff.
- 5 pasadas con datos aleatorios.
- 27 pasadas con valores especiales definidos por Peter Gutmann.
- 5 pasadas con datos aleatorios.
- Renombra el fichero con un nombre aleatorio.
- Borra el fichero.
sfill
Sigue el mismo método que srm, obviando los dos últimos pasos (renombrado y borrado de fichero). Se realiza sobre el espacio libre del disco (o la cinta).
Se utiliza sobre un punto de montaje:
sfill /punto/montaje
sswap
Igual que sfill, sobreescribe los datos de la swap.
Averiguamos primero en que partición esta nuestra swap:
cat /proc/swaps
Filename Type Size Used Priority
/dev/sda2 partition 996020 433488 -1
Ahora sobre la partición sda2, realizamos el siguiente procedimiento:
swapoff /dev/sda2
sswap /dev/sda2
swapon /dev/sda2
Se desactiva la swap, se usa sswap sobre ella para sobreescribir sus datos y la volvemos a activar.
smem
Todo el mundo sabe que la memoria se borra cuando se apaga el servidor, lo que todo el mundo no sabe, es que pueden quedar datos residuales en ella.
Tened en cuenta, que el proceso que borrar los datos de la memoria es extremadamente lento.
smem
Referencias:
shred
http://www.techthrob.com/tech/securedelete.php
man shred
man srm
man sfill
man sswap
man smem






[...] Borramos de manera segura el archivo original: shred -n 10 -u -z -v fichero [...]
Me agrado mucho este articulo, aunque yo tengo una pregunta si el secure-delete es solo para debian. Por que soy usuario de opensuse y me gustaria saber si tambien existe. Gracias
Hola Christian.
Valen para cualquier sistema.
Puedes obtener estas utilidades en la web del desarrollador:
http://www.thc.org
Lo que no te se decir es si hay paquete para Suse.
Un saludo.
como borrar el journal de la xo que no pudo borrar los archivos
si
yes ok
¿sos baron o nen?
soy debian
decime como borrar el journal