Criptografia de disco completo com dm-crypt (sem LUKS)

8

No momento, estou tentando obter criptografia de disco completo usando o dm-crypt no modo simples sem o cabeçalho LUKS com um /boot separado no pendrive.

Meu objetivo principal é conseguir uma negação plausível em uma distro baseada no Debian. Por enquanto eu consegui criptografar partições usando cryptsetup e instalar a partição /boot em uma chave USB separada. Tudo funciona como deveria e porque o cabeçalho para criptografia não é armazenado no LUKS, eu preciso inseri-lo manualmente na tela initramfs, mas nesta etapa eu simplesmente recebo um erro que indica que não há cryptsetup no initramfs ("/ bin / sh: cryptsetup: não encontrado ") ao tentar analisar o cabeçalho.

Em conclusão:

  • dev/sda criptografado usando dm-crypt ( /root e /home volumes) com:
cryptsetup --hash=sha512 --cipher=twofish-xts-plain64 create crypt /dev/sda
  • dev/sdb boot stick com grub instalado

Eu posso inicializar com sucesso a partir do bootstick. Eu vejo o splashscreen do Ubuntu por cerca de 20 segundos, que é o que eu queria obter uma negação plausível e depois cai no initramfs reclamando sobre não conseguir encontrar /dev/mapper/root - que é também algo que eu queria alcançar.

O problema é que quando eu quero analisar a linha cryptsetup que me permitiria digitar uma senha e continuar com a inicialização, então o initramfs reclama sobre "cryptsetup: not found".

Eu acho que essa reclamação é verdadeira. Minha pergunta é: como instalar o cryptsetup no initramfs para permitir uma inicialização mais rápida para o prompt de senha?

Além disso, sei que estou omitindo algo ao adicionar as entradas apropriadas em /etc/fstab , /etc/crypttab e os dispositivos não são encontrados durante a inicialização.

Estes são os guias que encontrei e usei para configurar todas as configurações curent, talvez isso limpe as coisas que eu não abordei na minha pergunta:

O primeiro é um pouco desatualizado e o segundo é para o Arch Linux, mas eu usei dois deles com a mais nova instalação do Lubuntu com pequenos ajustes.

    
por Rowen 05.06.2014 / 00:02

1 resposta

2

De acordo com initramfs-tools (8) , pode-se adicionar programas à imagem initrd adicionando, por exemplo, o seguinte para uma script de gancho :

copy_exec /sbin/cryptsetup /sbin

Exemplos de scripts de hook podem ser encontrados em /usr/share/initramfs-tools/hooks e no meu sistema Ubuntu, /usr/share/initramfs-tools/hooks/cryptroot está realmente adicionando /sbin/cryptsetup à initrd image.

Exemplo:

$ gzip -dc /boot/initrd.img-'uname -r' | cpio -tv 2>/dev/null | grep cryptsetup
=> No cryptsetup included, yet.

$ cat /etc/initramfs-tools/hooks/fde
#!/bin/sh

. /usr/share/initramfs-tools/hook-functions
copy_exec /sbin/cryptsetup /sbin

$ sudo chmod 0755 /etc/initramfs-tools/hooks/fde
$ sudo update-initramfs -u

$ gzip -dc /boot/initrd.img-'uname -r' | cpio -tv 2>/dev/null | grep cryptsetup
-rwxr-xr-x   1 root     root        59248 Aug 21 04:04 sbin/cryptsetup
-rw-r--r--   1 root     root       158848 Aug 21 04:04 lib/x86_64-linux-gnu/libcryptsetup.so.4
    
por 17.11.2015 / 10:19