¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal


Borrado seguro de archivos (irrecuperables) con shred 

Copyright © 2005-2024 LinuxTotal.com.mx
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.

Autor: Sergio González D.  

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, vamos ni siquiera se toca. 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. El espacio que ocupan los datos queda disponible para su uso, esto puede suceder en tan solo segundos, que nuevos bloques de datos sobreescriban a los anteriores, o puede ser que pase mucho tiempo, semanas, meses, en lo que el espacio libre (con datos) es vuelto a utilizar, todo depende del uso (I/O) del disco duro.

Software muy especializado y caro, o firmas dedicadas, ofrecen servicios de recuperación de datos, basados en el hecho de que los datos pueden seguir ahí y lo que tratan de hacer es reconstruir el índice o leer directamente pista por pista del disco duro, recuperar todo lo posible, incluso información "entre" pistas (ghosts), y ver lo que resulta y si el disco duro no se uso después del borrado, las posibilidades de recuperación son realmente altas, muy altas.

Asi que el comando rm tal cual no te sirve de mucho si de lo que se trata es eliminar completamente cierta información sensible que no quieras que jamśs sea recuperada. Asi que conoce a:


shred

shred lo que hace es sobreescribir el archivo o archivos indicados varias veces (25 por defecto) con varios patrones de texto, conviertiendo el archivo original en su contenido en otro totalmente distinto y con información sin sentido. Su uso más simple sería el siguiente:

$> more secreto.txt
Este es un archivo super secreto
$ shred secreto.txt
$ more secreto.txt
X()z???Eo???L0rC???.?(Oh??U??+;?????4uM,??K???:???c???ksJ8???cV?????Oc
a>?@?d?>????2?J?Xo?#[??kQ?9?Fi?i0sLS????s???7?6pR??e^??;@\P??

Como se puede observar, basta con indicar el archivo a destruir y con eso es suficiente para dejarlo inutilizado. Nótese que el archivo no se elimina solo se transforma después de las múltiples pasadas. Si deseas eliminarlo, usa la opción -u:

$> shred -u secreto.txt
$> more secreto.txt
secreto.txt: No such file or directory

shred no elimina automáticamente el archivo porque su uso no solo esta destinado a archivos sino también a dispositivos, asi que puedes por ejemplo eliminar y destruir todo el contenido de un disco de la siguiente manera:

$> shred -n 40 /dev/sdb1

En la opción anterior NO usamos -u porque eliminariamos el dispositivo en si y eso no lo queremos, solo destruir o dejar inservible la información contenida en el disco, ahora se entiende por que shred por defecto no remueve o elimina completamente el archivo ya que es común trabajar con dispositivos como /dev/hda5 que podría ser una partición que quisieramos sobreescribir con shred pero no eliminar el dispositivo en si. Una nueva opción se uso que es -n e indica el número de veces que se sobreescribe el archivo, el default son 25. Ahora bien, y que es lo que exactamente sobreescribe esta cosa de shred?, pues puedes verlo con la opción -v:

$> shred -n 10 -v foto.jpg
shred: foto.jpg: pass 1/10 (random)...
shred: foto.jpg: pass 2/10 (222222)...
shred: foto.jpg: pass 3/10 (aaaaaa)...
shred: foto.jpg: pass 4/10 (555555)...
shred: foto.jpg: pass 5/10 (000000)...
shred: foto.jpg: pass 6/10 (random)...
shred: foto.jpg: pass 7/10 (888888)...
shred: foto.jpg: pass 8/10 (249249)...
shred: foto.jpg: pass 9/10 (ffffff)...
shred: foto.jpg: pass 10/10 (random)...
$> 

foto.jpg es el archivo a destruir, también puedes eliminar imágenes, películas, música, lo que sea, no solo archivos de text, e indiqué solo 10 pasadas, la primera fue un patrón aleatorio, cualquier caracter, no se sabe cual fue, la segunda pasada el patrón usado fue el '2', la pasada 8 nos muestra un patrón de '249', asi que no siempre es solo un caracter, puede ser una combinación de varios.

También la opción -z podría ser útil, lo que hace es agregar una última pasada, independiente de las indicadas, con un patrón de '0' ceros, el archivo al final quedará sobreescrito con '0' (aunque en realidad se muestra totalmente vacio) dejando no evidencia de caracteres aleatorios o encriptados.

Por último, veamos que pasa cuando se usa la opción -u que sobreescribe y elimina o remueve el archivo:

$> shred -n 15 -z -u -v archivosecreto.doc
shred: archivosecreto.doc: pass 1/16 (random)...
shred: archivosecreto.doc: pass 2/16 (492492)...
shred: archivosecreto.doc: pass 3/16 (db6db6)...
shred: archivosecreto.doc: pass 4/16 (924924)...
shred: archivosecreto.doc: pass 5/16 (random)...
shred: archivosecreto.doc: pass 6/16 (b6db6d)...
shred: archivosecreto.doc: pass 7/16 (6db6db)...
shred: archivosecreto.doc: pass 8/16 (random)...
shred: archivosecreto.doc: pass 9/16 (000000)...
shred: archivosecreto.doc: pass 10/16 (aaaaaa)...
shred: archivosecreto.doc: pass 11/16 (ffffff)...
shred: archivosecreto.doc: pass 12/16 (random)...
shred: archivosecreto.doc: pass 13/16 (249249)...
shred: archivosecreto.doc: pass 14/16 (555555)...
shred: archivosecreto.doc: pass 15/16 (random)...
shred: archivosecreto.doc: pass 16/16 (000000)...
shred: archivosecreto.doc: removing
shred: archivosecreto.doc: renamed to 000
shred: 000: renamed to 00
shred: 00: renamed to 0
shred: archivosecreto.doc: removed
$>

Como mencionaba, al usar la opción -z se agregó una última pasada, la 16 con un patrón de ceros, después se renombra el archivo varias veces y por último se elimina, todos estas sobreescrituras y cambios de nombre, es lo que hace sumamente díficil (y en la enorme mayoría de los casos, imposible) la recuperación de archivos eliminados a través de shred.

Por último, la opción -f te permite forzar la sobreescritura del archivo(s) en caso de que este no tenga permisos de escritura, claro, solo sobre los que el usuario es propietario, básicamente te evita que uses primero un chmod para cambiar a permisos de escritura si no los tuviera el archivo.



¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal

LinuxTotal en:

Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.


Dona a través de paypal::


O a través de bitcoins:


14TNQv5wM3xkSv65gHGQ6s6f8yTZuFTohE
Más artículos de LinuxTotal

Imagínate que eres un administrador de sistemas Linux que trabaja desde un equipo Windows y usas Putty para conectarte a los serv....


En Linux existen tres formas de controlar y mostrar la marca del tiempo en archvios y directorios. Asi es, cuando creas o editas u....


Si acostumbras trabajar en la línea de comandos de Linux, muy posiblemente uses el shell bash (Bourne Again Shell, derivado del b....


Sistemas Linux con gran cantidad de usuarios, como servidores de correo, servidores samba, etc., tarde o temprano tienen el proble....


He actualizado con varios nuevos comandos la popular guía de LinuxTotal.com.mx, asi como he añadido enlaces en los comandos en l....


El directorio /proc es una bestia extraña. Realmente no existe, sin embargo puedes explorarlo. Sus archivos de tamaño 0 no son n....


vi es el venerable y confiable editor de texto que encontrarás en TODAS las distintas versiones, distribucciones, sabores de Linu....


Entre los administradores de sistemas Linux es común el término 'one liners', algo asi como 'los de una línea', y se refiere a ....


En el artículo de LinuxTotal.com.mx sobre permisos se explica lo que es un archivo con permisos SUID o SGID, pueden ser potencial....


Ya no es nada raro que un centro de cómputo o en un site se encuentren varios sistemas Linux actuando como servidores de archivos....



Copyright © LinuxTotal.com.mx 2006-2024
info@linuxtotal.com.mx · linuxtotal.com.mx@gmail.com