Подробный гайд: Secure Boot — безопасная загрузка в современных системах
Secure Boot — это протокол безопасности, являющийся частью спецификации UEFI, который предотвращает запуск неподписанного или неавторизованного кода на этапе загрузки системы.
Оглавление
- Что такое Secure Boot и как он работает
- Ключевые компоненты и иерархия ключей
- Режимы работы Secure Boot
- Проверка статуса Secure Boot
- Пошаговая настройка
- Работа с собственными ключами
- Совместимость с ОС и драйверами
- Критические обновления 2026 года
- Устранение неполадок
- Рекомендации по безопасности
Что такое Secure Boot и как он работает
Secure Boot использует асимметричную криптографию для проверки цифровой подписи каждого EFI-приложения перед его выполнением.
Процесс авторизации включает:
1. Инициализация платформы при загрузке
2. Загрузка хранилища ключей из NVRAM
3. Проверка подписи/хеша образа в базе данных (db)
4. Проверка отсутствия в списке запрещённых (dbx)
5. Запуск образа ИЛИ отказ в загрузке
Преимущества:
- Защита от руткитов и буткитов на уровне прошивки
- Гарантия целостности загрузочной цепочки
- Локальные политики безопасности для корпоративных сред
Ключевые компоненты и иерархия ключей
| Ключ | Назначение | Кто управляет |
|---|---|---|
| PK (Platform Key) | Корневой ключ владельца платформы. Подписывает изменения в других хранилищах | Производитель / Пользователь |
| KEK (Key Exchange Key) | Ключи для обновления баз подписей (db/dbx) | ОС / Администратор |
| db (Signature Database) | Список доверенных подписей и хешей разрешённых образов | Система / Пользователь |
| dbx (Forbidden Database) | Чёрный список отозванных/недоверенных подписей | Система / Обновления |
| MOK (Machine Owner Key) | Пользовательские ключи для Linux (реализация через shim) | Пользователь |
Важно: При работе в режиме пользователя (User Mode) изменения ключей требуют криптографической подписи вышестоящим ключом.
Режимы работы Secure Boot
Setup Mode (Режим настройки)
- Активируется при удалении PK
- Позволяет записывать любые ключи без аутентификации
- Используется для первоначальной настройки
User Mode (Пользовательский режим)
- Стандартный рабочий режим
- Требуется подпись для изменения ключевых хранилищ
- Выполняется валидация всех запускаемых образов
Audit Mode (Режим аудита)
- Позволяет тестировать неподписанные образы
- Все события валидации логируются для анализа
- Полезен для отладки и разработки
Deployed Mode (Развёрнутый режим)
- Максимально безопасный режим
- Все переменные переводятся в режим только для чтения
- Выход возможен только через аутентифицированную очистку PK
Проверка статуса Secure Boot
В Windows:
# Через System Information
Win + R → msinfo32 → раздел "Состояние безопасной загрузки"
# Через PowerShell
Confirm-SecureBootUEFI
В Linux:
# Проверка через systemd
bootctl | grep "Secure Boot"
# Прямая проверка переменной EFI
od --address-radix=n --format=u1 /sys/firmware/efi/efivars/SecureBoot-*
# Через mokutil (для систем с shim)
mokutil --sb-state
В UEFI/BIOS:
- Перезагрузите ПК и войдите в настройки (обычно
Del,F2,F10) - Найдите раздел Security → Secure Boot
- Статус:
Enabled/Disabled/Setup Mode
Пошаговая настройка Secure Boot
Для обычных пользователей (включение):
1. Подготовка
- Убедитесь, что система использует UEFI (не Legacy BIOS)
- Создайте резервную копию важных данных
2. Вход в UEFI Setup
Перезагрузка → Быстрое нажатие Del/F2 → Security → Secure Boot
3. Включение функции
- Установите
Secure Boot: Enabled - При необходимости:
Secure Boot Mode: Standard
4. Сохранение и перезагрузка
F10→ Save & Exit
Для продвинутых пользователей (свои ключи):
# Генерация ключей (Linux, требует efitools)
$ for var in PK KEK db; do
openssl req -newkey rsa:2048 -nodes -keyout ${var}.key \
-x509 -days 3650 -out ${var}.cert -subj "/CN=${var}/"
done
# Конвертация в формат ESL и подписание
$ cert-to-esl < PK.cert > PK.esl
$ sign-efi-sig-list -k PK.key -c PK.cert PK PK.esl PK.auth
Предупреждение: Неправильная замена ключей может привести к невозможности загрузки системы или обновлению прошивки.
Совместимость с ОС и драйверами
Windows
- Полная поддержка с Windows 8 и новее
- Драйверы должны иметь подпись Microsoft WHQL
Linux
- Поддерживаемые дистрибутивы: Ubuntu, Fedora, openSUSE, Debian (через shim)
- Shim — промежуточный загрузчик, подписанный ключом Microsoft, который проверяет пользовательские ключи (MOK)
Проблемные сценарии:
- Неподписанные модули ядра (например, некоторые драйверы NVIDIA)
- Кастомные ядра без подписи
- Старые загрузчики без поддержки UEFI
Решение проблем с драйверами:
# Для NVIDIA в Linux с включённым Secure Boot:
$ sudo mokutil --import /path/to/public_key.der
# Перезагрузка → Регистрация ключа в меню MOK
# Подпись модулей:
$ sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 \
/path/to/private_key /path/to/public_key \
/lib/modules/$(uname -r)/kernel/drivers/.../nvidia.ko
Критические обновления 2026 года
ВНИМАНИЕ: В июне 2026 года истекает срок действия оригинальных сертификатов Secure Boot 2011 года.
Что это значит:
- Системы без обновления не смогут получать обновления безопасности
- Новые драйверы и загрузчики, подписанные только новыми ключами, не будут запускаться
- Возможны проблемы с загрузкой после обновлений прошивки
Как проверить и обновить:
Windows:
# Проверка наличия сертификатов
Get-ChildItem -Path Cert:\LocalMachine\db | Where-Object {$_.Subject -like "*2011*"}
# Установка обновлений через Центр обновления или вручную:
# Скачать KB-пакеты с сайта поддержки производителя
Linux (RHEL/Fedora):
# Проверка версии shim
rpm -q shim
# Обновление через dnf/yum:
sudo dnf update shim shim-x64
Microsoft рекомендует выполнить обновление до июня 2026 года для обеспечения непрерывной защиты.
Устранение неполадок
| Проблема | Возможная причина | Решение |
|---|---|---|
| "Secure Boot not supported" | Система в Legacy/CSM режиме | Переключить на UEFI в BIOS |
| "Invalid signature" при загрузке | Образ не подписан или ключ отозван | Подписать образ или добавить ключ в db |
| Драйвер не загружается (Linux) | Модуль ядра без подписи | Подписать модуль или использовать MOK |
| После обновления ПК не грузится | Конфликт сертификатов 2011/2023 | Обновить db/dbx через UEFI или Windows Update |
| Невозможно отключить Secure Boot | Требует пароль администратора | Установить/сбросить пароль в BIOS |
Диагностика через журнал:
# Linux: проверка сообщений ядра
journalctl -kg 'secure boot'
# Windows: Event Viewer → System → фильтры по "SecureBoot"
Рекомендации по безопасности
- Не отключайте без необходимости — Secure Boot является важным слоем защиты на уровне прошивки
- Регулярно обновляйте сертификаты — особенно в свете истечения ключей 2011 года в 2026
- Используйте собственные ключи в корпоративной среде — это даёт полный контроль над цепочкой доверия
- Резервируйте ключи — перед изменением настроек экспортируйте PK/KEK/db
- Проверяйте совместимость — перед включением убедитесь, что все критические драйверы подписаны
- Комбинируйте с другими мерами — Secure Boot не заменяет шифрование диска, антивирус или контроль целостности
Полезные ресурсы
- Официальная документация Microsoft по Secure Boot - learn.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-secure-boot
- ArchWiki: UEFI Secure Boot - wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface/Secure_Boot
- Инструмент sbctl для управления ключами - github.com/Foxboron/sbctl
Итог:
Secure Boot — это не «защита от пиратства», а технический механизм обеспечения целостности загрузочного процесса. При грамотной настройке он значительно повышает безопасность системы без ущерба для функциональности.
Последнее обновление гайда: май 2026. Актуальность информации о сертификатах рекомендуется проверять на сайтах производителей.
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.