Combinando LUKS y LVM
Hasta ahora hemos encriptado particiones por separado, pero esto tiene algunas desventajas: debes ingresar una frase de acceso por cada partición (excepto swap, que se encripta automáticamente) y no puedes usar swap para hibernar. Como Slackware soporta hibernación, sería ideal aprovechar esta función, especialmente en laptops.
Esta sección te muestra cómo lograr encriptación total del disco (incluyendo swap) usando solo una frase de acceso y permitiendo hibernación. Asumimos que Slackware será el único sistema operativo. Si tienes otro OS, el proceso puede variar, ya que no siempre puedes instalar lilo en el MBR.
Tras arrancar desde el medio de instalación, crea una partición pequeña sin encriptar para /boot (kernel e initrd). El resto del disco será una sola partición encriptada. Sobre ese volumen encriptado, crea varios volúmenes lógicos (LVM) para /, /home y swap.
Paso a paso:
- Usa
fdiskocfdiskpara crear las particiones. Ejemplo:/dev/sdx1(100 MB para/boot),/dev/sdx2(resto del disco). - Llena
/dev/sdx2con datos aleatorios (opcional):# dd if=/dev/urandom of=/dev/sdx2
- Prepara la partición para encriptación:
# cryptsetup -y luksFormat /dev/sdx2
- Abre la partición encriptada:
# cryptsetup luksOpen /dev/sdx2 lukssdx2
- Crea el volumen físico LVM:
# pvcreate /dev/mapper/lukssdx2
- Crea el grupo de volúmenes:
# vgcreate cryptvg /dev/mapper/lukssdx2
- Crea los volúmenes lógicos:
# lvcreate -L 7G -n root cryptvg # lvcreate -L 10G -n home cryptvg # lvcreate -L 1G -n swap cryptvg
- Prepara
swappara quesetuplo detecte:# mkswap /dev/cryptvg/swap
Inicia setup y selecciona /dev/cryptvg/root para /, /dev/cryptvg/home para /home y /dev/sdx1 para /boot. No toques los dispositivos /dev/mapper/* ni /dev/cryptvg/* fuera de los que usas, para evitar perder datos.
Al terminar la instalación, configura lilo en el MBR. Si tienes Windows, también puedes arrancarlo desde lilo. Si ves un error de instalación, ignóralo: luego agregarás initrd a /etc/lilo.conf y ejecutarás lilo nuevamente.
Tras salir de setup, no reinicies. Haz chroot a la instalación:
# chroot /mnt
Dentro del chroot, crea la imagen initrd con soporte LVM y CRYPT. Ejemplo:
# mkinitrd -c -k 4.4.14-smp -m ext4 -f ext4 -r /dev/cryptvg/root -C /dev/sdx2 -L
Si usas teclado no-US, agrega -l <idioma> (ejemplo: -l nl para holandés).
Edita /etc/lilo.conf y agrega la línea para initrd. Cambia el kernel a uno genérico. El bloque debe verse así:
image = /boot/vmlinuz-generic-smp-4.4.14-smp initrd = /boot/initrd.gz root = /dev/cryptvg/root label = linux read-only
Guarda, ejecuta lilo y reinicia. Al arrancar, solo te pedirá una frase de acceso. El swap estará encriptado por defecto y podrás hibernar tu laptop con seguridad. No es necesario crear /etc/crypttab en este método. Solo una frase de acceso, swap encriptado y máxima seguridad para tu portátil.
Recuerda que el cifrado total protege tus datos de robos, pero no de fallos de hardware. Mantener copias de seguridad en un disco externo resistente como el Samsung T7 Shield SSD es vital para recuperar tu información ante cualquier desastre.