Есть ли способ включить безопасную загрузку в 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, тогда вы можете столкнуться с определенными препятствиями, такими как опция включения безопасной загрузки, которая была выделена серым цветом .

  • Обновление ядра для Linux-системы без обновления пользовательских приложений / библиотек?
  • Создание загрузочного GPT-раздела EFI с помощью gdisk на предыдущем MBR, поврежденный GPT
  • Двойная загрузка Fedora и Windows 8 дает ошибку: вам нужно сначала загрузить ядро
  • Невозможно отформатировать HDD и установить Linux на гибридный ультрабук Dell
  • Как переместить EFI и загрузочные разделы?
  • Как восстановить нормальный процесс загрузки после обновления pacman в EFI?
  • Arch USB больше не загружается - устройство «/ dev / disk / by-label /» не появилось через 30 секунд
  • Разбиение на две загрузки двух Linux-систем
  • Как загрузить 32-битное ядро ​​Linux с 64-разрядным EFI Grub?
  • Загрузка EFI на KVM
  • USB-клавиатура работает с перебоями в GRUB 2 при перезагрузках - как заставить ее работать последовательно?
  • Interesting Posts

    Как игнорировать входной буфер клавиатуры между двумя `read`

    Удалить все задания `at`

    Установка зависимостей для epel от yum update на Centos 6.5

    Как просмотреть содержимое файла, который я удалил, но что процесс все еще записывает

    Могу ли я использовать время A | B для измерения времени, затраченного на запуск A | B?

    Как создать правило udev для подключения только USB-накопителя?

    Пользовательское действие для открытия экземпляра программы для каждой выбранной папки?

    Как убить упрямый процесс

    Могут ли все OSS для Linux быть построены для работы на ОС на базе Illumos, таких как OpenIndiana?

    Использовать sed для печати с первой строки до строки, содержащей последнее вхождение шаблона?

    Fedora 17: подключен к iphone, но ничего не происходит

    Внешний жесткий диск не смонтирован

    Строки печати, если заданный столбец начинается с заглавной буквы

    Как дождаться загрузки зоны Solaris (первый раз)

    Добавление нового каталога в PATH и символическую ссылку для каталога уже в PATH

    Linux и Unix - лучшая ОС в мире.