Páginas

miércoles, 31 de enero de 2018

Borrado 'seguro' de un disco duro mediante utilidades linux

Hola

Vamos a comentar en esta entrada como realizar un borrado 'seguro' de
un disco duro mediante utilidades linux recogidas en la distribución
Ubuntu.

Lo primero es identificar con toda seguridad el disco que queremos
borrar, no sea que borremos por error otro disco o partición. Para
ello uno de los comandos mas útiles es:

  sudo lsblk -fm

El comando saca información sobre todos los dispositivos de bloque
(lease discos) definidos en el sistema. Para mas información podemos
consultar el manual (man lsblk).

Generará una salida de tipo:

NAME   FSTYPE LABEL                     UUID                                 MOUNTPOINT                 NAME     SIZE OWNER GROUP MODE
sda                                                                                                     sda    298,1G root  disk  brw-rw----
├─sda1 swap                             58f76d10-0d5a-4c13-a26e-cf2ea0cb4466 [SWAP]                     ├─sda1  10,5G root  disk  brw-rw----
├─sda2                                                                                                  ├─sda2     1K root  disk  brw-rw----
├─sda5 ext4                             770bee2a-5c56-4a75-b0bc-7726d8e80aab /home                      ├─sda5 256,1G root  disk  brw-rw----
└─sda6 ext4                             9bf5a0df-326c-46a7-bf1f-d138b9cb4e51 /                          └─sda6  31,5G root  disk  brw-rw----
sdb                                                                                                     sdb    931,5G root  disk  brw-rw----
└─sdb1 ntfs   Seagate Backup Plus Drive 2EE49D74E49D3ED1                     /media/egdepedro/Seagate B └─sdb1 931,5G root  disk  brw-rw----
sr0                                                                                                     sr0     1024M root  cdrom brw-rw----

Las columnas de datos son:

  • NAME. Nombre del disco (sda y sdb) y debajo un arbol con el nombre de las particiones definidas (sda1, sda2, sda3, sda4 y sdb1). En la imagen anterior tendríamos 4 particiones dentro del disco sda y una partición en el disco sdb.
  • FSTYPE. Tipo de File System de cada partición.
  • LABEL. Etiqueta de cada partición modificable por los usuarios. Suele introducirse un nombre lógico como 'datos', 'sistema', etc.
  • UUID. Identificador único de cada partición.
  • MOUNTPOINT. Punto de montaje de cada partición.
  • SIZE. Tamaño de cada disco/particion en GB.
  • OWNER. Usuario propietario del disco/partición.
  • GROUP. Grupo propietario del disco/partición.
  • MODE. Opciones de son las opciones de montaje de cada disco duro o partición.

Una vez identificado el nombre 'NAME' del disco/partición a borrar
lanzaremos el comando:

  shred -f --random-source=/dev/urandom -n 10 -v -z /dev/sda

El comando sobreescribe el disco indicado tantas veces como deseemos (-n 10), con datos aleatorios (--random-source=/dev/urandom), machacando incluso areas sobre las que no tuviésemos permisos (-f), nos muestra el progreso (-v) y rellena con ceros el final de cada fichero para ocultar el triturado (-z).

Para mas información podemos consultar: http://www.gnu.org/software/coreutils/shred

Nota. Si queremos sobrescribir el disco con ceros en vez de datos aleatorios (a priori mucho menos seguro por lo que se precisan mas pasadas) podemos usar (--random-source=/dev/zero). Apuntar además que el proceso anterior (con valores aleatorios) es bastante lento.

Eso es todo