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
❯ 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.
❯ 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.
❯ 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
❯ sudo sbctl status # Pokud je povolen režim nastavení, můžeme pokračovat k dalšímu krokuInstalled: ✘ sbctl není nainstalovánSetup Mode: ✘ PovolenoSecure 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-08c5df45ee70Creating 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 MicrosoftEnrolling 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ánOwner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70Setup Mode: ✔ ZakázánoSecure Boot ✘ ZakázánoVendor 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.
❯ sudo sbctl verifyVerifying 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 verifyVerifying 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.
❯ 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ů.
❯ sudo sbctl statusInstalled: ✓ sbctl je nainstalovánOwner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70Setup Mode: ✓ ZakázánoSecure Boot: ✓ PovolenoVendor Keys: microsoft
❯ bootctlSystem: 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
.