Secure Boot
Работа дистрибутива в режиме Secure Boot поддерживается на образах с загрузкой в режиме UEFI. В сочетании с шифрованием диска на основе TPM это обеспечивает доверенную загрузку .
В реализации используется systemd-boot в качестве интерфейса загрузочного меню. Ядро ALT Orchestra, его аргументы и initramfs объединены в формат Unified Kernel Image (UKI). Прошивка UEFI загружает systemd-boot загрузчик, который затем загружает образ UKI. Systemd-boot и ALT Orchestra UKI образы подписываются ключом, который загружается в UEFI. Поскольку ALT Orchestra полностью содержится в образе UKI, полная операционная система проверяется и загружается с помощью UEFI. Образы ALT Orchestra подписываются собственным ключом компании, поэтому полезным свойством среды установки будет Enroll Secure Boot keys: auto.
Общие требования для загрузки в режиме Secure boot:
- Образ ALT Orchestra с поддержкой Secure Boot
- Среда установки поддерживает функции Secure Boot
- Среда установки поддерживает UEFI
- (В случае необходимости шифрования диска) Наличие в среде установки чипа TPM 2.0
Особенности установки QEMU/Virt-manager/Bare-metal
Получение образа с SecureBoot
Получите необходимый вам образ дистрибутива и устновщика с помощью генератора образов с включенной поддержкой SecureBoot. Для этого необходимо на шаге выбора архитектуры включить флаг SecureBoot и далее выбрать тип загрузчика с поддержкой UEFI. В результате, вы должны увидеть ссылки на образы вида:
- дистрибутив
alt-orchestra-<VERSION>-metal-amd64-secureboot.iso - установщик
factory.altlinux.space/metal-installer-secureboot/...:<VERSION>
Настройка системы
Убедитесь, что ваша среда установки поддерживает режимы установки UEFI и SecureBoot, а также (при необходимости) содержит чип TPM. Для виртуальных машин подключите микропрограмму UEFI и выберите чипсет Q35, (при необходимости) добавите эмуляцию чипа TPM. Далее запустите установку образа.
Для запуска виртуальной машины с помощью qemu или virtmanager необходимо использовать /usr/share/OVMF/OVMF_CODE_4M.secboot.qcow2 в режиме readonly и скопированный в рабочую директорию /usr/share/OVMF/OVMF_VARS_4M.qcow2 (необходимо использовать именно копию, так как переменные будут модифицированы).
Пример для qemu:
$ cp /usr/share/OVMF/OVMF_VARS_4M.qcow2 /tmp/my_vm_ovmf_vars_4m.qcow2
$ qemu-system-x86_64 ... -machine q35 -drive if=pflash,format=qcow2,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.secboot.qcow2 -drive if=pflash,format=qcow2,file=/tmp/my_vm_ovmf_vars_4m.qcow2В случае, если на вашей системе нет функции автоматической загрузки ключей (Autoenroll Secure Boot keys), загрузчик предложит вручную подгрузить ключи.
- Boot Manager Menu -> EFI Firmware Setup -> Device Manager -> Secure Boot Configuration
- Если
Current Secure Boot State= Enabled**, выполнитеReset Secure Boot Keys - Выберите 'Secure Boot Mode' = Custom Mode
- Зайдите в появившийся пункт меню 'Custom Secure Boot Options', и выполните
Enrollдля PK, KEK, DB:Enroll ... Using File-> EFI -><EFI>/<keys>/uki-signing-cert.der->Commit Changes and Exit - Сохраните изменения (F10) и продолжите установку
После установки образа, уже в режиме maintenance, на панели управления узла ALT Orchestra будет отображаться, что SecureBoot включен. Так же вы можете получить подтверждение с помощью API:
$ talosctl get securitystate -n 192.168.122.9 -i
NODE NAMESPACE TYPE ID VERSION SECUREBOOT ... PCRSIGNINGKEYFINGERPRINT SELINUXSTATE
runtime SecurityState securitystate 1 true ... enabled, permissiveНа этапе генерации конфига укажите верную ссылку на установщик:
$ talosctl gen config ... --install-image <secureboot-image>machine:
install:
image: <secureboot-image>Особенности установки на Proxmox
Получите необходимый вам образ с помощью генератора образов с включенной поддержкой Secure Boot, укажите данный образ в качестве шаблона для виртуальной машины.
В настройках системы (Create: Virtual Machine -> Раздел System) для корректной загрузки в режиме Secure Boot потребуется указать:
- Machine = q35
- BIOS = OVMF (UEFI)
- Add EFI Disk
- Pre-Enroll keys = disable/false
- (При необходимости шифрования диска) Add TPM = enable
Либо отредактируйте настройки ранее созданной виртуальной машины в разделе Hardware по аналогии.