10.10. 使用 Kickstart 配置 LUKS 加密的卷的自动注册
按照此流程中的步骤配置使用 Clevis 注册 LUKS 加密卷的自动安装过程。
流程
指示 Kickstart 对磁盘进行分区,以便使用临时密码为所有挂载点(除
/boot
)启用了 LUKS 加密。注册过程的这一步中的密码是临时密码。part /boot --fstype="xfs" --ondisk=vda --size=256 part / --fstype="xfs" --ondisk=vda --grow --encrypted --passphrase=temppass
请注意,兼容 OSPP 的系统需要更复杂的配置,例如:
part /boot --fstype="xfs" --ondisk=vda --size=256 part / --fstype="xfs" --ondisk=vda --size=2048 --encrypted --passphrase=temppass part /var --fstype="xfs" --ondisk=vda --size=1024 --encrypted --passphrase=temppass part /tmp --fstype="xfs" --ondisk=vda --size=1024 --encrypted --passphrase=temppass part /home --fstype="xfs" --ondisk=vda --size=2048 --grow --encrypted --passphrase=temppass part /var/log --fstype="xfs" --ondisk=vda --size=1024 --encrypted --passphrase=temppass part /var/log/audit --fstype="xfs" --ondisk=vda --size=1024 --encrypted --passphrase=temppass
通过在
%packages
部分中列出它们来安装相关的 Clevis 软件包:%packages clevis-dracut clevis-luks clevis-systemd %end
- 可选: 要确保您可以根据需要手动解锁加密的卷,请在删除临时密码短语前添加更强大的密码短语。如需更多信息,请参阅 如何给现有 LUKS 设备添加密语、密钥或 keyfile 的文章。
在
%post
部分中调用clevis luks bind
来执行绑定。之后,删除临时密码:%post clevis luks bind -y -k - -d /dev/vda2 \ tang '{"url":"http://tang.srv"}' <<< "temppass" cryptsetup luksRemoveKey /dev/vda2 <<< "temppass" dracut -fv --regenerate-all %end
如果您的配置依赖于在早期引导过程中需要网络的 Tang pin,或者使用带有静态 IP 配置的 NBDE 客户端,那么您必须修改
dracut
命令,如 配置 LUKS 加密卷的手动注册 中所述。请注意,RHEL 8.3 提供了
clevis luks bind
命令的-y
选项。在 RHEL 8.2 及更旧版本中,在clevis luks bind
命令中将-y
替换为-f
,并从 Tang 服务器下载公告:%post curl -sfg http://tang.srv/adv -o adv.jws clevis luks bind -f -k - -d /dev/vda2 \ tang '{"url":"http://tang.srv","adv":"adv.jws"}' <<< "temppass" cryptsetup luksRemoveKey /dev/vda2 <<< "temppass" dracut -fv --regenerate-all %end
警告cryptsetup luksRemoveKey
命令可以防止对应用该命令的 LUKS2 设备进行任何进一步的管理。您只能对 LUKS1 设备使用dmsetup
命令恢复删除的主密钥。
在使用 TPM 2.0 策略而不是 Tang 服务器时,您可以使用类似的流程。
其它资源
-
clevis (1)
,clevis-luks-bind (1)
,cryptsetup (8)
, 和dmsetup (8)
man page - 自动安装 RHEL