Popular channels

Cómo encriptar un disco rígido










Desde hace tiempo, y por las malas, aprendí lo importante que es hacer backups periódicos de mis archivos. Sin lugar a dudas la más cómoda es usando un disco rígido externo y el comando rsync (más sobre esto en otro post). Si se tiene la carpeta /home en una partición diferente se vuelve muy sencillo recuperarse de un desastre (voluntario, como cambiar de ordenador o involuntario, como la muerte del disco duro). También los discos externos son fundamentales con las nuevas laptops que vienen equipadas sólo con discos SSD y el espacio queda insuficiente. Pero hay un riesgo inherente al andar con un dispositivo externo: exponer nuestra información a cualquier persona que tenga acceso físico a nuestro dispositivo (por ejemplo si lo olvidamos, o si lo roban). O si, como es mi caso, deseamos hacer backups de nuestra información remotamente, y el disco no está ni siquiera bajo nuestra supervisión. La solución a todos estos problemas es la encriptación de la información.

Encriptar disco duro

Encriptar quiere decir esconder la información detrás de una contraseña. Sin esta se vuelve muy difícil descubrir el contenido de un archivo o de un disco duro (muy a mi pesar, todos los consejos aquí incluidos no son a prueba de la NSA.) A grandes rasgos hay dos formas de hacerlo; la primera es archivo por archivo permitiendo que se sigan compartiendo los documentos como normalmente, pero se necesitará de una clave para descifrar el contenido. Esto es ideal cuando se desconfía del intermediario o se quiere salvar una pequeña cantidad de datos en un dispositivo extraíble (pendrive, memoria SD, etc.) Es también lo que implementa Ubuntu de forma nativa para su encriptación, por ejemplo y volveré sobre esta más adelante.

Otra forma es la encriptación completa del disco (o de una partición), impidiendo que sea siquiera montado antes de introducir una contraseña y este es el método predilecto para los backups o los discos que llevamos siempre con nosotros. Para este tipo de encriptación, usaremos dm-crypt+LUKS. Los consejos que presento aquí son para ejecutar todo desde la línea de comandos, pero como explico al final, con una interfaz gráfica como la que provee Ubuntu se vuelve muy sencillo todo el proceso.

Para instalarlo el primer paso (en Ubuntu y similares) es ejecutar el siguiente comando en la terminal:


sudo apt-get install cryptsetup

Fedora y similares deberán ejecutar (como root)


yum install cryptsetup-luks

Luego debemos encriptar la partición que deseemos. ADVERTENCIA: perderemos toda la información que exista en dicha partición. Antes de ejecutar el comando, si no lo están haciendo sobre un disco en blanco, lo mejor es tener una copia de respaldo y estar seguro de que es lo que se desea hacer. Para este ejemplo, lo haré sobre el disco sdz1 (ustedes tienen que averiguar sobre qué disco desean realizarlo). Recuerden no tener montada la unidad al momento de ejecutar el comando.


cryptsetup -y -v luksFormat /dev/sdz1

Y lo que obtendremos como respuesta es lo siguiente:


WARNING!
========
This will overwrite data on /dev/sdz1 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
Command successful.

Recuerden que una vez que introducen la contraseña el disco quedará cifrado y la contraseña no es recuperable. Tienen que memorizarla. Una vez que están listos, pueden crear un mapeo del disco con el nombre que deseen; yo la llamaré backup pero ustedes pueden hacer lo que les convenga. El comando es el siguiente:


cryptsetup luksOpen /dev/sdz1 backup

Y a continuación les pedirá que introduzcan la contraseña que habían establecido al principio. Si quieren ver que todo esté funcionando bien, pueden ejecutar


ls -l /dev/mapper/backup

O para ver el estado del mapeo:


cryptsetup -v status backup

Una recomendación común es llenar el disco de ceros, para que un posible atacante no sepa ni siquiera qué porción del disco está en uso. Es un poco extremo y puede llevar muchas horas en completarse. Este paso dependerá de ustedes, el comando es el siguiente:


dd if=/dev/zero of=/dev/mapper/backup

Una vez finalizado, debemos formatear la partición, por ejemplo con el siguiente comando:


mkfs.ext4 /dev/mapper/backup

Y finalmente la montaremos donde deseemos, por ejemplo


mkdir /backup
mount /dev/mapper/backup /backup
df -H
cd /backup
ls -l

Para desmontar la partición, sólo hace falta ejecutar


umount /backup
cryptsetup luksClose backup

Y para volver a montar la partición:


cryptsetup luksOpen /dev/sdz1 backup
mount /dev/mapper/backup /backup

Otra de las ventajas que tiene LUKS es que se pueden almacenar hasta 8 contraseñas diferentes para acceder a la partición. En caso de ser un disco compartido entre más de un usuario, no es necesario tener una contraseña en común. Para agregar una contraseña se puede ejecutar el siguiente comando:


cryptsetup luksDump /dev/sdz1
cryptsetup luksAddKey /dev/sdz1

Primero pide una de las contraseñas que ya funcionen y luego pedirá la nueva contraseña. Para borrar un de las viejas contraseñas se puede ejecutar


cryptsetup luksRemoveKey /dev/sdz1

La ventajas de usar LUKS es que es muy práctico para protejer información en medios removibles como discos externos, pendrives, tarjetas de memoria, etc. También permite encriptar la partición de swap, por lo que hibernar el ordenador también sería seguro. La desventaja es que cualquier persona con acceso a una PC con la partición montada podrá ver su contenido (no es encriptación a nivel de archivos pero a nivel de disco).

En Ubuntu funciona de maravillas; cuando conectamos una unidad encriptada, automáticamente la detecta y nos informa que está encriptada. Si hacemos click para acceder a ella, nos pide la contraseña y listo, como un disco cualquiera. Esto es genial para llevar nuestros pendrives encriptados y ante la pérdida o el olvido, que cualquiera pueda ver las fotos de las vacaciones
















0
2
0
2Comments
megee

👍

0
Clodion
0