Borrado seguro de discos en Linux: lo que dice la ley y cómo hacerlo bien

Borrado seguro de discos en Linux: lo que dice la ley y cómo hacerlo bien

Un Jedi no deja su sable en manos del Imperio. Nadie debería dejar datos en un disco que ya no es suyo. Estás dando datos de tu vida al enemigo y es muy peligroso.

Cuando pulsas Supr, el sistema operativo tacha el nombre del fichero de la lista. Los datos siguen ahí, exactamente donde estaban. Cualquier herramienta de recuperación puede leerlos. Eso incluye el portátil vendido en Wallapop, el disco al contenedor de electrónica y el servidor devuelto al proveedor al final del contrato de leasing. Un día me encontré en un punto limpio un ordenador antiguo que funcionaba perfectamente, tenía el disco duro y fotos de una familia que se podían recuperar, esto es un peligro.

El RGPD tiene opinión sobre esto. El ENS también. La sanción no es por haber tenido los datos — es por no haberlos destruido cuando tocaba.

shred, nwipe y ATA Secure Erase existen para eso. Esta guía cubre HDDs, SSDs y NVMe, qué exige la ley y por qué formatear no es borrar.

Índice


El mito del borrado: por qué Supr no borra nada

Los sistemas de ficheros no almacenan datos linealmente — los gestionan mediante una tabla de índices. Cuando borras un fichero, el sistema elimina la entrada del índice y marca ese espacio como disponible. Los bytes del fichero permanecen intactos hasta que otro fichero los sobreescriba.

Antes de borrar:         Después de "borrar":
[índice] → sector 142   [índice] → (eliminado)
[sector 142] = datos    [sector 142] = datos  ← siguen ahí

testdisk, photorec, foremost o cualquier herramienta forense básica puede recuperar esos datos en minutos. Y aquí viene lo que nadie dice: no hace falta ser perito. Hay aplicaciones gráficas para Windows que lo hacen con un asistente paso a paso, sin conocimientos técnicos, con un botón verde grande al final.

Formatear tiene el mismo problema. Un formato rápido recrea el sistema de ficheros pero no toca los sectores de datos. Un formato completo (escritura de ceros) sí sobreescribe — pero la mayoría de los asistentes de instalación y herramientas de gestión de discos hacen el formato rápido por defecto.

El único borrado real es la sobreescritura deliberada de todos los sectores.


Lo que exige la ley: RGPD, ENS y LOPD

RGPD (Reglamento General de Protección de Datos)

El artículo 5 del RGPD establece el principio de limitación del plazo de conservación. El artículo 32 exige medidas técnicas apropiadas para garantizar la seguridad. Todos estos temas legales implican grandes multas que se pueden evitar, evitémoslo.

ENS (Esquema Nacional de Seguridad)

Para entidades del sector público y sus proveedores, el ENS (Real Decreto 311/2022) exige en su medida mp.si.5 — Borrado y destrucción que la eliminación de información se realice de forma que no sea posible su recuperación posterior. El nivel de exigencia varía según la categoría del sistema (básica, media, alta).

En la práctica

Lo que importa operativamente —y aquí es donde la mayoría se queda a cuadros cuando se lo explican— es que la obligación no se limita a grandes empresas ni a sectores regulados:

  • Cualquier dispositivo que haya almacenado datos personales y vaya a salir de tu control requiere borrado certificado
  • Esto incluye: portátiles de empleados, servidores dados de baja, discos de backup, memorias USB, móviles corporativos
  • El borrado debe ser verificable y, en entornos regulados, documentado con un certificado

Estándares de borrado: DoD, NIST y HMG

Los estándares definen cuántas pasadas de sobreescritura son necesarias y con qué patrones.

Tabla comparativa de estándares de borrado seguro: DoD, NIST 800-88, HMG IS5 y Gutmann

Para discos modernos (fabricados después de 2001), una sola pasada de sobreescritura con datos aleatorios es suficiente según NIST. Los métodos de 35 pasadas como Gutmann son un vestigio de tecnología magnética antigua y no añaden seguridad real en hardware actual, pero claro de vez en cuando te cruzas con máquinas muy caras y antiguas que tienen discos duros de los 90, es bueno saberlo.


HDDs: shred y nwipe

Para discos duros mecánicos, la sobreescritura es el método estándar. Cuando di de baja los primeros HDDs del homelab —discos que habían pasado por máquinas con datos reales— me quedé a cuadros al ver lo rápido que photorec recuperaba ficheros de un disco que yo creía vacío. Desde entonces, shred antes de cualquier salida, sin excepción.

shred

shred es parte de GNU coreutils — disponible en cualquier Linux sin instalar nada.

# Borrado básico: 3 pasadas aleatorias + pasada final de ceros
shred -vfz -n 3 /dev/sdX

Opciones relevantes:

  • -v — verbose: muestra el progreso
  • -f — fuerza cambio de permisos si es necesario
  • -z — añade pasada final con ceros para ocultar el borrado
  • -n 3 — número de pasadas (3 = equivalente DoD)

Para un disco de 1TB espera entre 3 y 6 horas dependiendo de la velocidad del disco.

# Verificar que el dispositivo es el correcto ANTES de ejecutar
lsblk
fdisk -l /dev/sdX

Nunca ejecutes shred sobre el disco del sistema en uso. Arranca desde un live USB (Debian, Ubuntu, Kali) y opera sobre el disco como dispositivo externo.

nwipe

nwipe es más cómodo para entornos donde hay que documentar el proceso o borrar varios discos, yo en determinadas ocasiones lo utilizo en el día a día. Saber qué utilizar es lo que define a un buen técnico.

apt install nwipe
nwipe --method=dodshort --verify=last /dev/sdX

Métodos disponibles en nwipe:

  • dodshort — DoD 5220.22-M corto (3 pasadas)
  • dod522022m — DoD completo (7 pasadas)
  • gutmann — 35 pasadas (innecesario para hardware moderno)
  • random — pasada única con datos aleatorios (suficiente según NIST para la mayoría de casos)
  • zero — pasada única con ceros (rápido, menos seguro)

La opción --verify=last hace una verificación de lectura al terminar y genera un informe. Útil cuando necesitas documentar el borrado.

# Interfaz interactiva con selección de discos
nwipe

nwipe tiene modo interactivo (tipo ncurses) donde seleccionas el disco, el método y lanzas el proceso. Práctico cuando hay varios discos.


SSDs y NVMe: ATA Secure Erase

Los SSDs no funcionan como los HDDs. La sobreescritura directa de sectores tiene dos problemas:

  1. Over-provisioning: los SSDs reservan capacidad oculta que el sistema operativo no ve y que shred no puede alcanzar
  2. Wear leveling: el controlador redistribuye las escrituras para prolongar la vida del disco — una “sobreescritura” puede no tocar los datos originales si el controlador los mueve a otro sector

La solución es ATA Secure Erase: una instrucción a nivel de firmware que ordena al controlador borrar internamente todas las celdas, incluido el espacio reservado. Sin excepciones. El controlador sabe cómo hacerlo bien porque es quien gestiona el hardware —aunque esto es opinión mía— y es el único método fiable para SSDs SATA si no puedes destruirlos físicamente.

ATA Secure Erase para SSD SATA

# Instalar hdparm
apt install hdparm

# Verificar que el disco soporta Secure Erase
hdparm -I /dev/sdX | grep -i "security"

La salida debe mostrar supported: enhanced erase y que el estado es not frozen. Si aparece frozen, intenta suspender y reanudar el sistema (el BIOS suele quitar el freeze tras la reanudación).

# Paso 1: establecer contraseña temporal (puede ser cualquier cosa)
hdparm --security-set-pass borrame /dev/sdX

# Paso 2: ejecutar Secure Erase
hdparm --security-erase borrame /dev/sdX

El proceso tarda entre 2 y 30 minutos según el disco. Al terminar, la contraseña se elimina automáticamente y el disco queda en estado de fábrica.

NVMe: nvme format

Para discos NVMe el comando es distinto:

# Instalar nvme-cli
apt install nvme-cli

# Ver información del disco
nvme id-ctrl /dev/nvme0

# Secure Erase (ses=1 = user data erase, ses=2 = cryptographic erase)
nvme format /dev/nvme0n1 --ses=1

--ses=1 ordena al controlador sobreescribir todos los datos de usuario. --ses=2 realiza un borrado criptográfico — si el disco usa cifrado interno (la mayoría de NVMe modernos lo hacen), simplemente destruye la clave de cifrado, haciendo los datos irrecuperables en milisegundos.


Verificar que el borrado fue efectivo

Tras el borrado, conviene verificar que no hay datos recuperables. Yo siempre lo verifico, como consejo hazlo:

# Leer los primeros sectores y verificar que son ceros o aleatorio
dd if=/dev/sdX bs=512 count=100 | xxd | head -20

Si el borrado fue correcto verás solo 00 00 00 00... (borrado con ceros) o datos aparentemente aleatorios (borrado con random).

Para una verificación más completa:

# Instalar sleuthkit (herramientas forenses)
apt install sleuthkit

# Intentar listar sistema de ficheros — debe fallar si el borrado fue correcto
fsstat /dev/sdX

Si fsstat devuelve error o no encuentra estructura de sistema de ficheros, el borrado fue efectivo.

Para entornos que requieren certificación, nwipe --verify=last genera un informe con hash del disco antes y después que puede adjuntarse como evidencia documental.


Cuándo la destrucción física es la única opción

La sobreescritura tiene sus límites. Hay casos donde la destrucción física del soporte es la única garantía:

Discos con sectores defectuosos. Un sector reasignado por el firmware no puede ser sobreescrito por software — el controlador lo oculta del sistema operativo pero los datos siguen en el sector físico. Si el disco tiene muchos sectores reasignados (visible en smartctl -a /dev/sdX), la sobreescritura no es completa.

SSDs con cifrado desconocido. Si no puedes confirmar que el SSD usa ATA Secure Erase correctamente (algunos fabricadores lo implementan mal), la destrucción física elimina la duda.

Datos clasificados o de alto riesgo. Para información sujeta a secreto industrial, datos de salud o información clasificada, los estándares habituales exigen destrucción física certificada — trituradora de discos o incineración.

Discos que no arrancan. Si el disco está dañado y no se puede montar, no es posible hacer sobreescritura por software. Destrucción física.

La destrucción física no tiene que ser compleja: un taladro a través del plato magnético (HDDs) o a través de los chips de memoria (SSDs) y listo. Esto hace que los datos no se puedan recuperar para cualquier laboratorio forense sin equipamiento extremadamente especializado. Con un simple destornillador desmontas el disco y sacas platos y algún chip y listo.


⚠️ Los procesos descritos en este artículo son irreversibles. Piensa bien lo que vas a hacer antes de nada. Verifica siempre que actúas sobre el dispositivo correcto antes de lanzar cualquier comando, varias veces no pasa nada por estar bien seguro aunque tardes más, esto evita disgustos. Como autor no asumo ninguna responsabilidad por pérdidas de datos derivadas del uso de las herramientas aquí descritas.

Entregar un disco sin borrar bien es como dejar las llaves de casa dentro del sobre cuando vendes el piso. El siguiente propietario no tiene que hacer nada especial — los datos están ahí, esperando.

Sun Tzu lo tenía claro: no dejes al enemigo lo que puedas destruir.