Desbloqueio de LUKS com um dispositivo USB no Boot: mudanças entre as edições

De Área31 Hackerspace
(Criou página com 'thumb|200px|Membro do hackerspace feliz por ter um Linux criptografadinho com LUKS, e desbloqueável com um device USB, dufuturu. Autor: * Coffnix '''"Home Network Defense"''' __TOC__ = Utilize criptografia pra tudo = = Motivo = Pelo visto você é um bom menino (ou menine kekekeke), que criptografou seu disco certinho, e seguiu as boas práticas recomendadas pelo área31 hackerspace lendo os artigos Hack...')
(Sem diferença)

Edição das 04h52min de 12 de novembro de 2023

Membro do hackerspace feliz por ter um Linux criptografadinho com LUKS, e desbloqueável com um device USB, dufuturu.
Autor: 
* Coffnix

"Home Network Defense"

Utilize criptografia pra tudo

Motivo

Pelo visto você é um bom menino (ou menine kekekeke), que criptografou seu disco certinho, e seguiu as boas práticas recomendadas pelo área31 hackerspace lendo os artigos HackForge e aprendeu até a criar seu próprio storage criptografado em roteador residencial. Logo, agora vc não quer ficar digitando senha do Luks durante o processo de BOOT, correcto? okay, vamos lá...

Requisitos

Aqui utilizamos OpenSUSE com Dracut + GRUB, mas você tem liberdade de utilizar em qualquer distro, adapte somente os comandos e arquivos caso utilize um initrd diferente.

Procedimento

Crie a chave

Crie uma partição FAT32 em um pendrive de pelo menos 100mb e formate:

root # mkfs.vfat -F 32 /dev/sdx1

Monte em /extkey e crie a chave:

root # mkdir -p /extkey ; mount /dev/sdx1 /extkey
root # dd if=/dev/urandom of=/extkey/keyfile bs=4096 count=1

Adicione a nova chave ao luks. Ex:

root # cryptsetup luksAddKey /dev/nvme0n1p6 /extkey/keyfile

Configure o dracut

   /etc/dracut.conf.d/crypttab.conf
install_items+=" /etc/crypttab "


   /etc/dracut.conf.d/50-extkey.conf
add_drivers+=" hid-logitech-dj xhci_hcd usbhid usb-storage ext4 vfat nls_cp437 nls_iso8859-1 "
add_fstab+=" /etc/fstab.rootkey "

Obtenha o UUID da partição VFAT para configurar o fstab e o crypttab:

root # blkid | grep sdc1
/dev/sdc1: UUID="43A0-9872" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="09de3d52-01"

Agora configure o fstab da raiz:

   /etc/fstab
UUID=43A0-9872 /extkey vfat noauto,nofail 0 0

E configure o fstab que irá ser utilizado pelo dracut:

   /etc/fstab.rootkey
UUID=43A0-9872 /extkey vfat noauto,nofail 0 0

Configure o crypttab:

   /etc/crypttab
#cr_nvme-eui.000000000000000100a075233f141b69-part6  UUID=a067b3b0-b2c2-403c-8f7c-6221c2656b09  none  x-initrd.attach
cr_nvme-eui.000000000000000100a075233f141b69-part6 UUID=a067b3b0-b2c2-403c-8f7c-6221c2656b09 /keyfile:UUID=43A0-9872 keyfile-timeout=5

Crie o novo initrd

root # dracut --force --regenerate-all --verbose

Caso esteja em ambiente chroot:

root # update-bootloader
root # dracut --hostonly --kver 6.5.9-1-default -f

Atualize o grub

Altere o arquivo de configuração do grub:

   /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/system/swap security=apparmor mitigations=auto"
GRUB_CMDLINE_LINUX="rhgb quiet"

Atualize o grub.conf:

root # update-bootloader

Reboot e seja feliz!

Cookies nos ajudam a entregar nossos serviços. Ao usar nossos serviços, você concorda com o uso de cookies.