导入 SSL 证书

本节介绍如何为新的 SUSE Manager 安装配置 SSL 证书,以及如何替换现有证书。

在开始之前,请确保已准备好:

  • 证书颁发机构 (CA) SSL 公共证书。如果您使用 CA 链,则所有中间 CA 也必须可用。

  • 一个 SSL 服务器私用密钥

  • 一个 SSL 服务器证书

所有文件必须采用 PEM 格式。

SSL 服务器证书的主机名必须与部署证书的计算机的完全限定主机名匹配。您可以在证书的 X509v3 Subject Alternative Name 部分中设置主机名,也可以根据环境的需要列出多个主机名。支持的密钥类型为 RSA 和 EC(椭圆曲线)。

第三方颁发机构通常使用中间 CA 来为请求的服务器证书签名。在这种情况下,证书链中的所有 CA 都必须可用。如果没有额外的参数或选项可用于指定中间 CA,请注意所有 CA(根 CA 和中间 CA)都将存储在一个文件中。

1. 为新安装导入证书

SUSE Manager 默认使用自我签名证书。完成初始设置后,可将默认证书替换为导入的证书。

过程:在新的 SUSE Manager Server 上导入证书
  1. 根据 安装 中的说明安装 SUSE Manager Server。

  2. 根据 SUSE Manager Server 设置 完成初始设置。

  3. 在命令提示符下,将 SSL 环境变量指向证书文件位置:

    export CA_CERT=<CA 证书文件的路径>
    export SERVER_KEY=<Web 服务器密钥的路径>
    export SERVER_CERT=<Web 服务器证书的路径>
  4. 完成 SUSE Manager 设置:

    yast susemanager_setup

    在设置过程中,当系统提示您输入证书细节时,请填写随机值。这些值将由您在命令提示符下指定的值覆盖。

在从中导出了环境变量的同一个外壳中执行 yast susemanager_setup 命令。

2. 为新的 Proxy 安装导入证书

SUSE Manager Proxy 默认使用自我签名证书。完成初始设置后,您可以将默认证书替换为导入的证书。

过程:在新的 SUSE Manager Proxy 上导入证书
  1. 根据安装中的说明安装 SUSE Manager Proxy。

  2. 根据SUSE Manager Proxy 设置完成初始设置。

  3. 在命令提示符下,运行:

    configure-proxy.sh
  4. 出现您要导入现有证书吗?提示时,键入 y。

  5. 按照提示完成设置。

请使用同一证书颁发机构 (CA) 为服务器和代理的所有服务器证书签名。使用不同 CA 签名的证书将不匹配。

3. 替换证书

您可以将 SUSE Manager 安装中的活动证书替换为新证书。要替换证书,可以将已安装的 CA 证书替换为新 CA,然后更新数据库。

3.1. 在服务器上

过程:替换现有证书
  1. 在 SUSE Manager 服务器上的命令提示符处,调用命令 mgr-ssl-cert-setup 并提供证书作为参数:

    mgr-ssl-cert-setup --root-ca-file=<根 CA 证书的路径> \
      --server-cert-file=<服务器证书文件> --server-key-file=<服务器密钥文件>

中间 CA 可以在使用 --root-ca-file 指定的文件中提供,也可以使用 --intermediate-ca-file 作为附加选项来指定。可以多次指定 --intermediate-ca-file 选项。此命令将对提供的文件执行一些测试,以测试它们是否有效并可用于请求的用例。

  1. 重启动服务以应用更改:

    spacewalk-service stop
    systemctl restart postgresql.service
    spacewalk-service start

3.2. 在代理上

如果您使用的是代理,则需要在 SUSE Manager 服务器上为该代理生成服务器证书,然后将证书文件复制到该代理上。或者,您可以让自己的证书颁发机构生成这些文件并将它们提供到代理上。当这些文件放置到代理上后,还需在 SUSE Manager 代理上使用 mgr-ssl-cert-setup 来替换证书。由于 SUSE Manager 代理没有 postgreSQL 数据库,因此运行以下专用的代理重启动命令就已足够:

spacewalk-proxy restart

3.3. 在 Salt 客户端上部署根 CA

如果根 CA 已更改,则需要将其部署到与 SUSE Manager 连接的所有客户端。

过程:在 Salt 客户端上部署根 CA
  1. 在 SUSE Manager Web UI 中,导航到系统  概览。

  2. 选中所有 Salt 客户端以将其添加到系统集管理器。

  3. 导航到系统  系统集管理器  概览。

  4. 在状态字段中,单击 应用 以应用系统状态。

  5. 在 Highstate 页面中,单击 应用 Highstate 以将更改传播到客户端。

3.4. 传统客户端的额外处理

传统客户端已弃用,请改用 Salt 客户端。

在仍有传统受管客户端连接到 SUSE Manager 的情况下,如果需要替换 CA,则需要执行一些额外的步骤。

重要的是,当新 CA 在 SUSE Manager Server 和 Proxy 上激活时,这些客户端不会断开连接。将旧的和新的根 CA 证书部署到受影响的客户端并信任这些证书。使用配置通道将证书文件部署到客户端,并使用远程命令功能重新生成信任存储。

在 SUSE Manager Server 和 Proxy 上激活新证书后,测试连接是否正常,以及是否仍然可以在客户端上安排操作。如果一切正常,则可以从客户端中去除旧的根 CA。