Přeskočit na obsah

Nastavení zabezpečeného spouštění

sbctl

sbctl je uživatelsky přívětivý správce klíčů zabezpečeného spouštění, který umí nastavit zabezpečené spouštění, nabízí možnosti správy klíčů a sleduje soubory, které je třeba podepsat v řetězci spouštění.

Instalace sbctl

Terminál
sudo pacman -S sbctl

Přednastavení

Správce spouštění GRUB

Pokud používáte GRUB, spusťte následující příkaz, abyste povolili podporu zabezpečeného spouštění v GRUBu pomocí klíčů CA.

Terminál
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos --modules="tpm" --disable-shim-lock

Vstup do režimu nastavení v UEFI

Nejprve musíme přejít do nastavení firmwaru a nastavit režim zabezpečeného spouštění na “Režim nastavení”. Můžete restartovat z již spuštěného systému do nastavení firmwaru pomocí následujícího příkazu.

Terminál
systemctl reboot --firmware-setup

Takto vypadá BIOS na Lenovo Ideapad 5 Pro. Resetujte do režimu nastavení nebo obnovte tovární klíče a restartujte zpět do systému.

Nastavení sbctl

Terminál
sudo sbctl status # Pokud je povolen režim nastavení, můžeme pokračovat k dalšímu kroku
Installed: sbctl není nainstalován
Setup Mode: Povoleno
Secure Boot Zakázáno
sudo sbctl create-keys # Vytvořte si vlastní klíče zabezpečeného spouštění
Created Owner UUID a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
Creating secure boot keys...✔
Klíče zabezpečeného spouštění vytvořeny!
sudo sbctl enroll-keys -m # Zaregistrujte své klíče pomocí klíčů společnosti Microsoft
Enrolling keys to EFI variables...✔
Klíče registrovány do proměnných EFI!
sudo sbctl status
# sbctl by nyní měl být nainstalován a můžeme pokračovat k podepisování obrazů jádra a správce spouštění
Installed: sbctl je nainstalován
Owner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
Setup Mode: Zakázáno
Secure Boot Zakázáno
Vendor Keys: microsoft

Podepisování obrazu jádra a správce spouštění

CachyOS poskytuje skript sbctl-batch-sign, který vezme seznam souborů, které je třeba podepsat, z sudo sbctl verify a všechny je podepíše.

Terminál
sudo sbctl verify
Verifying file database and EFI images in /boot...
/boot/1c4b5246eef05ac3bc87339323cd5101/6.10.0-cn4.0.fc40.x86_64/linux není podepsán
/boot/EFI/BOOT/BOOTX64.EFI není podepsán
/boot/EFI/systemd/systemd-bootx64.efi není podepsán
/boot/1c4b5246eef05ac3bc87339323cd5101/0-rescue/linux není podepsán
/boot/1c4b5246eef05ac3bc87339323cd5101/6.10.0-cn3.0.fc40.x86_64/linux není podepsán
sudo sbctl-batch-sign
sudo sbctl verify
Verifying file database and EFI images in /boot...
/boot/1c4b5246eef05ac3bc87339323cd5101/6.10.0-cn4.0.fc40.x86_64/linux je podepsán
/boot/EFI/BOOT/BOOTX64.EFI je podepsán
/boot/EFI/systemd/systemd-bootx64.efi je podepsán
/boot/1c4b5246eef05ac3bc87339323cd5101/0-rescue/linux je podepsán
/boot/1c4b5246eef05ac3bc87339323cd5101/6.10.0-cn3.0.fc40.x86_64/linux je podepsán

Nyní, když jsou všechny soubory podepsány, můžeme restartovat zpět do nastavení UEFI a povolit zabezpečené spouštění. Všimněte si, že se jedná o jednorázový proces, protože podepisování souborů s příznakem -s uloží tyto soubory do databáze sbctl. sbctl se dodává s háčkem pro pacman, což znamená, že automaticky podepíše všechny nové soubory při aktualizaci jádra nebo správce spouštění.

systemd-boot

CachyOS používá systemd-boot-update.service poskytovanou systemd k aktualizaci správce spouštění při restartu. To znamená, že háček pacman pro sbctl nepodepíše aktualizované EFI binárky. Jako řešení můžeme podepsat správce spouštění přímo.

Terminál
sudo sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx64.efi

Ověření, že je zabezpečené spouštění povoleno

Chcete-li zkontrolovat, zda je zabezpečené spouštění skutečně povoleno. Můžete spustit jeden z následujících příkazů.

Terminál
sudo sbctl status
Installed: sbctl je nainstalován
Owner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
Setup Mode: Zakázáno
Secure Boot: Povoleno
Vendor Keys: microsoft
bootctl
System:
Firmware: UEFI 2.80 (INSYDE Corp. 28724.16435)
Firmware Arch: x64
Secure Boot: enabled (user)
TPM2 Support: yes
Measured UKI: no
Boot into FW: supported

Odkazy a poděkování

  • Arch Wiki položil základy pro tohoto průvodce. Většina věcí zde byla převzata odtamtud.
  • sbctl - Tento snadný průvodce k povolení podpory zabezpečeného spouštění by nebyl možný, kdyby nebylo úžasné práce odvedené při vytváření tohoto softwaru.
  • Zlepšení uživatelského prostředí zabezpečeného spouštění od Mortena Linderuda - Blogový příspěvek od Mortena “Foxboron” Linderuda o tom, jak bylo uživatelské prostředí zabezpečeného spouštění komplikované před sbctl.