Cómo borrar datos de forma segura en Linux
Normalmente, las personas asumen que borrando los archivos o formateando el disco duro es suficiente para borrar datos de forma segura y que estos no puedan recuperarse fácilmente. Lo cierto es que esto no ocurre exactamente así. Esa información es muy fácil de recuperar. Por ello, la seguridad es un factor clave, sobre todo para aquellos que van a vender una PC o donarla.
En este artículo te mostraré como borrar datos de forma segura con el comando “dd”, el cual viene por defecto en todas las distribuciones de GNU/Linux. El proceso que seguiré es el empleado por el Departamento de Defensa del Gobierno de los Estados Unidos de América (US Government DoD).
Limpiando el disco duro
Cuando borras un archivo o formateas una torre, lo que le estás diciendo al sistema operativo, básicamente, es que puede utilizar esa porción del disco si la necesita. Si esa porción del disco no es reescrita nuevamente, la información permanecerá de forma indefinida. Por tanto, para hacer que el borrado sea irrecuperable, debes escribir datos en esa parte del disco, y mientras más veces lo hagas, menos podrá ser recuperada la información original.
Para borrar un disco en GNU/Linux puedes usar el comando “dd”:
1 |
# dd if=/dev/zero of=/dev/sda |
El comando anterior se encarga de escribir en el disco el código ASCII 0x00.
En este punto, recuperar los datos con total integridad será imposible para la mayoría de las técnicas de recuperación de datos.
Debido a la forma en que están hechos los discos duros es posible conocer qué fue escrito bajo las operaciones de escritura. Por ejemplo, si escribes con ceros todo tu disco duro, será fácil determinar qué dato fue escrito antes: este será el uno que no era un cero. Por ello, si quieres complicar más el proceso de recuperación, puedes escribir el disco duro con datos aleatorios:
1 |
# dd if=/dev/urandom of=/dev/sda |
Si escribes completamente el disco “sda” con datos aleatorios el proceso de recuperación será imposible. Incluso, si aún quieres un mayor nivel de seguridad puedes escribir con datos aleatorios varias veces el disco. El Departamento de Defensa del Gobierno de Estado Unidos de América, recomienda hacerlo 7 veces cada 8 bits:
1 |
# for n in `seq 7`; do dd if=/dev/urandom of=/dev/sda bs=8b conv=notrunc; done |
A continuación te muestro un script que te permite borrar datos de forma segura para varios discos en un mismo servidor o PC:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
#!/bin/bash ## Wipe HDD securely ## by universo-digital.net if [ -z ${@} ] > /dev/null 2>&1; then echo -e "Wipe HDD securely \n" echo -e "Usage: \n" echo -e "wipe-hdd.sh device1 device2 device3 \n" echo -e "Example: \n" echo -e "wipe-hdd.sh sdb sdc sdd \n" exit 1 fi # Getting parameters DEVICES="${@}" for i in ${DEVICES[@]}; do echo "Checking if $i is a valid block device..." if [ -e $i ]; then echo "$i is a valid block device." echo "Wipe $i securely..." # Writing ramdom data 7 times (US Goverment procedure!!) echo "Erasing content securely in $i..." for n in `seq 7`; do dd if=/dev/urandom of=$i bs=8b conv=notrunc done echo "Done." else echo "$i is not a valid block device. Skipping..." fi done |
Es muy conveniente y útil conocer formas seguras de borrar totalmente nuestros datos. Así, si vamos a vender la PC, donar un servidor o SAN no tenemos que preocuparnos si intentan recuperar la información que había antes. Es válido aclarar que aquí he descrito el funcionamiento del comando “dd”, pero otra herramienta muy eficiente que puedes utilizar para borrados seguros es Darik’s Boot and Nuke.
Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir