Desbloquear a partição LUKS com keyfile no USB não funciona

2

Eu segui parcialmente este

O que o / lib / cryptsetup / scripts / passdev está realmente fazendo?

/ etc / crypttab

2tb UUID=... /dev/disk/by-label/STICK:/logfile luks,nofail,keyscript=/lib/cryptsetup/scripts/passdev,tries=2

Eu tenho um stick conectado ext2 formatado, rótulo STICK com o arquivo de log com a senha nele. Eu usei o método "normal" antes de ler a frase secreta do meu primeiro disco que eu sou descrição com entrada de teclado.

2tb UUID=.. /etc/luks-keys/2tb luks,nofail,tries=1

E sim eu usei sudo update-initramfs -u -k all && systemctl reboot interminavelmente, mas isso simplesmente não funciona.

Estou tentando fazer com que isso funcione para, eventualmente, desbloquear todo o meu sistema com apenas um pen drive conectado, mas não está funcionando.

Estou em um sistema UEFI com inicialização segura desativada, se isso for importante. Eu li algo sobre um módulo sobre um tópico relacionado. Preciso de algo especial carregado?

Além disso, onde está o registro para isso?

    
por redanimalwar 19.10.2016 / 19:11

2 respostas

0

Seria ideal para mim se eu pudesse simplesmente ter um pequeno pendrive contendo uma senha que desbloqueie o disco. Isso não só seria útil para os servidores (onde você poderia deixar o pendrive no servidor - o objetivo é poder retornar discos rígidos quebrados sem ter que se preocupar com dados confidenciais), também seria ótimo para meu laptop: Insira o dispositivo USB ao inicializar e remova-o após desbloqueando o cryptodisk.

Agora escrevi um patch que pesquisará o diretório raiz de todos os dispositivos pelo arquivo 'cryptkey.txt' e tentará descriptografar com cada linha como chave. Se isso falhar: reverta para digitar a frase secreta.

Isso significa que a chave não pode conter \ n, mas isso também se aplica a qualquer tecla digitada. A parte boa é que você pode usar o mesmo disco USB para armazenar a chave de várias máquinas: Você não precisa de um disco USB separado para cada uma delas. Portanto, se você tiver uma unidade USB no seu anel de chave física, poderá usar a mesma unidade para todas as máquinas que inicializar quando estiver fisicamente perto.

Você adiciona a chave com:

cryptsetup luksAddKey /dev/sda5

E, em seguida, coloque a mesma chave como uma linha em um arquivo no disco USB / MMC chamado 'cryptkey.txt'. O patch está aqui:

link

Se os drivers USB, drivers MMC ou os sistemas de arquivos não estiverem presentes em seu initramfs, você precisará adicioná-los adicionando a / etc / initramfs-tools / modules:

uhci_hcd
ehci_hcd
usb_storage
nls_utf8
nls_cp437
vfat
fat
sd_mod
mmc_block
tifm_sd
tifm_core
mmc_core
tifm_7xx1
sdhci
sdhci_pci

Quando tudo estiver pronto, atualize o initramfs:

update-initramfs -u
    
por Ole Tange 12.06.2017 / 14:53
0

Depois de usar o instalador para criar dispositivos criptografados usando uma senha com 16.04 e 18.04, você deve adicionar o seguinte (parece estar relacionado a um bug ):

Um script que lê a chave na inicialização /etc/decryptkeydevice/decryptkeydevice.sh

Altere a configuração /etc/initramfs-tools/conf.d/cryptroot

truque o initramfs para usar um arquivo cryptroot /etc/initramfs-tools/hooks/decryptkeydevice.hook

e modifique o initramfs / etc / initramfs-tools / modules

link coloca as etapas em initAutoUnlockOnBootConfig.sh juntas - executar como root:

sudo dd if=/dev/urandom of=/dev/sdb bs=512 seek=1 count=60 

sudo dd if=/dev/sdb bs=512 skip=1 count=4 > tempKeyFile.bin 

sudo cryptsetup luksAddKey /dev/sda5 tempKeyFile.bin 

# copy config
mkdir /etc/decryptkeydevice
# update device ids in in this file
cp decryptkeydevice.sh /etc/decryptkeydevice/decryptkeydevice.sh
chmod +x /etc/decryptkeydevice/decryptkeydevice.sh

cp cryptroot /etc/initramfs-tools/conf.d/cryptroot
chmod +x /etc/initramfs-tools/conf.d/cryptroot

cp decryptkeydevice.hook /etc/initramfs-tools/hooks/decryptkeydevice.hook
chmod +x /etc/initramfs-tools/hooks/decryptkeydevice.hook

cat modules >> /etc/initramfs-tools/modules

update-initramfs -u
    
por stefan.seeland 05.06.2018 / 00:05