lunes, 22 de octubre de 2012

Linux: cómo encriptar una partición de disco.

- Introducción.

El uso de datos o particiones encriptadas en Linux es un tema bastante amplio. Este artículo no pretende ser una descripción exhaustiva, me voy a centrar en un caso muy simple. Los mismos principios que aprenderás aquí podrás usarlos para encriptar particiones de sistema, de usuario, etc. Solo necesitarás automatizar todo un poco.

Mi caso es el siguiente. Uso un disco duro externo con interfaz eSATA para mis copias de seguridad. Como considero que parte de la información que almaceno ahí es sensible, quiero encriptar la partición para que, en caso de pérdida, no sea accesible.  Tan sencillo como eso.

Actualmente estoy usando una distribución Debian Wheezy con un kernel 3.2.0-3-amd64 Las instrucciones deberían valer para cualquier distribución de Linux moderna.

- Copia de seguridad

Que yo sepa no hay forma de convertir una partición no encriptada en una encriptada. Para crear la partición encriptada es necesario borrar todos los datos que hay en ella, así que, si tienes datos que quieras conservar, tendrás que hacer una copia externa y luego restaurarla.

Por otro lado, es evidente que si pierdes la contraseña de la partición encriptada, pierdes los datos. Actúa en consecuencia.

- Preparando la partición

En primer lugar, necesitas instalar cryptsetup. En Debian:

apt-get install cryptsetup

Ahora vamos a crear el dispositivo. Suponiendo que queremos encriptar la partición /dev/sdb2

root@jose:~# cryptsetup luksFormat /dev/sdb2
WARNING!
========
This will overwrite data on /dev/sdb2 irrevocably.
Are you sure? (Type uppercase yes):
YES
Enter LUKS passphrase:
Verify passphrase:

Bien, ya hemos creado nuestra partición y le hemos dado una clave. Ahora tenemos que abrirla :

root@jose:~# cryptsetup luksOpen /dev/sdb2 vol-backup
Enter passphrase for /dev/sdb2:

IMPORTANTE: a partir de ahora, sólo nos referiremos al dispositivo como /dev/mapper/vol-backup (o cualquier otro nombre que quieras darle en la orden luksOpen), no como /dev/sdb2.

Una vez abierta, creamos nuestro sistema de ficheros encima. Yo uso ext4, puedes usar el que quieras.

root@jose:~# mkfs.ext4 /dev/mapper/vol-backup 


Nuestro sistema ya está listo para ser utilizado. Vamos a cerrarlo para enlazar con la siguiente sección:

cryptsetup luksClose  vol-backup

- Usando la partición.

Cuando quieras usar la partición encriptada, primero tienes que abrirla (dando la contraseña), y luego montarla. Recuerda que, una vez la has abierto, tienes que acceder a la partición a través de /dev/mapper/ :


root@jose:~# cryptsetup luksOpen /dev/sdb2 vol-backup
Enter passphrase for /dev/sdb2: 
root@jose:~# mount /dev/mapper/vol-backup /mnt/backup

Cuando hayas terminado, la desmontas y la cierras:


umount /mnt/backup/
cryptsetup luksClose  vol-backup



No hay comentarios:

Publicar un comentario