Borrado seguro de archivos y directorios
Muchas veces nos enfrentamos a tener que eliminar ciertos archivos en la oficina/trabajo/personales de contenido sensible de manera definitiva. Si eliminamos de manera tradicional un archivo de nuestros equipos éste puede ser recuperado a través de programas destinados a este fin, por tal motivo es necesario hacerlo a través de estos comandos para hacer mucho más complicado o hasta imposible su recuperación.
En otras palabras, cuando usas rm para eliminar o borrar un archivo, lo que realmente sucede es que los datos del archivo, su información tal cual, no es eliminado. Lo que se destruye es el “índice” o número de inodo que guarda la referencia en el disco duro de como encontrar los datos del archivo. Se determina que el espacio que ocupan los datos queda disponible para su uso, pero la sobreescritura de este espacio puede que no sea inmediato.
Comando shred
Este comando lo que hace es sobreescribir el contenido del archivo o archivos indicados varias veces (por default 3 veces) con datos aleatorios, conviertiendo el archivo original en su contenido en otro totalmente distinto y con información sin sentido.
Para ejecutar este comando sólo es necesario especificar el nombre del archivo a sobreescribir.
# shred nombre_archivo
El archivo no es elminado, sólo sobreescrito
Por omisión este comando no elimina el archivo, sólo lo sobreescribe, para eliminarlo una vez que fue sobreescrito es necesario agregar la opción -u
# shred -u nombre_archivo
Si se quiere cambiar el número de veces que se sobreescribe el archivo es necesario agregar la opción -n
Por ejemplo, si se desea sobreescribir 10 veces el contenido del archivo, se ejecuta lo siguiente:
# shred -n 10 nombre_archivo
La recomendación para eliminar de manera segura los archivos mediante este comando es en 3 pasos:
1.- Sobreescribir el contenido con contenido aleatorio
# shred -v -n 1 nombre_archivo
2.- Forzar una sincronización de los buffers al disco
# sync
3.- Sobreescribir el archivo con ceros y eliminar el archivo terminando
# shred -v -n 0 -z -u nombre_archivo
Para utilizar shred de manera recursiva un árbol de directorios puede utilizarse la siguiente opción
# find -depth -type f -exec shred -v -n 1 -z -u {} \;
El comando shred tiene un mayor número de opciones. Para mayor referencia del comando consulta: manual shred
Secure delete: srm, sfill, sswap
Estos son otra serie de comando para el borrado seguro de archivos, los cuales se explican a continuación:
SRM
Como el comando rm, srm elimina archivos y directorios. Sin embargo, primero sobreescribe el archivo multiples veces con contenido aleatorio (38 veces por default), renombra el archivo multiples veces y al final elmina el archivo.
# srm nombre_archivo
Y para directorios, y que haga de manera recursiva el borrado se ejecuta con la opción -r:
# srm -r nombre_directorio/
Otra opción de utlidad es -z, que escribe ceros en la úlma sobreescritura en vez de contenido aleatorio.
# srm -z nombre_archivo
SFILL
Este comando, checa por espacio en disco marcado como libre/disponible, y lo llena con datos aleatorios. Esto asegura que si se borró previamente archivo(s) de manera no segura no puedan ser recuperados.
De la misma manera que srm, sfill realiza 38 sobreescrituras.
# sfill partición_o_directorio
SSWAP
Este programa limpia de manera segura las particiones swap.
Antes de correr sswap, la partición swap debe de ser deshabilitada.
# swapoff particion_swap
Después de haber deshabilitado la partición ya puede limpiarse de manera segura:
# sswap particion_swap
De la misma manera que srm y sfill, sswap realiza 38 sobreescrituras.