Есть ли способ включить безопасную загрузку в Linux?

Так же, как Windows имеет безопасную загрузку, которая предотвращает запуск любого внешнего кода загрузчика ОС при загрузке, имеет ли Linux какой-либо подобный вариант для себя? Я посмотрел вокруг, но когда я ищу, единственными результатами, которые я получаю, является то, как установить Linux на UEFI-совместимую машину Windows. Я не могу найти, как я могу использовать этот параметр для своей Linux-машины.

3 Solutions collect form web for “Есть ли способ включить безопасную загрузку в Linux?”

Чтобы обеспечить безопасную загрузку, ваше оборудование должно поддерживать безопасную загрузку, и ваша ОС должна поддерживать безопасную загрузку.

  1. Для HW вы можете проверить меню настроек UEFI, и вам нужно добавить сертификаты / ключи, предоставляемые ОС
  2. Для ОС вы можете проверить поддержку, выполнив следующие команды:

    [root @ secureboot-guest ~] # cat / sys / kernel / security / securelevel

Если вывод команды выше «1», то безопасная загрузка поддерживается и активируется вашей ОС.

Во-первых: генерировать собственный ключ

 openssl req -new -nodes -utf8 -sha256 -days 36500 -batch -x509 \
        -subj "/ CN = Kernel Key" -outform DER -out kernel.der \
        -keyout kernel.key

Попробуйте скомпилировать linux-ядро с CONFIG_EFI_STUB и вставить в него initramfs, как описано здесь: https://prosauce.org/blog/2015/10/31/booting-linux-securely , чтобы подписать модули, вы можете использовать следующий скрипт:

 / usr / src / linux-headers - $ (uname -r) / scripts / sign-файл sha256 kernel.key kernel.der module.ko

Затем создайте файл с помощью cmdline для вашего ноутбука \ рабочей станции и создайте одно изображение и скопируйте его в efi boot dir следующим образом:

 # objcopy \
   --add-section .osrel = / etc / os-release - change-section-vma .osrel = 0x20000 \
   --add-section .cmdline = / tmp / cmdline --change-section-vma .cmdline = 0x30000 \
   --add-section .linux = / boot / vmlinuz --change-section-vma .linux = 0x2000000 \
   --add-section .initrd = / boot / initrd.img --change-section-vma .initrd = 0x3000000 \
 /usr/lib/systemd/boot/efi/linuxx64.efi.stub linux.efi

 # mkdir -p / boot / efi / EFI / BOOT

 # sbsign --key /root/keys/ISK.key --cert /root/keys/ISK.pem --output /boot/efi/EFI/BOOT/BOOTX64.EFI linux.efi / boot / efi / EFI / BOOT /BOOTX64.EFI

Чтобы установить собственный ключ в прошивку MB, вы можете выполнить следующие команды:

 openssl x509 -inform der -in kernel.der -outform pem -out kernel.pem
 cert-to-efi-sig-list -g "$ (uuidgen)" kernel.pem kernel.esl
 sign-efi-sig-list -k KEK.key -c Ядро KEK.pem kernel.esl kernel.auth

Безопасная загрузка AFAIK – это функция UEFI, разработанная Microsoft и некоторыми другими компаниями, входящими в консорциум UEFI.

UEFI частично аппаратно принудительно, т. Е. Конфигурация вашей материнской платы может / не может мешать. Если вы используете полный UEFI, скорее всего, вы сможете включить безопасную загрузку из самого меню UEFI.

Однако, если ваша прошивка является UEFI с CSM / BIOS, тогда вы можете столкнуться с определенными препятствиями, такими как опция включения безопасной загрузки, которая была выделена серым цветом .

  • создание UEFI-безопасной загрузки debian-USB
  • Изменение размера раздела ESP / boot / efi
  • Каков правильный способ использования ISOLINUX с UEFI?
  • grub2-install генерирует другую загрузочную запись, чем конфигурация BIOS
  • Arch Linux не показывает загрузчик в системе UEFI
  • Длительная загрузка на экран пароля для зашифрованного диска
  • Предупреждение! Корневой диск не существует после элементарной установки
  • Проблема с установкой fedora 17 в usb
  • grub2 ушел каждый раз, когда я загружаю Windows 10
  • Установка FreeBSD вместе с Linux
  • Как я могу предотвратить перезагрузку update-grub существующего загрузчика?
  • Linux и Unix - лучшая ОС в мире.