Buscar este blog

jueves, 9 de junio de 2011

Encriptando LVM sin contraseña

En Linux es posible encriptar un volumen LVM y mantener nuestra información segura, se puede hacer de forma que nos pida una contraseña al iniciar el sistema o sin contraseña, en mi caso no me preocupa mucho que se roben la pc ya que es un equipo de escritorio pero no me gusta correr shred durante días para eliminar la información privada cuando vendo el disco duro para actualizarlo, así que encripto el disco sin contraseña.
Aquí van las instrucciones para hacerlo.
Primero que nada es llenar el disco duro nuevo con información aleatoria ya que así es todavía mas difícil desencriptar el disco (ojo es posible desencriptar un disco con las herramientas adecuadas) por lo que ejecutamos el comando badblocks en la partición que vamos a usar:

badblocks -c 10240 -s -w -t random -v /dev/sdb6

También es posible correr el el comando badblocks directo en el volumen lógico pero tiene la desventaja de que si después creces el volumen parte de este estará vacío por lo que sera mas vulnerable.
Algunos recomiendan llenar otra vez el disco duro con datos aleatorios pero esta vez desde el dispositivo del kernel /dev/urandom que genera mejores aleatorios y hace todavía mas difícil desencriptar el disco pero tiene la desventaja de ser mucho mas lento y con el tamaño de los discos modernos realmente se hace impracticable este procedimiento, en fin si tienes días o semanas libres o una partición muy pequeña este es el comando:

dd if=/dev/urandom of=/dev/sdb6

Después creamos el volumen lógico esto esta perfectamente explicado y de manera muy simple en el howto de LVM así que no lo explicare aquí.

Finalmente llega la hora de encriptar el volumen, primero creamos el archivo que contendrá la información para desencriptar y poder usar el volumen:

dd if=/dev/random of=LVM.key bs=1 count=256

Ponemos este archvo en una carpeta que se pueda accesar en el arranque y con permisos de solo lectura para el usuario root.
Con este archivo encriptamos la partición:

cryptsetup --verbose --key-size=256 luksFormat /dev/VG0/LV0 /etc/keys/LVM.key

Abrimos el dispositivo encriptado y creamos el sistema de archivos:

cryptsetup --key-file=/etc/keys/LVM.key luksOpen /dev/VG0/LV0 LVM0
mke2fs -t ext4 /dev/mapper/LVM0
mount -t ext4  /dev/mapper/LVM0 /mnt

Ahora ajustamos el sistema para montar el volumen encriptado en el arranque esto se hace añadiendo una entrada en /etc/crypttab para abrir el volumen encriptado y otra en /etc/fstab para montarlo
En /etc/crypttab:
LVM0 /dev/VG0/LV0 /etc/keys/LVM.key

En /etc/fstab:
/dev/mapper/LVM0 /mnt ext4 defaults 1 2

Y listo tenemos un volumen LVM encriptado sin contraseña.

1 comentario: