Глава 23. Настройка автоматической разблокировки с помощью клавиши Tang в веб-консоли

Настройте автоматическую разблокировку зашифрованного LUKS устройства хранения данных с помощью ключа, предоставляемого Tang-сервером.

Предпосылки

  • Установлена веб-консоль RHEL 8.

    Для получения более подробной информации смотрите раздел Установка веб-консоли.

  • Пакет cockpit-storaged установлен в Вашей системе.
  • Сервис cockpit.socket работает в порту 9090.
  • Установлены пакеты clevis, tang и clevis-dracut.
  • Запущен Tang-сервер.

Процедура

  1. Откройте веб-консоль RHEL, введя в веб-браузере следующий адрес:

    https://localhost:9090

    Замените часть localhost на имя хоста или IP-адрес удаленного сервера при подключении к удаленной системе.

  2. Укажите Ваши учетные данные и нажмите кнопку Хранить. Выберите зашифрованное устройство и нажмите Шифрование в разделе Content:
  3. Нажмите на в разделе Keys, чтобы добавить ключ Tang:

    RHEL web console: Encryption
  4. Укажите адрес Вашего Tang сервера и пароль, который разблокирует зашифрованное LUKS устройство. Нажмите кнопку Добавить для подтверждения:

    RHEL web console: Add Tang key
  5. Следующее диалоговое окно предоставляет команду проверить, что хэш-ключ совпадает. RHEL 8.2 ввел скрипт tang-show-keys, и Вы можете получить хэш ключа, используя следующую команду на Tang-сервере, запущенном на порту 7500:

    # tang-show-keys 7500
    3ZWS6-cDrCG61UPJS2BMmPU4I54

    На RHEL 8.1 и более ранних версиях, получите хэш ключа, используя следующую команду:

    # curl -s localhost:7500/adv | jose fmt -j- -g payload -y -o- | jose jwk use -i- -r -u verify -o- | jose jwk thp -i-
    3ZWS6-cDrCG61UPJS2BMmPU4I54
  6. Нажмите клавишу Trust, когда хэши клавиш в веб-консоли и в выводе ранее перечисленных команд совпадают:

    RHEL web console: Verify Tang key
  7. Для того, чтобы система ранней загрузки могла обработать привязку диска, нажмите кнопку Терминал в нижней части левой навигационной панели и введите следующие команды:

    # yum install clevis-dracut
    # dracut -fv --regenerate-all

Шаги проверки

  1. Убедитесь, что только что добавленный ключ Tang теперь указан в разделе Keys с типом Keyserver:

    RHEL web console: A keyserver key is listed
  2. Убедитесь, что крепления доступны, например, для ранней загрузки:

    # lsinitrd | grep clevis
    clevis
    clevis-pin-sss
    clevis-pin-tang
    clevis-pin-tpm2
    -rwxr-xr-x   1 root     root         1600 Feb 11 16:30 usr/bin/clevis
    -rwxr-xr-x   1 root     root         1654 Feb 11 16:30 usr/bin/clevis-decrypt
    ...
    -rwxr-xr-x   2 root     root           45 Feb 11 16:30 usr/lib/dracut/hooks/initqueue/settled/60-clevis-hook.sh
    -rwxr-xr-x   1 root     root         2257 Feb 11 16:30 usr/libexec/clevis-luks-askpass

Дополнительные ресурсы