Cómo eliminar archivos de forma segura en Linux

Contenidos

Abra el disco duro en la bandeja de intercambio en caliente

Triture los archivos de datos antiguos por la misma razón por la que tritura los documentos en papel antiguos. Te enseñamos lo que deseas saber sobre la eliminación segura de archivos Linux. Este tutorial cubre el shred comando y el secure-delete suite de utilidades.

Los archivos eliminados son regularmente recuperables

Borrar un archivo en realidad no lo elimina de su disco duro. Todo depende de la forma en que su sistema de archivos utiliza los inodos. Estas son las estructuras de datos dentro del sistema de archivos que contienen los metadatos relacionados con los archivos. El nombre del archivo, su posición en el disco duro, los atributos y permisos que tiene, etc., se almacenan en un inodo. Un directorio no es más que un archivo en sí mismo. Uno que contiene los nombres y números de inodo de los archivos que contiene el directorio.

Cuando elimina un archivo con rm, el sistema de archivos libera el inodo apropiado y ajusta el archivo de directorio. Esto marca el espacio en el disco duro que el archivo solía ocupar como no utilizado. Imagina que entras en una biblioteca y revisas el índice de tarjetas, encuentras la tarjeta del catálogo de un libro y la rompes. El libro aún está en el estante. Simplemente es más difícil de hallar.

Dicho de otra forma, el espacio que utilizó el archivo ahora está libre para que lo utilicen otros archivos. Pero el contenido del archivo antiguo aún se encuentra en ese espacio. Hasta que se sobrescriba ese espacio, es muy probable que se pueda recuperar el archivo.

Pero deshacerse por completo de un archivo no es tan fácil como simplemente sobrescribirlo. Como ya veremos.

No hagas esto con SSD

Estas técnicas son para unidades de disco duro electromecánicas tradicionales (HDD) y no deben usarse con unidades de estado sólido (SSD). No funcionará y causará escrituras adicionales y un desgaste innecesario de su SSD. Para eliminar de forma segura los datos de un SSD, debe usar la utilidad proporcionada por el fabricante de su SSD.

RELACIONADO: Cómo quitar archivos y directorios en la terminal de Linux

El comando triturar

shred Esta diseñado para realizar la sobrescritura por usted por lo que un archivo eliminado no se puede recuperar. Se incluye en todas las distribuciones de Linux que se probaron durante la investigación de este post, incluidas Ubuntu, Fedora y Manjaro.

En este ejemplo, trabajaremos en un directorio llamado ~ / research, que contiene muchos archivos de texto. Además contiene algunos otros directorios que a su vez contienen otros archivos. Asumiremos que estos archivos son confidenciales y deben borrarse por completo del disco duro.

Podemos ver la estructura del árbol de directorios usando el tree comando de la próxima manera. los -d (directorio) opción causas tree para listar directorios solamente y no para listar todos los archivos. La estructura del árbol de directorios se ve así:

tree -d

Trituración de un solo archivo

Para triturar un solo archivo, podemos utilizar el siguiente comando. Las alternativas que estamos usando son:

  • tu: Desasignar y quitar el archivo después de sobrescribirlo.
  • v: Opción detallada, de modo que shred nos dice lo que está haciendo.
  • z: Realiza una sobrescritura final con ceros.
shred -uvz Preliminary_Notes.txt_01.txt

shred sobrescribe el archivo cuatro veces de forma predeterminada. Las primeras tres pasadas usan datos aleatorios y la pasada final utiliza ceros, como solicitamos. Posteriormente elimina el archivo y sobrescribe algunos de los metadatos en el inodo

triturar haciendo cuatro pasadas

Configuración del número de pasadas de sobrescritura

Podemos preguntar shred para usar más o menos pasadas de sobrescritura usando el -n opción (número). shred siempre usará al menos una pasada. El número que proporcionamos aquí es el número de extra pases que requerimos shred actuar. Entonces shred siempre hará un pase más del número que le pedimos. Para obtener tres pases en total, solicitamos dos pases adicionales:

shred -uvz -n 2 Preliminary_Notes.txt_02.txt

Como se esperaba, shred hace tres pases.

Menos pasadas, menos trituraciones si lo desea, es evidentemente más rápido. ¿Pero es menos seguro? Curiosamente, tres pases son probablemente más que suficientes.

RELACIONADO: Solo necesita limpiar un disco una vez para borrarlo de forma segura

Trituración de varios archivos

Los comodines se pueden utilizar con shred para elegir grupos de archivos que se borrarán. los * representa varios caracteres, y el ? representa un solo carácter. Este comando eliminaría todos los archivos «Preliminary_Notes» restantes en el directorio de trabajo actual.

shred -uvz -n 2 Preliminary_Notes_*.*

Los archivos restantes son procesados ​​por shred Sucesivamente.

shred no cuenta con una opción recursiva, por lo que no se puede usar para eliminar árboles de directorios de directorios anidados.

El problema de quitar archivos de forma segura

Tan bueno como shred es, hay un obstáculo. Los sistemas de archivos de registro en diario modernos, como ext3 y ext4, realizan enormes esfuerzos para garantizar que no se rompan, se corrompan o pierdan datos. Y con los sistemas de archivos de registro por diario, no hay garantía de que la sobrescritura se esté realizando en el espacio del disco duro utilizado por el archivo eliminado.

Si lo único que busca es tener la tranquilidad de saber que los archivos se han eliminado un poco más a fondo que rm lo hubiera hecho, entonces shred probablemente esté bien. Pero no cometa el error de pensar que los datos definitivamente se han ido y son totalmente irrecuperables. Eso es muy factible no el caso.

RELACIONADO: Por qué no puede «quitar de forma segura» un archivo y qué hacer en su lugar

La suite de eliminación segura

los secure-delete Los comandos intentan superar los mejores esfuerzos de los sistemas de archivos de registro por diario y lograr sobrescribir el archivo de forma segura. Pero se aplican exactamente las mismas advertencias. Aún no hay garantía de que la sobrescritura se esté realizando en la región del disco duro que necesita para eliminar el archivo de interés. Hay más posibilidades, pero no hay garantía.

los secure-delete Los comandos usan la próxima secuencia de sobrescrituras y acciones:

  • 1 sobrescribir con bytes de valor 0xFF.
  • 5 sobrescribe con datos aleatorios.
  • 27 sobrescribe con valores especiales definidos por Peter Gutmann.
  • 5 sobrescrituras más con datos aleatorios.
  • Cambie el nombre del archivo a un valor aleatorio.
  • Truncar el archivo.

Si todo eso te parece excesivo, estás en buena compañía. Además le parece excesivo a Peter Gutmann, profesor de la Universidad de Aukland. Publicó un post en 1996 discutiendo estas técnicas, de donde surgió el mito urbano de que es necesario usar todas las técnicas discutidas en ese documento al mismo tiempo.

Desde entonces, Peter Gutmann ha intentado que el genio vuelva a la botella diciendo: «Una buena limpieza con datos aleatorios funcionará tan bien como se puede esperar».

Pero estamos donde estamos, y esta es la serie de técnicas empleadas por el secure-delete comandos. Pero primero, necesitamos instalarlos.

Instalación de eliminación segura

Utilizar apt-get para instalar este paquete en su sistema si está usando Ubuntu u otra distribución basada en Debian. En otras distribuciones de Linux, utilice la herramienta de administración de paquetes de su distribución de Linux.

sudo apt-get install secure-delete

Hay cuatro comandos incluidos en el secure-delete manojo.

  1. srm es un seguro rm, utilizado para eliminar archivos eliminándolos y sobrescribiendo el espacio de su disco duro.
  2. sfill es una herramienta para sobrescribir todo el espacio libre en su disco duro.
  3. sswap se utiliza para sobrescribir y limpiar su espacio de intercambio.
  4. sdmem se utiliza para limpiar su RAM.

El comando srm

Usas el srm comando tanto como utilizarías el rm mando. Para quitar un solo archivo, use el siguiente comando. los -z (ceros) opción causas smr usar ceros para el borrado final en lugar de datos aleatorios. los -v La opción (detallada) hace srm infórmenos de su progreso.

srm -vz Chapter_One_01.txt

Lo primero que notarás es que srm es lento. Proporciona algunos comentarios visuales mientras funciona, pero es un alivio cuando vuelve a ver el símbolo del sistema.

Puedes utilizar -l (reducir la seguridad) para reducir el número de pasadas a dos, lo que acelera las cosas de manera espectacular.

srm -lvz Chapter_One_02.txt

srm nos informa que esto, en su opinión, es menos seguro, pero aún borra y sobrescribe el archivo por nosotros.

Puede usar la opción -l (reducir la seguridad) dos veces para reducir el número de pases a uno.

srm -llvz Chapter_One_03.txt

Usando srm con muchos archivos

Además podemos utilizar comodines con srm. Este comando borrará y borrará las partes restantes del capítulo uno:

srm -vc Chapter_One_0?.txt

Los archivos son procesados ​​por srm Sucesivamente.

Borrar directorios y su contenido con srm

los -r La opción (recursiva) hará srm quitar todos los subdirectorios y su contenido. Puede pasar la ruta al primer directorio a srm.

En este ejemplo, borramos todo el directorio actual, ~ / research. Esto significa que todos los archivos en ~ / research y todos los subdirectorios se eliminan de forma segura.

srm -vz *

srm comienza a procesar los directorios y archivos.

Eventualmente lo regresa al símbolo del sistema. En la máquina de prueba en la que se investigó este post, esto tomó alrededor de una hora para quitar alrededor de 200 archivos distribuidos entre el directorio actual y tres directorios anidados.

Todos los archivos y subdirectorios se eliminaron como se esperaba.

El comando sfill

¿Qué pasa si le preocupa un archivo que ha eliminado usando rm, cómo puede repasar ese viejo terreno y asegurarse de que se sobrescriba? los sfill El comando sobrescribirá todo el espacio libre en su disco duro.

Mientras hace esto, notará que tiene cada vez menos espacio libre en su disco duro, hasta el punto en que no hay espacio libre en absoluto. Cuando sfill se completa, te devuelve todo el espacio libre. Si está administrando un sistema multiusuario, esto sería muy perturbador, por lo que esta es una tarea de mantenimiento que debe realizarse fuera de horario.

Inclusive en una computadora de un solo usuario, la pérdida de espacio en el disco duro significa que es inutilizable una vez sfill ha utilizado la mayor parte del espacio. Esto es algo de lo que comenzarías y posteriormente te alejarías.

Para intentar acelerar un poco las cosas, puede usar el -l (reducir la seguridad) opción. Las otras opciones son las -v (detallado) y -z (ceros) opciones que hemos visto previamente. Aquí, estamos preguntando sfill para sobrescribir de forma segura todo el espacio libre en el directorio / home.

sudo sfill -lvz /home

Póngase cómodo. En la computadora de prueba, que solo tiene un disco duro de 10 GB, esto se inició a media tarde y se completó en alguna vez de la noche.

Se agitará durante horas. Y esto es con los -l (reducir la seguridad) opción. Pero, eventualmente, volverá al símbolo del sistema.

El comando sswap

los sswap comando sobrescribe el almacenamiento en su partición de intercambio. Lo primero que debemos hacer es identificar su partición de intercambio. Podemos hacer esto con el blkid comando, que enumera los dispositivos de bloque.

sudo blkid

Debe ubicar la palabra «intercambio» y anotar el dispositivo de bloqueo al que está conectado.

Podemos ver que la partición de intercambio está conectada a /dev/sda5.

Necesitamos desactivar las escrituras de disco en la partición de intercambio mientras dure la sobrescritura. Usaremos el swapoff mando:

sudo swapoff /dev/sda5

Ahora podemos utilizar el sswap mando.

Usaremos /dev/sda5 como parte de la línea de comando para sswap mando. Además usaremos el -v (detallado) opción y -ll (reducir la seguridad), que usamos previamente.

sudo sswap -llv /dev/sda5

sswap comienza a abrirse camino a través de su partición de intercambio, sobrescribiendo todo lo que contiene. No toma tanto tiempo como sfill. Simplemente se siente así.

Una vez que se haya completado, debemos restablecer la partición de intercambio como un espacio de intercambio activo. Hacemos esto con el swapon mando:

sudo swapon /dev/sda5

El comando sdmem

los secure-delete El paquete inclusive contiene una herramienta para limpiar los chips de memoria de acceso aleatorio (RAM) en su computadora.

A ataque de bota fría necesita acceso físico a su computadora poco después de que se apaga. Este tipo de ataque puede, potencialmente, permitir la recuperación de datos de sus chips de RAM.

Si cree que necesita protegerse contra este tipo de ataque, y sería una exageración para la mayoría de las personas pensar que lo necesitaban, puede eliminar la memoria RAM antes de apagar la computadora. Usaremos el -v (detallado) y -ll (reducir la seguridad) una vez más.

sudo sdmem -vll

La ventana de la terminal se llenará de asteriscos como indicación de que sdmem se abre camino a través de su RAM.

La opción fácil: simplemente cifre su disco

En lugar de quitar archivos de forma segura, ¿por qué no proteger su disco duro o su carpeta de inicio a través de cifrado?

Si lo hace, nadie podrá ingresar a nada, ya sea un archivo en vivo o un archivo eliminado. Y no tiene que estar en guardia y recordar eliminar de forma segura los archivos confidenciales debido a que todos sus archivos ya están protegidos.

La mayoría de las distribuciones de Linux preguntan si desea usar el cifrado en el momento de la instalación. Decir «sí» evitará muchas molestias futuras. No puede tratar con información secreta o sensible. Pero si cree que puede obsequiar o comercializar la computadora a otra persona cuando haya terminado con ella, el cifrado además lo simplificará.

setTimeout(function(){
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s) } (window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘335401813750447’);
fbq(‘track’, ‘PageView’);
},3000);

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.