10.2. 部署 SELinux 处于 enforcing 模式的 Tang 服务器


您可以使用 Tang 服务器在启用了 Clevis 的客户端上自动解锁 LUKS 加密的卷。在最简单的场景中,您可以通过安装 tang 软件包,并输入 systemctl enable tangd.socket --now 命令将 Tang 服务器部署在端口 80 上。以下示例流程演示了将运行在自定义端口上的 Tang 服务器部署为 SELinux enforcing 模式下受限制的服务。

先决条件

  • policycoreutils-python-utils 包及其依赖项已经安装。
  • firewalld 服务正在运行。

流程

  1. 要安装 tang 软件包及其依赖项,请以 root 用户身份输入以下命令:

    # yum install tang
    Copy to Clipboard Toggle word wrap
  2. 选择一个未被占用的端口,例如 7500/tcp,并允许 tangd 服务绑定到该端口:

    # semanage port -a -t tangd_port_t -p tcp 7500
    Copy to Clipboard Toggle word wrap

    请注意,一个端口一次只能由一个服务使用,因此尝试使用已占用的端口会出现 ValueError: Port already defined 错误消息。

  3. 在防火墙中打开端口:

    # firewall-cmd --add-port=7500/tcp
    # firewall-cmd --runtime-to-permanent
    Copy to Clipboard Toggle word wrap
  4. 启用 tangd 服务:

    # systemctl enable tangd.socket
    Copy to Clipboard Toggle word wrap
  5. 创建覆盖文件:

    # systemctl edit tangd.socket
    Copy to Clipboard Toggle word wrap
  6. 在以下编辑器屏幕中,其打开了位于 /etc/systemd/system/tangd.socket.d/ 目录中的一个空 override.conf 文件,通过添加以下行将 Tang 服务器的默认端口从 80 改为之前选择的端口号:

    [Socket]
    ListenStream=
    ListenStream=7500
    Copy to Clipboard Toggle word wrap
    重要

    在以 # Anything between here# Lines below this 开头的行之间插入之前的代码片段,否则系统会丢弃您的更改。

  7. 保存更改并退出编辑器。在默认 vi 编辑器中,您可以通过按 Esc 切换到命令模式,输入 :wq 并按 Enter 来实现。
  8. 重新载入更改的配置:

    # systemctl daemon-reload
    Copy to Clipboard Toggle word wrap
  9. 检查您的配置是否正常工作:

    # systemctl show tangd.socket -p Listen
    Listen=[::]:7500 (Stream)
    Copy to Clipboard Toggle word wrap
  10. 启动 tangd 服务:

    # systemctl restart tangd.socket
    Copy to Clipboard Toggle word wrap

    由于 tangd 使用了 systemd 套接字激活机制,因此服务器会在第一次连接进来时就立即启动。在第一次启动时会自动生成一组新的加密密钥。要执行手动生成密钥等加密操作,请使用 jose 工具。

验证

  • 在您的 NBDE 客户端上,使用以下命令验证您的 Tang 服务器是否正常工作。命令必须返回您传递给加密和解密的相同的消息:

    # echo test | clevis encrypt tang '{"url":"<tang.server.example.com:7500>"}' -y | clevis decrypt
    test
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat