A diario realizamos diversas acciones sobre archivos, carpetas, directorios, donde destacamos la creación y eliminación de estos. Cuando eliminamos un elemento normalmente lo seleccionamos y pulsamos la tecla Supr o Del de nuestro teclado o bien recurrimos al comando rm para tal fin y, es cierto, aunque el elemento se elimina, se podrá recuperar con los conocimientos y herramientas necesarias.
Esto se debe a que cuando borramos un archivo este se aloja en un sector del disco duro y desde allí se podrá recuperar. Si pensamos que existen archivos delicados del sistema, de información personal o de configuración que en las manos equivocadas puede ser un problema, es ideal y práctico el conocer en detalle como borrar tanto de forma segura como total dichos elementos.
Ante este detalle surge una pregunta y es, ¿Cómo borrar de forma correcta un elemento?, esto aplica para todos los sistemas operativos y la respuesta es que la forma ideal y útil es sobrescribir varias veces los datos que vamos a destruir, reemplazándolos con otros datos aleatorios. De este modo se destruirán magnéticamente los datos en el disco y hacemos improbable que pueda recuperarse la información alojada de nuevo.
Por ello hoy Solvetic trae en este día una serie de comandos que serán de gran ayuda para todos los administradores y usuarios de Linux que requieren que sus archivos o directorios sean eliminados por completo del sistema y no estén vulnerables a ser recuperados y así contar con acceso a su información.
1. Utilizar comando shred para borrar permanentemente archivos y directorios en Linux
Shred es un comando para sobrescribir un archivo especifico con el don de ocultar su contenido o eliminarlo si lo deseamos. Con el comando shred, contamos con una utilidad que se encarga de sobrescribir el o los archivos que forma que sea difícil de recuperar por un usuario no autorizado.
Algo importante a saber con el comando shred es que el sistema de archivos sobrescribe los datos en el mismo sitio de origen, pero algunos sistemas de archivos modernos modifican esta tarea y allí shred no cumplirá de forma correcta su gestión, estos sistemas de archivos son:
- Sistemas de ficheros con estructura de registro o con versiones tales como los que se incluyen en AIX y Solaris, estos son JFS, ReiserFS, XFS, Ext3, etc.
- Sistemas de ficheros que ejecutan `snapshots', como el servidor NFS de Network Appliance
- Sistemas de ficheros que escriben datos redundantes y pueden continuar aun cuando se presenten fallos en la escritura, un ejemplo es el sistema de fichero basado en RAID
- Sistemas de ficheros comprimidos
- Sistemas de ficheros que hacen caché en sitios temporales como clientes de NFS versión 3
La sintaxis para usar shred es la siguiente:
shred [OPCIONES] ARCHIVO [...]Las opciones a usar con shred son las siguientes:
Para ver el uso de este comando vamos a ejecutar la siguiente sintaxis:
shred -zvu -n (# de veces) “Archivo”
Podemos ver que se ejecuta el proceso de sobreescritura según indiquemos, se renombra el archivo en ceros y se elimina. Algunas otras opciones para usar shred son:
Elimina múltiples archivos de forma simultánea usando el método de borrado predefinido
shred archivo.txt archivo.jpg archivo.docElimina los archivos de forma simultánea y al tiempo los elimina del disco duro liberando ese espacio
shred -u archivo.txt archivo.jpg archivo.docSobrescribe todos los datos en la partición seleccionada
shred /dev/hda1Para obtener mas ayuda de shred podemos ejecutar lo siguiente:
man shred
2. Utilizar comando Wipe para borrar permanentemente archivos y directorios en Linux
El comando wipe ha sido desarrollado para borrar cualquier archivo o directorio en Linux de forma segura directamente de la memoria magnética y, con ello se hace imposible recuperar estos archivos borrados o el contenido del directorio garantizando la seguridad y privacidad.
Para instalar wipe en Linux podemos ejecutar alguno de los siguientes comandos:
sudo apt-get install wipe (En Debian y derivados) sudo yum install wipe (En CentOS o RHEL)
Luego, basta con ejecutar la siguiente sintaxis:
wipe -rfi “Archivo”/*Por ejemplo, vamos a borrar todo el contenido almacenado en el directorio Solvetic1:
wipe -rfi Solvetic1/*
Los parámetros usados son:
Podemos ver un resumen con cuantos archivos han sido eliminados en el directorio seleccionado. Adicional podemos usar los siguientes parámetros en wipe:
Para consultar mas sobre este comando usaremos la siguiente línea:
man wipe
3. Utilizar comando Secure-delete para borrar permanentemente archivos y directorios en Linux
Secure-delete se trata de una colección de herramientas de eliminación segura de archivos en Linux la cual contiene la herramienta srm (secure_deletion), que se usa para eliminar archivos o directorios de forma segura.
El primer paso es instalar la utilidad usando alguno de los siguientes comandos:
sudo apt-get install secure-delete (Para Debian y derivadas) sudo yum install secure-delete (Para CentOS y RHEL)
Una vez instalada basta con ejecutar la siguiente sintaxis:
srm -vz archivo/*
Podemos ver que de forma predeterminada se ejecutan 38 pasadas sobre el archivo.
Las opciones que hemos usado son:
Algunas opciones adicionales a usar son:
- No todos los datos en sistemas de archivos NFS serán borrados
- Los sistemas Raid hacen uso de discos eliminados y tienen grandes cantidades de memoria cache por lo cual es más complejo su eliminación
- No todos los datos en swap y /tmp serán borrados.
Para más ayuda podemos ejecutar el siguiente comando:
man srm
4. Utilizar comando sfill para borrar permanentemente archivos y directorios en Linux
El comando sfill forma parte del kit de herramientas de Secure-delete y es un limpiador de espacio de inode, asimismo elimina archivos en el espacio libre del disco de forma segura. sfill se encarga de comprobar el espacio libre en la partición seleccionada y luego la llena con datos aleatorios de /dev/urandom.
En teoría, sfill se ocupa de llenar el espacio que queda después de borrar un archivo evitando que la información pueda ser recuperada. Su algoritmo de borrado esta basado por la eliminación segura de datos de la memoria magnética y de estado sólido la cual fue presentada por Peter Gutmann en Usenix.
Podremos ejecutar el siguiente comando en la partición raíz, con el modificador -v para habilitar el modo detallado:
sudo sfill -v /home/solvetic/tmp/
En caso de haber creado una partición separada del tipo /home para almacenar los directorios de inicio de los usuarios normales del sistema, será posible indicar un directorio en esa partición para aplicar sfill de la siguiente forma:
sudo sfill -v /home/usuario
Algunos de los parámetros a usar con sfill son:
Para más información podemos ejecutar el comando:
man sfill
5. Utilizar comando sswap para borrar permanentemente archivos y directorios en Linux
Sswap (Secure Swap Wipe) es un comando desarrollado para actuar como un limpiador de particiones seguro, así sswap elimina los datos en la partición de intercambio (swap) de forma segura. Antes de usar sswap será necesario desmontar la partición de intercambio.
Para su uso se determina la partición swap, luego, haciendo uso del comando swapon se verifica si los dispositivos o archivos de intercambio están activos para luego deshabilitar la búsqueda y el intercambio de dispositivos o archivos con el comando swap.
Para esto ejecutaremos lo siguiente:
cat /proc/swaps swapon sudo swapoff “partición” sudo sswap -V “partición”
6. Utilizar comando sdmem para borrar permanentemente archivos y directorios en Linux
Otro de los comandos útiles es sdmem el cual como su nombre lo indica es un limpiador de memoria seguro, y está diseñado para eliminar los datos activos en la memoria RAM de forma segura.
Para su ejecución basta con usar la siguiente línea:
sudo sdmem -f -v
Hemos visto como contamos con soluciones prácticas para un borrado seguro de la información en Linux.