Desbloqueie a raiz Debian LUK criptografada com o arquivo chave na partição de inicialização

5

Estou tentando decifrar a raiz do Debian com um arquivo de chaves armazenado na partição de inicialização (partição descriptografada). Isso vai quebrar a segurança, mas isso não importa agora. Eu tenho que concluir isso com sucesso ou morrer tentando.

Eu criei os ganchos para o initramfs e o arquivo de chave está no diretório /boot dentro do arquivo initrd.img-* . O caminho para o arquivo-chave ( /boot/keyfile ) está no arquivo /etc/crypttab .

Eu atualizei o initramfs com sudo update-initramfs -u , mas recebi esta mensagem: cryptsetup: WARNING: target sdaX_crypt uses a key file, skipped.

Ignorar a mensagem e reinicializar resulta em um disco não inicializável. A mensagem Gave up waiting for root device. é exibida e cai para initramfs shell.

No ambiente initramfs , o cryptsetup não existe. (deveria existir?)

Parece que o update-initramfs -u "pensa" que o dispositivo sdaX_crypt será montado de outra maneira e não é configurado para decriptografar com o arquivo de chaves.

Como posso fazer isso?

    
por Fusgyus 27.10.2014 / 08:29

3 respostas

3

Você pode usar a opção keyscript em sua criptografia em vez disso (man crypttab). Basta criar um script que echo sua frase-senha e defini-lo como o argumento de script, em seguida, gerar novamente seus ramfs. Você não precisa de nenhum hook, e você não precisa colocar o script em / boot /.

vg1-root_crypt UUID=94a3b301-123-12-a3-ea0403 none luks,keyscript=/etc/echo-root-luks-pass

Não sei por que os ganchos initramfs para o cryptsetup proíbem que você tenha apenas o arquivo de chaves listado no crypttab. Provavelmente não quer tolerar tal comportamento.

P.S. Eu não acho que isso quebra a segurança, apenas enfraquece mais ou menos dependendo de quão segura é sua partição / boot. Você poderia, por exemplo / arrancar uma unidade USB, e manter o USB em suas meias, etc.

    
por 16.11.2014 / 10:55
2

Para realmente ignorar a mensagem e não pular a partição, você precisa (pelo menos) comentar / excluir o return 1 em /usr/share/initramfs-tools/hooks/cryptroot após a linha em que a mensagem de erro está escrito (ao redor da linha 274 - depening na versão cryptsetup usada). Tenha em atenção que este ficheiro é por defeito gerido pelo gestor de pacotes, e, portanto, é sobrescrito em qualquer atualização do pacote cryptsetup.

Por favor, leia também o link para mais informações sobre o assunto.

Eu não testei isso, pode haver outras razões além das mencionadas porque o caso de um arquivo-chave é não considerado.

    
por 26.06.2015 / 14:03
1

Se minha memória me servir bem, seu problema é que seu fstab é modificado para apontar para a partição criptografada, desde que você inicializou a partir de uma partição não criptografada seu fstab (enquanto você está executando update-initrd ) deve apontar para seu volume não criptografado . Depois de criar a imagem initrd, você pode modificar seu fstab para apontar para a partição criptografada.

    
por 01.09.2015 / 08:55