Добавить ключ безопасной загрузки в Live Distro

464
Kieran Ojakangas

Я хотел спросить, можно ли загрузить ключ в мой дистрибутив с постоянным доступом, чтобы пройти безопасную загрузку без отключения? Я думаю, что ответ, вероятно, нет, но я все равно хотел спросить.

0
Я делаю это все время в Ubuntu, создавая собственные закрытые ключи, в частности для драйверов VMware, которые компилируются во время выполнения, и сторонние драйверы для моего интерфейса Broadcom WiFi. AFH 6 лет назад 0
Каким ресурсом вы пользуетесь? Kieran Ojakangas 6 лет назад 0
Мне нужно представить ответ: слишком много информации для комментариев. AFH 6 лет назад 0

1 ответ на вопрос

1
AFH

Вы не сказали, для чего нужен ключ, но в Ubuntu я периодически делаю это, чтобы подписывать драйверы вручную. Мой драйвер BroadCom WiFi является сторонним и неподписанным, и я использую следующий скрипт каждый раз, когда устанавливается новое ядро: -

#!/bin/bash if [ "$(whoami)" != "root" ] then echo "wlsign: must be called from 'root'" elif [ -z "$1" -o "$1" == "-c" ] then [ "$1" == "-c" ] && \ openssl req -new -x509 -newkey rsa:2048 -keyout wl.priv -outform DER -out wl.der -nodes -days 36500 -subj "/CN=BroadCom/" /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./wl.priv ./wl.der $(modinfo -n wl) [ "$1" == "-c" ] && mokutil --import wl.der [ "$1" == "-c" ] && echo Now reboot and select MOK install || modprobe wl else [ "$1" != "-h" ] && echo "wlsign: invalid options - $@" echo 'wlsign [-c|-h] : signs proprietary Wireless kernel drivers' echo ' -c : create new keys (default: use existing)' echo ' -h : give this help information' fi 

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

У меня есть похожие сценарии для других неподписанных драйверов, особенно драйверов VMware, которые скомпилированы на лету, поэтому никогда не могут быть подписаны.

Поскольку Kali и Ubuntu являются производными Debian, я надеюсь, что структуры системных каталогов схожи. Обратите внимание, что sign-fileпрограмма установлена ​​в заголовках ядра, поэтому linux-headers-*ее необходимо будет установить для вашего ядра. Есть kmodsignпрограмма /usr/bin/, которая может быть альтернативой, но я не пробовал.

Я не могу вспомнить, где я нашел эту информацию, поэтому я не могу подтвердить ее источник.

Привет спасибо за ответ Я хочу, чтобы мой постоянный накопитель Kali Linux «Swiss Army Knife» использовался везде, где это необходимо, однако в прошлом безопасная загрузка мешала, и старые компьютеры BIOS не будут считывать загрузочную систему с моей флешки или. Я обязательно попробую ваш сценарий - учитывая, что это довольно новая система персистентности, мне действительно нечего терять. Kieran Ojakangas 6 лет назад 0
Поэтому я получил следующую ошибку: «Не удалось зарегистрировать новые ключи» как при запуске mokutil --import MOK.der с, так и без --root-pw. Что-нибудь сказать об этом? Кажется, статьи в Интернете указывают на то, что машина должна быть уже в режиме безопасной загрузки, но я не могу загрузить этот Live дистрибутив, не отключив его. Kieran Ojakangas 6 лет назад 0
Поскольку `mokutil` добавляет данные в загрузочный код UEFI, имеет смысл, что вы должны загружаться в режиме UEFI, поскольку безопасная загрузка недоступна в устаревшем режиме. Почему вы используете живую загрузку? Это требование обычно для установленной системы; в противном случае, где вы сохраняете файлы ключей? Если вы правильно создаете живой диск, вы сможете загружаться в режиме UEFI, который необходим для безопасной загрузки. AFH 6 лет назад 0
AFH, я говорю, что я загружаюсь в режиме UEFI, но с отключенной безопасной загрузкой. Мне нужно для того, чтобы установить ключи на мою живую постоянную ОС. Это система персистентности, поэтому я мог бы представить, что могу обновить ключи ... если только это не разрешено в живых дистрибутивах даже с сохранением ... Kieran Ojakangas 6 лет назад 0
Извините, я никогда не использовал живую настойчивость, поэтому я не знаю, что возможно. Как я понимаю, чтобы использовать загрузочный диск в нескольких системах, вам потребуется либо создать USB-диск, который будет работать с безопасной загрузкой (см. `Sbsign`), и в этом случае вам нужно будет импортировать любые ключи, которые вы создаете, в каждую из них. машина, или жить с отключением безопасной загрузки. Хотя об ArchLinux, [эта статья] (https://wiki.archlinux.org/index.php/Secure_Boot#PreLoader) дает многозначительное представление о том, что происходит. AFH 6 лет назад 0

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