Как Защищенная загрузка на самом деле работает?

Я играю с GRUB2, SecureBoot и Подписанием Ядра, и я думаю, что нашел возможную ошибку в своей Защищенной загрузке, но я хочу проверить свое понимание этих процессов сначала.

Я знаю, что, когда Защищенная загрузка включена, только двоичные файлы, подписанные с Ключом, загруженным во встроенном микропрограммном обеспечении, могут быть запущены, таким образом, все загрузчики должны быть подписаны. В типичном случае контейнер и GRUB.

Контейнер должен накормить MoakManager обедом, если начальная загрузка перестала работать, или у Вас есть некоторые ключи, чтобы импортировать или удалить и если это в порядке, это должно затем запустить GRUB, который является реальным загрузчиком.

Проблема состоит в том, что я только что генерировал пользовательскую версию GRUB с grub-mkstandalone который я подписал с новым ключом, созданным с OpenSSl; ключ, который я еще не импортировал во встроенном микропрограммном обеспечении и контейнере, смог запустить его без любых отчетов от Защищенной загрузки.

Я проверил ключи с mokutil --list-enrolled и это сообщило только о Каноническом Сертификате.


Так, для резюме:

В моем разделе EFI я имею:

  • shimx64.efi, подписанный Каноническим, сгенерированным с установкой личинки
  • мой пользовательский GRUB, сгенерированный с личинкой-mkstandalone, подписанной с моим собственным ключом, который я еще не импортировал, названный grubx64.efi.

При начальной загрузке КОНТЕЙНЕР мог накормить GRUB обедом, и GRUB мог загрузить Ubuntu успешно.

Если некоторая проверка Защищенной загрузки только знак первого загрузчика и другие, загрузчики ответственны за проверку theirself и модули, которые они предварительно загружают и пользователи в конечном счете, загружаются, проблема безопасности здесь действительно высока.

Я сделаю еще некоторые тесты, но возможно я должен открыть уведомление об ошибке.


Какие-либо идеи?

6
задан 22 January 2017 в 17:43

1 ответ

Я полагаю, что Ваше понимание корректно, за исключением того, что shimx64.efi поставляется в двоичной форме через пакет, не сгенерированный локально через grub-install. (grub-install вероятно, установит shimx64.efi к ESP, все же.), О, и это - MokManager, не MoakManager.

Перед регистрацией отчета об ошибках необходимо вернуться той же дорогой и быть на 100% уверены, что Вы загружаетесь через свой локально скомпилированный GRUB. Легко случайно поместить двоичный файл в неправильное местоположение или пренебрежение для выполнения efibootmgr скорректировать порядок загрузки, например. (Вы не описали, как Вы устанавливаете свое пользовательское grubx64.efi - Вы перезаписываете стандартный двоичный файл Ubuntu или помещаете Ваш новый в другом месте и регистрируете его [и копия Контейнера] через efibootmgr?) Вы могли бы хотеть работать sudo efibootmgr -v видеть Ваши детали начальной загрузки. Обратите внимание на BootOrder и BootCurrent строки - первый говорит Вам порядок, в котором параметры загрузки попробуют и последние шоу опция, которая использовалась для начальной загрузки компьютера. Необходимо будет перекрестно сослаться на числа с различным Boot#### строки, которые описывают каждый параметр загрузки. При установке собственного GRUB, отдельного от GRUB Ubuntu возможно, что встроенное микропрограммное обеспечение тихо обошло его из-за ошибки Защищенной загрузки и затем возвратилось к запасу Контейнер/GRUB Ubuntu, который объяснит, что Вы видите.

Другая возможность состоит в том, что Защищенная загрузка на самом деле не включена на Вашем компьютере. Можно проверить эту возможность следующим образом:

$ hexdump /sys/firmware/efi/efivars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c 
0000000 0016 0000 0001              
0000005

В этом примере, первой строке вывода (0000000 0016 0000 0001) концы в a 1. Это указывает, что Защищенная загрузка активна. Если это заканчивается в a 0, затем Защищенная загрузка отключена на Вашем компьютере.

Еще одна возможность состоит в том, что Вы, возможно, так или иначе установили свой локальный ключ в собственном списке дб встроенного микропрограммного обеспечения. Это - трудная задача, тем не менее, таким образом, маловероятно, что Вы сделали это случайно и не понимая это. (См. мою страницу на предмете для получения дополнительной информации о том, как настроить это.) Я упоминаю эту возможность главным образом ради полноты; это не кажется мне, вероятно, вообще, если Вы не опускаете упоминание о предыдущей попытке освоения Защищенной загрузки таким образом.

Если Вы видите ошибку, это могло бы быть или в Контейнере или в Вашем встроенном микропрограммном обеспечении.

Еще один протест состоит в том, что я только мимоходом знаком с определенными для GRUB инструментами такой как grub-mkstandalone. Поскольку я поддерживаю, повторно находят, я предпочитаю использовать его, таким образом, мое знание инструментов GRUB не является столь всесторонним, как это могло бы быть. Таким образом я мог бы пропускать некоторую критическую деталь, потому что это является определенным для GRUB.

3
ответ дан 23 January 2017 в 03:43
  • 1
    нет файла в моем .ssh каталоге таким образом, вывод – trenta coollime 22 November 2018 в 19:11

Другие вопросы по тегам:

Похожие вопросы: