10.15. 将 Tang 部署为容器
tang
容器镜像为在 OpenShift Container Platform(OCP)集群中或独立的虚拟机中运行的 Clevis 客户端提供 Tang-server 解密功能。
先决条件
-
podman
软件包及其依赖项已安装在系统上。 -
你可以使用
podman login registry.redhat.io
命令登录到registry.redhat.io
容器目录。如需更多信息,请参阅 红帽容器注册表身份验证。 - Clevis 客户端安装在包含 LUKS 加密卷的系统上,您希望使用 Tang 服务器自动解锁这些卷。
流程
从
registry.redhat.io
注册中心中拉取tang
容器镜像:podman pull registry.redhat.io/rhel8/tang
# podman pull registry.redhat.io/rhel8/tang
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行容器,指定其端口,并指定到 Tang 密钥的路径。前面的示例运行
tang
容器,指定端口 7500,并指示到/var/db/tang
目录的 Tang 密钥的路径:podman run -d -p 7500:7500 -v tang-keys:/var/db/tang --name tang registry.redhat.io/rhel8/tang
# podman run -d -p 7500:7500 -v tang-keys:/var/db/tang --name tang registry.redhat.io/rhel8/tang
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,Tang 默认使用端口 80,但这可能与其他服务冲突,如 Apache HTTP 服务器。
可选:为了提高安全性,请定期轮转 Tang 密钥。您可以使用
tangd-rotate-keys
脚本,例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
在包含 LUKS 加密卷的系统上,通过 Tang 服务器自动解锁,检查 Clevis 客户端是否可以使用 Tang 加密和解密纯文本消息:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 localhost URL 上的 Tang 服务器可用并通过端口 7500 进行通信时,上一示例命令在其输出的末尾显示
test
字符串。