Tinha a mesma pergunta, aqui está como eu fiz isso no ubuntu 12.04.1 e 12.10,
- antes de iniciar, verifique se você possui um backup e também pode inicializar seu sistema com o ubuntu cd ou usb; como se você cometer um erro, seu sistema pode não inicializar mais ou você pode perder dados. Eu suponho que você tenha um sistema ubuntu criptografado com LUKS, dentro do LUKS você tem 3 partições, SYSTEM-BOOT (não criptografado), SYSTEM-SWAP (criptografado) e SYSTEM-OS (criptografado) -
você precisa ajustar UUIDs, SYSTEM-SWAP_crypt, SYSTEM-OS_crypt, SYSTEM-SWAP, SYSTEM-OS à variação usada no seu sistema, pls veja o link de referência abaixo da minha solução para obter mais informações
Obtenha UUIDs:
blkid
Preparar>
swapoff /dev/mapper/SYSTEM-SWAP_crypt
cryptsetup luksClose SYSTEM-SWAP_crypt
Diga ao cryptsetup para calcular a senha da partição swap a partir da chave de descriptografia do volume que contém o sistema de arquivos raiz>
/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
informe o sistema sobre a partição swap, edite o crypttab>
nano /etc/crypttab
=? verifique se duas linhas correspondem
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
informe o sistema sobre a partição swap, edite o fstab>
nano /etc/fstab
=? certifique-se de ter esta linha
/dev/mapper/SYSTEM-SWAP_crypt swap swap sw 0 0
informe o sistema sobre a partição swap, edite o resumo>
nano /etc/initramfs-tools/conf.d/resume
=? certifique-se de ter esta linha
RESUME=UUID=uuid-of-encrypted-swap-SYSTEM-SWAP_crypt
atualize o initramfs na partição de inicialização>
update-initramfs -u -k all
Referência
A resposta inspirada em Configurando um sistema Debian criptografado (link arquivado):
Se você estiver usando um sistema Debian criptografado, provavelmente precisará de alguns requisitos de segurança. Se for esse o caso, você também deve usar uma partição de troca criptografada.
A partição de swap pode ser criptografada de duas maneiras:
- pode ser recriado em cada inicialização, usando uma senha aleatória ou
- ele pode ser criado como os outros volumes criptografados com uma senha persistente
Se você deseja usar a suspensão em disco, não pode usar a primeira abordagem, pois ela sobrescreveria o espaço ocupado pela memória armazenado na partição de troca. Além disso, você não pode usar um arquivo de chave como as outras partições, pois o sistema de arquivos raiz não é (e não deve) ser montado no momento em que o processo de reinício é iniciado e precisa ler a partição de swap descriptografada.
A maneira que resolvi isso é dizendo ao cryptsetup para calcular a senha da partição swap a partir da chave de descriptografia do volume que contém o sistema de arquivos raiz; o pacote cryptsetup implementa isso com /lib/cryptsetup/scripts/decrypt_derived
. Portanto, para configurar a partição de swap, faça o seguinte, assumindo que hda2
a partição que contém a troca criptografada e o sistema de arquivos raiz estejam 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 o sistema sobre essa partição swap, precisamos adicioná-la a
/etc/crypttab
e /etc/fstab
; verifique se esses arquivos contêm linhas como as seguintes:
/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
Com isso em vigor, assim que você configurar o sistema para suspensão em disco, a partição swap será automaticamente configurada juntamente com o sistema de arquivos raiz muito cedo durante a sequência de inicialização. Para descobrir qual partição de swap disponibilizar nesse ponto, o cryptsetup verifica o seguinte: asfasfafs - uma linha como RESUME=/dev/mapper/hda2_crypt
em /etc/initramfs-tools/conf.d/resume
- uma configuração de dispositivo de reinício em /etc/uswsusp.conf
(consulte uswsusp.conf(5)
) - uma entrada em /etc/suspend.conf
- a resume=/dev/mapper/hda2_crypt
na linha de comando do kernel
Você pode inspecionar /usr/share/initramfs-tools/hooks/cryptroot
se deseja saber mais sobre isso.