Содержание

Skip to end of metadata
Go to start of metadata

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1

  • Astra Linux Common Edition 2.12

Введение

Secure Boot («безопасная загрузка») — протокол, являющийся частью спецификации UEFI. Заключается в проверке подписи загружаемых UEFI-образов, используя асимметричную криптографию относительно ключей, хранящихся в ключевом хранилище системы.

Некоторые термины:

  • Platform Key (PK) — открытый ключ владельца платформы. Подписи соответствующим закрытым ключом необходимы для смены PK или изменения KEK, db и dbx (описаны далее). Хранилище PK должно быть защищено от вмешательства и удаления;
  • Key Exchange Key (KEK) — открытые ключи операционных систем. Подписи соответствующими закрытыми ключами необходимы для изменения баз данных подписей. Хранилище KEK должно быть защищено от вмешательства.

Подготовка компьютера

ВАЖНО!

Установка Astra Linux и последующие действия должны производится только в режиме UEFI (т.е с отключенными в BIOS-е компьютера режимами CSM и Legacy).
Подробнее про установку Astra Linux в режиме UEFI см.:

Для создания загрузочного носителя требуется USB-накопитель с емкостью не менее 1ГБ.

Установка SecureBoot

Для:

необходимо наличие установленного пакета astra-safepolicy версии 1.0.32 и выше. В системах Astra Linux Special Edition с установленным актуальным обновлением пакет astra-safepolicy устанавливается автоматически, при необходимости установить его можно командой:

sudo apt install astra-safepolicy
Дополнительно можно сразу установить необходимые пакеты (при наличии подключенных репозиториев пакетов эти пакеты будут автоматически установлены при первом запуске инструмента astra-secureboot):
sudo apt install astra-safepolicy efitools sbsigntool uuid-runtime
Для:

  • Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.5 без установленных оперативных обновлений;
  • Astra Linux Common Edition 1.11

все пакеты необходимо установить вручную (команду см. выше).

Подключить USB-накопитель.

Проверить имя подключенного накопителя, например, командой:

lsblk

При выполнении дальнейших действий все данные на используемом накопителе будут удалены.

Выполнить команду:

sudo astra-secureboot /dev/{usb_flash}

После выполнения указанной команды:

  • в каталоге /root/secureboot/key будут размещены все необходимые для работы ключи;
  • на указанном в команде USB-накопителе будет размещена загрузочная информация с необходимыми файлами.

Перезагрузить систему.

В BIOS (или функциональной клавишей F12) выбрать вариант загрузки с UEFI: USB;

Если все действия выполнены правильно, то загрузка будет выполнена с USB-накопителя и должен загрузиться KeyTool.

После загрузки KeyTool:

В меню "KeyTool" выбрать пункт "Edit Keys" и нажать Enter.

В меню "Select Key to Manipulate" выбрать пункт "The Allowed Signatures Database (db)" и нажать Enter ;

В меню "Manipulating Contents of The Allowed Signatures Database (db)" выбрать пункт "Replace Keys";

Выбрать USB-накопитель, затем последовательно выбрать каталоги efi/ -> boot/ -> keys/ и выбрать файл db.auth;

Повторить действия сначала для KEK, потом для PK, выбрав, соответственно, файлы KEK.auth и PK.auth;

Вернуться в главное меню двойным нажатием на Esc,  выбирать Exit;

После перезагрузки войти в BIOS и включить режим SecureBoot.

Внимание!

С включенным режимом SecureBoot будут не доступны режимы hibernate и hybrid-sleep.

Отключение SecureBoot

Рекомендованный сценарий отключения SecureBoot:

  1. Удалить файл /etc/initramfs/post-update.d/update-efi-image;
  2. Сохранить копию файла /boot/efi/EFI/astralinux/grubx64.efi;
  3. Переустановить загрузчик grub.

Последовательность команд:

if [ -f /etc/initramfs/post-update.d/update-efi-image ]; then rm /etc/initramfs/post-update.d/update-efi-image; fi
mv /boot/efi/EFI/astralinux/grubx64.efi /boot/efi/EFI/astralinux/grubx64.efi-old
grub-install --bootloader-id=astralinux

  • No labels