Tenía la misma pregunta, así es como lo hice en ubuntu 12.04.1 y 12.10,
- antes de comenzar, asegúrese de tener una copia de seguridad y también puede iniciar su sistema con ubuntu cd o usb; como si cometiera un error, es posible que su sistema ya no arranque o que pierda datos. Supongo que tiene un sistema ubuntu encriptado con LUKS, dentro de LUKS tiene 3 particiones, SYSTEM-BOOT (no encriptado), SYSTEM-SWAP (encriptado) y SYSTEM-OS (encriptado) -
necesita ajustar UUID, SYSTEM-SWAP_crypt, SYSTEM-OS_crypt, SYSTEM-SWAP, SYSTEM-OS a la variación utilizada en su sistema, por favor vea el enlace de referencia debajo de mi solución para obtener más información
Obtenga UUID:
blkid
Preparar>
swapoff /dev/mapper/SYSTEM-SWAP_crypt
cryptsetup luksClose SYSTEM-SWAP_crypt
Indique a cryptsetup que calcule la frase de contraseña de la partición de intercambio a partir de la clave de descifrado del volumen que contiene el sistema de archivos raíz>
/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksFormat /dev/mapper/SYSTEM-SWAP --key-file -
/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksOpen /dev/mapper/SYSTEM-SWAP SYSTEM-SWAP_crypt --key-file -
mkswap /dev/mapper/SYSTEM-SWAP_crypt
dígale al sistema acerca de la partición de intercambio, edite crypttab>
nano /etc/crypttab
=? asegúrese de que dos líneas coincidan
SYSTEM-OS_crypt UUID=uuid-of-luks-containing-osroot none luks
SYSTEM-SWAP_crypt UUID=uuid-of-luks-containing-swap SYSTEM-OS_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived
dígale al sistema acerca de la partición de intercambio, edite fstab>
nano /etc/fstab
=? asegúrate de tener esta línea
/dev/mapper/SYSTEM-SWAP_crypt swap swap sw 0 0
Informe al sistema sobre la partición de intercambio, edite el currículum>
nano /etc/initramfs-tools/conf.d/resume
=? asegúrate de tener esta línea
RESUME=UUID=uuid-of-encrypted-swap-SYSTEM-SWAP_crypt
actualizar initramfs en la partición de arranque>
update-initramfs -u -k all
Referencia
La respuesta inspirada en la configuración de un sistema Debian cifrado (enlace archivado):
Si está utilizando un sistema Debian cifrado, es probable que tenga que cumplir algunos requisitos de seguridad. Si ese es el caso, también debe usar una partición de intercambio cifrada.
La partición de intercambio se puede cifrar de dos maneras:
- se puede recrear en cada arranque, usando una frase de contraseña aleatoria, o
- se puede crear como los otros volúmenes cifrados con una frase de contraseña persistente
Si desea utilizar suspender a disco, no puede utilizar el primer enfoque, ya que sobrescribiría su huella de memoria almacenada en la partición de intercambio. Además, no puede usar un archivo de clave como las otras particiones, ya que el sistema de archivos raíz no está (y no debe) estar montado para cuando se inicia el proceso de reanudación y necesita leer la partición de intercambio descifrada.
La forma en que resolví esto es diciéndole a cryptsetup que calcule la frase de contraseña de la partición de intercambio a partir de la clave de descifrado del volumen que contiene el sistema de archivos raíz; el paquete cryptsetup implementa esto con /lib/cryptsetup/scripts/decrypt_derived
. Por lo tanto, para configurar la partición de intercambio, hago lo siguiente, suponiendo hda2
que la partición contiene el intercambio cifrado y el sistema de archivos raíz está en hda5_crypt
:
swapoff /dev/mapper/hda2_crypt
cryptsetup luksClose hda2_crypt
dd if=/dev/urandom of=/dev/hda2
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
| cryptsetup luksFormat /dev/hda2 --key-file -
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
| cryptsetup luksOpen /dev/hda2 hda2_crypt --key-file -
mkswap /dev/mapper/hda2_crypt
Para informar al sistema sobre esta partición de intercambio, debemos agregarla a
/etc/crypttab
y /etc/fstab
; asegúrese de que esos archivos contengan líneas como las siguientes:
/etc/crypttab:
hda2_crypt /dev/hda2 hda5_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived
/etc/fstab:
/dev/mapper/hda2_crypt swap swap sw 0 0
Con esto en su lugar, tan pronto como configure el sistema para suspender a disco, la partición de intercambio se configurará automáticamente junto con el sistema de archivos raíz muy temprano durante la secuencia de arranque. Para averiguar qué partición de intercambio debe estar disponible en ese momento, cryptsetup verifica lo siguiente: asfasfafs - una línea como RESUME=/dev/mapper/hda2_crypt
en /etc/initramfs-tools/conf.d/resume
- una configuración de reanudar dispositivo en /etc/uswsusp.conf
(ver uswsusp.conf(5)
) - una entrada en /etc/suspend.conf
- a resume=/dev/mapper/hda2_crypt
en la línea de comando del núcleo
Puede inspeccionar /usr/share/initramfs-tools/hooks/cryptroot
si desea saber más sobre esto.