Skip to content

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:

console
$ 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:

console
$ talosctl get securitystate -n 192.168.122.9 -i

NODE   NAMESPACE   TYPE            ID              VERSION   SECUREBOOT   ... PCRSIGNINGKEYFINGERPRINT   SELINUXSTATE
       runtime     SecurityState   securitystate   1         true         ...   enabled, permissive

На этапе генерации конфига укажите верную ссылку на установщик:

console
$ talosctl gen config ... --install-image <secureboot-image>
yaml
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 по аналогии.

Опубликовано под лицензией GPL-3.0+. Содержание доступно по лицензии CC BY-SA 4.0, если не указано иное. Разработано участниками ALT Orchestra.