Secure Boot/ru: Difference between revisions
Created page with "При использовании `systemd-stub', ядро и initrd приходится дублировать для '''каждого поколения''', а при использовании заглушки Lanzaboote ядро и initrd можно '''дедуплицировать''' без ущерба для безопасности." |
Updating to match new version of source page |
||
| Line 4: | Line 4: | ||
Secure Boot имеет несколько реализаций, наиболее известная - UEFI Secure Boot, которая опирается на прошивку платформы UEFI, но во встраиваемых системах могут существовать и другие реализации. | Secure Boot имеет несколько реализаций, наиболее известная - UEFI Secure Boot, которая опирается на прошивку платформы UEFI, но во встраиваемых системах могут существовать и другие реализации. | ||
На NixOS, Secure Boot может быть включён с помощью проекта [Lanzaboote]. | <div class="mw-translate-fuzzy"> | ||
На NixOS, Secure Boot может быть включён с помощью проекта [Lanzaboote]. | |||
</div> | |||
Рекомендуется включить пароль BIOS и полное шифрование диска, чтобы предотвратить атаки на UEFI и Secure Boot. | |||
<div class="mw-translate-fuzzy"> | |||
Lanzaboote состоит из двух компонентов: | Lanzaboote состоит из двух компонентов: | ||
<code>lzbt</code> and <code>stub</code>. | <code>lzbt</code> and <code>stub</code>. | ||
</div> | |||
<code>lzbt</code> - это программа командной строки, которая подписывает и устанавливает загрузочные файлы на ESP. | <code>lzbt</code> - это программа командной строки, которая подписывает и устанавливает загрузочные файлы на ESP. | ||
| Line 16: | Line 22: | ||
<span id="Requirements"></span> | <span id="Requirements"></span> | ||
<div class="mw-translate-fuzzy"> | |||
== Требования == | == Требования == | ||
</div> | |||
Для реализации Secure Boot в Lanzaboote требуется система, установленная в режиме UEFI с включенной загрузкой systemd-boot. Это можно проверить, выполнив команду <code>bootctl status</code>: | Для реализации Secure Boot в Lanzaboote требуется система, установленная в режиме UEFI с включенной загрузкой systemd-boot. Это можно проверить, выполнив команду <code>bootctl status</code>: | ||
| Line 33: | Line 41: | ||
</syntaxHighlight> | </syntaxHighlight> | ||
<span id="Setup"></span> | <span id="Setup"></span> | ||
<div class="mw-translate-fuzzy"> | |||
== Настройка == | == Настройка == | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Line 42: | Line 52: | ||
</div> | </div> | ||
<div class="mw-translate-fuzzy"> | |||
== Управление ключами == | == Управление ключами == | ||
На момент написания статьи Lanzaboote предлагает только локальное хранение связки ключей, иначе невозможно перестроить систему и подписать новые результирующие файлы. | На момент написания статьи Lanzaboote предлагает только локальное хранение связки ключей, иначе невозможно перестроить систему и подписать новые результирующие файлы. | ||
</div> | |||
В будущем Lanzaboote предложит два новых варианта подписи: удаленная подпись (HTTP-сервер, который получает запросы на подпись и отвечает подписями) и подпись на основе PKCS#11 (то есть с использованием HSM-подобного устройства, например, YubiKey, NitroKey и т.д.). | В будущем Lanzaboote предложит два новых варианта подписи: удаленная подпись (HTTP-сервер, который получает запросы на подпись и отвечает подписями) и подпись на основе PKCS#11 (то есть с использованием HSM-подобного устройства, например, YubiKey, NitroKey и т.д.). | ||
| Line 49: | Line 61: | ||
{{Warning|Управление ключами - сложная проблема, которая выходит за рамки проекта Lanzaboote, существует множество решений, но не существует единого идеального. Потратьте время на то, чтобы научиться управлять ключами и определить правильный уровень защиты от угроз - это очень важно для эффективной защиты загрузки}}. | {{Warning|Управление ключами - сложная проблема, которая выходит за рамки проекта Lanzaboote, существует множество решений, но не существует единого идеального. Потратьте время на то, чтобы научиться управлять ключами и определить правильный уровень защиты от угроз - это очень важно для эффективной защиты загрузки}}. | ||
<div class="mw-translate-fuzzy"> | |||
== Различия с `systemd-stub` == | == Различия с `systemd-stub` == | ||
У systemd и upstream дистрибутивов есть существующее решение под названием `systemd-stub`, но оно не подходит для NixOS, так как в системе слишком много поколений. | У systemd и upstream дистрибутивов есть существующее решение под названием `systemd-stub`, но оно не подходит для NixOS, так как в системе слишком много поколений. | ||
</div> | |||
При использовании `systemd-stub', ядро и initrd приходится дублировать для '''каждого поколения''', а при использовании заглушки Lanzaboote ядро и initrd можно '''дедуплицировать''' без ущерба для безопасности. | При использовании `systemd-stub', ядро и initrd приходится дублировать для '''каждого поколения''', а при использовании заглушки Lanzaboote ядро и initrd можно '''дедуплицировать''' без ущерба для безопасности. | ||