最新:在 TwitterMastodon 上获取项目更新

信任证书

当配置客户端连接到使用私有 CA 签名的服务证书的 TLS 服务器时,您需要向客户端提供 CA 证书,以便其验证服务器。 ca.crt 可能包含您需要信任的证书,但 **不要将与服务器相同的 Secret 挂载到 ca.crt。** 这是因为

  1. Secret 还包含服务器的私钥,该私钥应该只对服务器可见。您应该使用 RBAC 来确保包含服务证书和私钥的 Secret 只能被需要它的 Pod 访问。
  2. 安全地轮换 CA 证书依赖于能够同时信任旧的和新的 CA 证书。有关更多详细信息,请参阅 常见问题解答

在配置客户端时,您应该独立选择和获取要信任的 CA 证书。下载 CA 证书并将其存储在 SecretConfigMap 中,与包含服务器私钥和证书的 Secret 分开。

trust-manager 可用于管理这些证书,并自动将其分发到多个命名空间。

这确保了如果包含服务器密钥和证书的 Secret 中的内容被篡改,客户端将无法连接到被破坏的服务器。

当配置服务器进行双向认证的 TLS 时,也适用相同的概念;不要让服务器访问包含客户端证书和私钥的 Secret。