Esta pagina se ve mejor con JavaScript habilitado

Cifrado con LUKS

 ·  🎃 kr0m

En esta ocasión vamos a explicar como generar un fichero protegido por contraseña mediante LUKS, esto resulta muy útil porque no es necesario cifrar el dispositivo entero pudiendo utilizarlo para otros fines.

Instalamos el software necesario.

emerge sys-fs/cryptsetup

Generamos un fichero de 50Gb con datos aleatorios:

dd if=/dev/urandom of=ciphered_file bs=1G count=50 iflag=fullblock

Le damos formato “luks” y asignamos contraseña:

cryptsetup --hash=sha256 --key-size=512 --verify-passphrase luksFormat ciphered_file

WARNING!:

Esto sobreescribirá los datos en ciphered_file2 de forma irrevocable.

Are you sure? (Type uppercase yes): YES
Introduzca la frase contraseña:

Obtenemos info del fichero:

cryptsetup luksDump ciphered_file

Desciframos generando el fichero descifrado:

cryptsetup luksOpen ciphered_file unciphered

Creamos el sistema de ficheros y lo montamos:

mkfs.ext4 /dev/mapper/unciphered
mkdir /mnt/unciphered
mount /dev/mapper/unciphered /mnt/unciphered

Podemos automatizar el proceso de montaje mediante sudo:

vi /home/kr0m/.scripts/luks

#! /bin/bash
sudo /sbin/cryptsetup luksOpen /home/kr0m/ciphered_file unciphered
sudo /bin/mount /dev/mapper/unciphered /home/kr0m/unciphered
chmod 700 /home/kr0m/.scripts/luks
visudo
kr0m ALL=(ALL) NOPASSWD:/sbin/cryptsetup luksOpen /home/kr0m/ciphered_file unciphered
kr0m ALL=(ALL) NOPASSWD:/bin/mount /dev/mapper/unciphered /home/kr0m/unciphered
vi /etc/local.d/luks.stop
#! /bin/bash
umount /home/kr0m/unciphered
cryptsetup luksClose unciphered
chmod 700 /etc/local.d/luks.stop
Si te ha gustado el artículo puedes invitarme a un RedBull aquí