- Вопрос или проблема
- ПРОЦЕДУРА НАСТРОЙКИ TPM2 (RHEL 9.4)
- 1) УБЕДИТЕСЬ, ЧТО TPM2 ВКЛЮЧЕН В BIOS:
- 2) УБЕДИТЕСЬ, ЧТО ЗАЩИЩЕННЫЙ ЗАПУСК ВКЛЮЧЕН В BIOS:
- 3) УБЕДИТЕСЬ, ЧТО МИКРОЧИП TPM2 ДОСТУПЕН:
- 4) УБЕДИТЕСЬ, ЧТО ЗАЩИЩЕННЫЙ ЗАПУСК ВКЛЮЧЕН:
- 5) УСТАНОВИТЕ ВСЕ НЕОБХОДИМЫЕ ПОДПАКЕТЫ:
- 6) ОПРЕДЕЛИТЕ TOM LUKS-ЗАШИФРОВАННЫЕ:
- 7) ОПРЕДЕЛИТЕ РЕГИСТРЫ КОНФИГУРАЦИИ ПЛАТФОРМЫ (PCR), КОТОРЫЕ БУДУТ ИСПОЛЬЗОВАТЬСЯ:
- 8) ПРИВЯЗАТЬ TOM К УСТРОЙСТВУ TPM 2.0 С ПОМОЩЬЮ КОМАНДЫ CLEVIS LUKS BIND:
- 9) ИСПОЛЬЗУЙТЕ SYSTEMD-CRYPTENROLL, ЧТОБЫ ЗАРЕГИСТРИРОВАТЬ УСТРОЙСТВА БЕЗОПАСНОСТИ HARDWARE TPM2 В LUKS2 ЗАШИФРОВАННЫХ TOMах:
- 10) ОТРЕДАКТИРУЙТЕ ФАЙЛ КОНФИГУРАЦИИ CRYPTTAB:
- 11) ВКЛЮЧИТЬ СИСТЕМУ РАННЕГО ЗАПУСКА, ЧТОБЫ ОБРАБОТАТЬ ПРИВЯЗКУ ДИСКА (РЕГЕНЕРИРОВАТЬ INITRAMFS):
- Ответ или решение
- Дешифровка LUKS-тома на двух компьютерах с TPM2: Как настроить
- Настройка нескольких TPM устройств
- Шаг 1. Добавление дополнительных пинов Clevis
- Шаг 2. Управление ключевыми слотами
- Шаг 3. Обновление конфигураций
- Шаг 4. Генерация нового initramfs
- Заключение
Вопрос или проблема
Я пытаюсь настроить один жесткий диск для автоматического расшифрования на 2 разных машинах с чипами TPM2. Все машины работают в оффлайн-режиме и не позволяют настроить сервер Tang.
Я успешно расшифровываю том LUKS на одной машине, используя чип TPM2. Процедура, которую я следовал:
ПРОЦЕДУРА НАСТРОЙКИ TPM2 (RHEL 9.4)
1) УБЕДИТЕСЬ, ЧТО TPM2 ВКЛЮЧЕН В BIOS:
Запустите настройки BIOS, перейдите в меню Advanced -> Trusted Computing:
TPM 2.0 Устройство найдено
Версия прошивки: 7.85
Производитель: IFX
Поддержка устройства безопасности [Включено]
Активные банки PCR SHA-1, SHA-256
Доступные банки PCR SHA-1, SHA-256
SHA-1 PCR Банк [Включен]
SHA-256 PCR Банк [Включен]
Ожидаемая операция [Нет]
Иерархия платформы [Включена]
Иерархия хранения [Включена]
Иерархия одобрения [Включена]
PH Радиализация [Отключена]
СуперМикро BIOS-основанное предоставление TPM [Отключено]
Поддержка
TXT Поддержка [Отключена]
2) УБЕДИТЕСЬ, ЧТО ЗАЩИЩЕННЫЙ ЗАПУСК ВКЛЮЧЕН В BIOS:
Запустите настройки BIOS, перейдите в меню Security -> Secure Boot
Режим системы Развернут
Защищенный запуск Активен
Защищенный запуск [Включен]
Режим защищенного запуска [Стандартный]
Поддержка CSM [Отключена]
3) УБЕДИТЕСЬ, ЧТО МИКРОЧИП TPM2 ДОСТУПЕН:
dmesg | grep -i tpm
journalctl -k --grep=tpm
tpm2_pcrread
ls /dev/tpm*
4) УБЕДИТЕСЬ, ЧТО ЗАЩИЩЕННЫЙ ЗАПУСК ВКЛЮЧЕН:
dmesg | grep -i secure
5) УСТАНОВИТЕ ВСЕ НЕОБХОДИМЫЕ ПОДПАКЕТЫ:
clevis-luks
clevis-dracut
systemd-cryptenroll
6) ОПРЕДЕЛИТЕ TOM LUKS-ЗАШИФРОВАННЫЕ:
lsblk
ll /dev/mapper
7) ОПРЕДЕЛИТЕ РЕГИСТРЫ КОНФИГУРАЦИИ ПЛАТФОРМЫ (PCR), КОТОРЫЕ БУДУТ ИСПОЛЬЗОВАТЬСЯ:
[uapi-group.org/specifications/specs/linux_tpm_pcr_registry/][1]
Примечание: Для наших целей мы выбрали ID PCR 1,3,4,5,7. Если вы решите использовать PCR 9, вам нужно будет перепривязать при использовании dracut для регенерации initramfs.
8) ПРИВЯЗАТЬ TOM К УСТРОЙСТВУ TPM 2.0 С ПОМОЩЬЮ КОМАНДЫ CLEVIS LUKS BIND:
clevis luks bind -d /dev/sda2 tpm2 '{"hash":"sha256","key":"rsa","pcr_bank":"sha256","pcr_ids":"1,3,4,5,7"}'
*Введите существующий пароль LUKS*
Примечание: Проверьте с помощью следующей команды:
clevis luks list -d /dev/sda2
9) ИСПОЛЬЗУЙТЕ SYSTEMD-CRYPTENROLL, ЧТОБЫ ЗАРЕГИСТРИРОВАТЬ УСТРОЙСТВА БЕЗОПАСНОСТИ HARDWARE TPM2 В LUKS2 ЗАШИФРОВАННЫХ TOMах:
systemd-cryptenroll /dev/sda2 --tpm2-device=auto --tpm2-pcrs=1+3+4+5+7
*Введите существующий пароль LUKS*
10) ОТРЕДАКТИРУЙТЕ ФАЙЛ КОНФИГУРАЦИИ CRYPTTAB:
vim /etc/crypttab
Примечание: Формат должен быть следующим для всех разделов:
luks-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx none luks,tpm2-device=auto,tpm2-pcrs=1+3+4+5+7
11) ВКЛЮЧИТЬ СИСТЕМУ РАННЕГО ЗАПУСКА, ЧТОБЫ ОБРАБОТАТЬ ПРИВЯЗКУ ДИСКА (РЕГЕНЕРИРОВАТЬ INITRAMFS):
dracut -fv --regenerate-all
Следуя этой процедуре, я могу автоматически расшифровать мой диск с помощью чипа TPM2 на одной машине. Однако, как я могу добавить несколько ключей clevis или несколько слотов ключей, чтобы позволить расшифровать этот диск различными чипами TPM на разных машинах?
Ответ или решение
Дешифровка LUKS-тома на двух компьютерах с TPM2: Как настроить
Введение
Ваша задача по настройке одного жесткого диска для автоматического дешифрования на двух различных машинах с модулями TPM2 является сложной, но осуществимой. В данной статье мы рассмотрим, как добавление нескольких пинов Clevis или ключевых слотов может позволить вам использовать разные TPM-устройства для доступа к вашему LUKS-шифрованному объему.
Настройка нескольких TPM устройств
Чтобы ваш LUKS-том мог дешифроваться на нескольких машинах, необходимо использовать дополнительные PIN-коды или идентификаторы ключевых слотов. Процесс включает несколько этапов.
Шаг 1. Добавление дополнительных пинов Clevis
Каждый компьютер с TPM может иметь свой собственный Clevis PIN для взаимодействия с LUKS-томом. Чтобы добавить новый PIN, выполните следующую команду на дополнительной машине, используя существующий LUKS-пароль:
clevis luks bind -d /dev/sda2 tpm2 '{"hash":"sha256","key":"rsa","pcr_bank":"sha256","pcr_ids":"1,3,4,5,7"}'
Проверьте, что пин был добавлен успешно:
clevis luks list -d /dev/sda2
И каждый раз, когда вы добавляете новый пин, LUKS-том будет шифроваться так, чтобы каждый TPM мог разблокировать его.
Шаг 2. Управление ключевыми слотами
Вы можете добавить до 8 слотов ключей в LUKS. Каждый слотов может быть связан с другим TPM или даже другим методом дешифрования. Чтобы управлять ключевыми слотами, воспользуйтесь следующими командами:
-
Просмотр текущих слотов:
cryptsetup luksDump /dev/sda2
Здесь вы увидите, какие слоты уже использованы.
-
Добавление новых слотов:
Используйте команду
cryptsetup
для добавления слота:cryptsetup luksAddKey /dev/sda2
Введите новый ключ для добавления, когда будет предложено.
-
Удаление слотов:
Если необходимо удалить ключ, используйте:
cryptsetup luksRemoveKey /dev/sda2
Вводите старый ключ, который вы хотите удалить.
Шаг 3. Обновление конфигураций
После добавления новых пинов или ключевых слотов убедитесь, что конфигурация в /etc/crypttab
проверена, чтобы включить правильные параметры для всех подключаемых устройств TPM.
vim /etc/crypttab
Проверьте, чтобы строки активно отражали все необходимые соединения с TPM.
Шаг 4. Генерация нового initramfs
После внесения всех изменений обязательно выполните команду для генерации нового initramfs:
dracut -fv --regenerate-all
Это обновит конфигурацию системы, чтобы она могла видеть все токены TPM.
Заключение
Следуя указанной процедуре, вы сможете настроить LUKS-том для автоматического дешифрования на нескольких машинах с модулями TPM2. Эта гибкость позволяет использовать один и тот же зашифрованный диск в различных системах, значительно упрощая доступ к необходимым данным. Убедитесь, что вы соблюдаете все рекомендации по безопасности и поддержанию актуальности вашего программного обеспечения.