177 - Borrado seguro
El borrado de un archivo no te asegura que no se pueda recuperar. Si quieres realizar el borrado seguro de archivos utiliza alguna de estas técnicas.
En el episodio 44 del podcast te hablé sobre como recuperar archivos borrados. Pero, no siempre puede ser que quieras recuperar archivos borrados por error. En ocasiones, lo que quieres es justo todo lo contrario, asegurarte que nadie los puede recuperar. Las razones para esto son muchas y muy variadas. Seguro que tienes información sensible que no quieres que llegue a manos ajenas. Desde la información bancaria hasta tu propia documentación personal. Así, en este episodio del podcast, te voy a contar algunas opciones que tienes en Linux para poner realizar un borrado seguro de archivos, o al menos para poner las cosas lo mas difícil posible.
Y digo poner las cosas lo más difícil posible, porque lo que hoy en día se puede considerar un borrado seguro, es probable, que el día de mañana ya no lo sea. Y es que la tecnología avanza a una velocidad de vértigo. Así que no descarto que en unos años exista una técnica que sea capaz de restaurar lo que hoy parece completamente imposible.
Borrado seguro de archivos
Existen diferentes técnicas y herramientas para realizar el borrado seguro de archivos. Sin embargo todas utilizar cualquiera de ellas necesitarás utilizar el terminal. Bueno, no realmente, porque, como te contaré mas adelante, tienes la posibilidad de utilizar una interfaz gráfica, que integra una de estas herramientas con el gestor de archivos, Nautilus, Nemo o Caja, los gestores de archivos de GNOME, Cinnamon y MATE, respectivamente.
Shred
shred es una herramienta con la que sobreescribes un archivo para ocultar su contenido, y que puede, de forma opcional borrarlo si así lo quieres. Por ejemplo, si quisieras borrar archivo_confidencial.txt
, tan solo tienes que ejecutar la siguiente instrucción,
shred -zvu -n 5 archivo_condidencial.txt
Las opciones introducidas son las siguientes,
-z
añade un escritura final con ceros-v
muestra las operaciones que se realizan-u
borra el archivo después de la sobre escritura-n
especifica el número de veces que se sobre escribe el contenido. Por defecto esto está establecido a tres.
Si te fijas, he añadido la opción -u
para efectivamente borrar el archivo. De otra manera este permanecerá en tu equipo aunque sobre escrito
Al hacer esto, verías algo como lo que te muestro a continuación,
shred: archivo_confidencial.txt: paso 1/6 (random)...
shred: archivo_confidencial.txt: paso 2/6 (ffffff)...
shred: archivo_confidencial.txt: paso 3/6 (random)...
shred: archivo_confidencial.txt: paso 4/6 (000000)...
shred: archivo_confidencial.txt: paso 5/6 (random)...
shred: archivo_confidencial.txt: paso 6/6 (000000)...
shred: archivo_confidencial.txt: borrando
shred: archivo_confidencial.txt: renombrado a 000000000000000000000000
shred: 000000000000000000000000: renombrado a 00000000000000000000000
shred: 00000000000000000000000: renombrado a 0000000000000000000000
shred: 0000000000000000000000: renombrado a 000000000000000000000
shred: 000000000000000000000: renombrado a 00000000000000000000
shred: 00000000000000000000: renombrado a 0000000000000000000
shred: 0000000000000000000: renombrado a 000000000000000000
shred: 000000000000000000: renombrado a 00000000000000000
shred: 00000000000000000: renombrado a 0000000000000000
shred: 0000000000000000: renombrado a 000000000000000
shred: 000000000000000: renombrado a 00000000000000
shred: 00000000000000: renombrado a 0000000000000
shred: 0000000000000: renombrado a 000000000000
shred: 000000000000: renombrado a 00000000000
shred: 00000000000: renombrado a 0000000000
shred: 0000000000: renombrado a 000000000
shred: 000000000: renombrado a 00000000
shred: 00000000: renombrado a 0000000
shred: 0000000: renombrado a 000000
shred: 000000: renombrado a 00000
shred: 00000: renombrado a 0000
shred: 0000: renombrado a 000
shred: 000: renombrado a 00
shred: 00: renombrado a 0
shred: archivo_confidencial.txt: borrado
Una observación. Para el ejemplo he creado el archivo archivo_confidencial.txt
y lo he borrado. La idea era darle contenido al archivo, y lo he hecho utilizando el comando fallocate
, de la siguiente manera,
fallocate -l 5M archivo_confidencial.txt
Wipe
La segunda de las herramientas que te quiero comentar es wipe. Este comando te permite el borrado seguro de archivos de la memoria magnética. Al parecer, y esto lo puedes consultar en la propia ayuda, con man wipe
, existe una técnica conocida como Magnetic Force Microscopy, que permite recuperar las últimas dos o tres capas de infomación escrita en un disco.
¿Que quiere decir esto de memoria magnética? Esto implica que solo será de utilidad sobre los discos convencionales, sin embargo, no tendrá ningún efecto en las discos de memoria sólida, que actualmente son los que se están imponiendo sobre los primeros, por su rapidez.
Con wipe se escribe repetidamente patrones especiales sobre los archivos que se quieren destruir utilizando una llamada a fsync
para forzar el acceso a disco. En el modo normal se utilizan hasta 34 patrones. El modo normal realiza hasta 35 pasadas, aunque existe un modo rápido que que tan solo utiliza 4 pasadas con patrones aleatorios, pero como te puedes imaginar es menos seguro.
Por ejemplo, si quisieras borrar un archivo utilizando esta técnica, tan solo tienes que ejecutar la siguiente instrucción,
wipe -fi archivo_confidencial.txt
Las opciones elegidas son las siguientes,
-f
fuerza el borrado sin confirmación-i
muestra el progreso del borrado
En el caso de que quisieras borrar un directorio y los subdirectorios que contiene, tendrías que utilizar la opción -r
.
Este proceso es significativamente mas largo que utilizar el comando shred
.
secure-delete
secure-delete
es una colección de herramientas para el borrado seguro. Entre las herramientas del paquete encontrarás srm
que es la que voy a utilizar para realizar el borrado seguro.
Este conjunto de herramientas se encuentran disponibles en los repositorios oficiales de Ubuntu. Sin embargo, no están instaladas por defecto. Para instalar simplemente ejecuta la siguiente instrucción,
sudo apt install secure-delete
Si quisieras borrar el archivo archivo_confidencial.txt
, tienes que ejecutar la siguiente instrucción,
srm -vz archivo_confidencial.txt
Donde las opciones utilizadas son las siguientes,
-v
muestra las operaciones realizadas-z
la última escritura la realiza con ceros en lugar de con información aleatoria
nautilus-crusher
Si todavía no te has hecho con el uso del terminal, o simplemente no quieres hacerte, puedes utilizar una herramienta gráfica. Se trata de un complemento para los gestores de archivos de GNOME, Cinnamon y MATE, es decir, Nautilus, Nemo y Caja. Este complemento, simplemente se muestra en el menú contextual de estas aplicaciones cuando seleccionas uno o mas archivos.
Para instalar este complemento, dependiendo del gestor de archivos que estés utilizando simplemente ejecuta las siguientes instrucciones en un terminal,
sudo add-apt-repository ppa:atareao/nautilus-extensions
sudo apt update
sudo apt install nautilus-crusher
nautilus -q
En el caso de Nemo, el gestor de archivos de Cinnamon, ejecuta las siguientes instrucciones,
sudo add-apt-repository ppa:atareao/nemo-extensions
sudo apt update
sudo apt install nemo-crusher
nemo -q
O en el caso de Caja, el gestor de archivos de MATE, ejecuta las siguientes instrucciones,
sudo add-apt-repository ppa:atareao/caja-extensions
sudo apt update
sudo apt install caja-crusher
caja -q
Una vez ejecutadas las instrucciones correspondientes a tu gestor de archivos, tan solo te queda utilizarlo. Para ello, simplemente selecciona el archivo sobre el que quieres hacer un borrado seguro y a disfrutar.
Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.
Más información
Imagen de portada de Devin Avery en Unsplash