El comando shred es una utilidad de línea de comandos en sistemas Linux/Unix que se utiliza para sobrescribir repetidamente un archivo con datos aleatorios antes de eliminarlo, con el propósito de dificultar (o imposibilitar) la recuperación de los datos eliminados mediante técnicas de recuperación forense.
Sintaxis básica
Relacionado: Herramientas. resumen. Forense de memoria de sistema completo. Lectura y escritura coordinada entre procesos sin kernel. 2025 02 20 Seguridad iOS memoria permisos y sandboxing.
shred [opciones] <archivo>¿Cómo funciona?
-
Sobrescritura:
shredsobrescribe el contenido del archivo varias veces con datos aleatorios. Esto evita que herramientas de recuperación de datos puedan reconstruir los datos originales.
-
Eliminación opcional:
- Después de sobrescribir,
shredpuede eliminar el archivo si se especifica la opción correspondiente.
- Después de sobrescribir,
-
Reemplazo seguro:
- El proceso asegura que los bloques de datos en disco sean alterados, incluso en sistemas de archivos tradicionales.
Opciones comunes
| Opción | Descripción |
|---|---|
-f | Fuerza los permisos de escritura si es necesario para sobrescribir el archivo. |
-n N | Realiza N pasadas (sobrescrituras) en lugar de las 3 por defecto. |
-u | Después de sobrescribir, elimina el archivo (unlink). |
-v | Muestra detalles (modo verboso) del progreso de sobrescritura. |
-z | Sobrescribe con ceros al final, para que no parezca que el archivo ha sido manipulado. |
Ejemplos de uso
-
Sobrescribir un archivo con valores aleatorios (por defecto 3 pasadas):
shred archivo.txt -
Sobrescribir y eliminar un archivo de forma segura:
shred -u archivo.txt -
Personalizar el número de sobrescrituras (5 pasadas):
shred -n 5 archivo.txt -
Sobrescribir, eliminar y llenar con ceros en la última pasada:
shred -u -z archivo.txt -
Aplicar
shreda múltiples archivos:shred -u archivo1.txt archivo2.txt archivo3.txt
Consideraciones importantes
-
Limitaciones en ciertos sistemas de archivos:
- En sistemas de archivos modernos, como ext4, btrfs, o aquellos con soporte para journaling o copia en escritura (COW), los datos originales pueden ser mantenidos en otras partes del disco, lo que podría comprometer la seguridad del proceso. Para estos casos, es recomendable utilizar herramientas específicas para limpiar bloques libres o discos enteros.
-
No garantiza la eliminación en discos SSD:
- En discos sólidos (SSD), el mapeo lógico a físico realizado por el controlador del SSD puede dificultar que
shredsobrescriba físicamente los bloques correctos. En estos casos, el comandoblkdiscardo utilidades específicas del fabricante son más efectivas.
- En discos sólidos (SSD), el mapeo lógico a físico realizado por el controlador del SSD puede dificultar que
-
No apto para nombres de archivo:
shredno sobrescribe los nombres de archivo presentes en el sistema de archivos. Para garantizar la eliminación segura de nombres de archivo, considera usarwipeo técnicas adicionales.
Resumen
El comando shred es útil para garantizar la destrucción segura de datos en muchos casos. Sin embargo, su efectividad depende del sistema de archivos y del medio de almacenamiento. En situaciones donde la seguridad total es crítica, considera herramientas complementarias o técnicas de destrucción física.