Red Hat Training

A Red Hat training course is available for RHEL 8

11.5. 在 web 控制台中使用 Tang 键配置自动解锁

使用 Tang 服务器提供的密钥,配置 LUKS 加密存储设备的自动解锁。

先决条件

  • RHEL 8 web 控制台已安装。

    详情请参阅 安装 Web 控制台

  • cockpit-storaged 软件包安装在您的系统上。
  • cockpit.socket服务运行在9090端口。
  • 已安装 clevist ang 和 clevis-dracut 软件包。
  • Tang 服务器正在运行。

流程

  1. 在 web 浏览器中输入以下地址来打开 RHEL web 控制台:

    https://localhost:9090

    连接到远程系统时,将 localhost 部分替换为远程服务器的主机名或 IP 地址。

  2. 提供您的凭证并点击 Storage。选择加密设备并点 内容部分中的 Encryption
  3. 点击 Keys 部分中的 + 来添加 Tang 键:

    RHEL web 控制台:加密
  4. 提供 Tang 服务器的地址以及用于解锁 LUKS 加密设备的密码。点击 Add 确认:

    RHEL web 控制台:添加 Tang 密钥
  5. 以下对话框窗口提供了 命令,可用于验证密钥哈希是否匹配。RHEL 8.2 引入了 tang-show-keys 脚本,您可以在端口 7500 上运行的 Tang 服务器中使用以下命令来获取密钥哈希:

    # 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. 当 web 控制台中的密钥哈希值与之前列出的命令的输出中的值相同时,点 Trust key

    RHEL web 控制台:验证 Tang 键
  7. 要启用早期引导系统来处理磁盘绑定,请点击左侧导航栏底部的 Terminal 并输入以下命令:

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

验证

  1. 检查新添加的 Tang 密钥现在是否在 Keys 部分使用 Keyserver 类型列出:

    RHEL web 控制台:列出 keyserver 键
  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