GlobalSign 博客

为什么 PKI 安全性是 Kubernetes 集群中 Pod-to-Pod 通信的关键?

CNCF 2023 年度调查报告强调,84% 的企业正在其生产软件管道中使用或评估 Kubernetes(高于 2022 年的 81%)。显然,Kubernetes 已成为企业将软件应用程序部署到生产中的事实操作系统。

随着用户群的不断扩大,涉及的公司数据也越来越多,加上公司数据和通信的机密性,Kubernetes 的安全管理已成为企业关注的主要问题。在 RedHat 的《2024 年 Kubernetes 状态报告》中,67% 的受访者表示他们的 Kubernetes 部署曾因安全原因而推迟。

随着微服务架构的兴起,公钥基础设施(PKI)在整个 DevOps 管道中通过加密、验证和授权确保通信安全方面发挥了至关重要的作用。这些安全措施中需要解决的关键漏洞包括:

  • 用于 kubelet 验证 API 服务器身份的客户端证书;
  • 用于 API 服务器与 kubelet 通信的 Kubelet 服务器证书,
  • API 服务器端点的服务器证书,
  • 供群集管理员验证 API 服务器身份的客户端证书,
  • 用于 API 服务器与 kubelet 通信的客户端证书,
  • 用于 API 服务器与 etcd 通信的客户端证书,
  • 用于控制器管理器与 API 服务器通信的客户端证书/kubeconfig,
  • 用于调度程序与 API 服务器通信的客户端证书/kubeconfig,
  • 前置代理的客户端和服务器证书

在本博客中,我们将探讨确保 Kubernetes 环境中 pod-to-pod 通信安全的重要性,以及实施 TLS 如何提供所需的额外保护。

什么是Pod,为什么要使用它们?

在 Kubernetes 等容器化应用程序和编排平台中,“Pod ”代表一组拥有共享网络或主机的一个或多个容器,允许它们相互通信。在 Pod 中运行的容器可以协同工作,共享资源并执行特定任务。

像 Kubernetes 这样的协调平台对 pod 管理至关重要。Kubernetes 允许开发人员自动部署、扩展和管理容器化应用程序,确保工作流程持续高效地运行。

如何确保 Pod-to-Pod 通信安全

使用 TLS 和 mTLS 确保 pod 之间的通信安全,使用 X.509 证书实现加密过程。这些证书存储为 Kubernetes 机密,可确保敏感信息在集群内得到安全管理。 mTLS 安全性对于强化容器化环境 和增强微服务架构的安全态势至关重要。 

为什么需要保护Pod

要保护敏感应用程序并降低恶意攻击或数据泄露的风险,就必须确保容器化环境中 pod 和 pod 间通信的安全。Pod 安全可以保护企业,并在工作流程中实现各种改进和保证:   

  1. 数据保密性 – TLS 证书可提高数据完整性,并通过加密防止任何未经授权的访问。这种安全通信对于处理敏感数据(如金融交易或医疗记录)的环境尤为重要。
  2. 隔离和多租户 – 当多个 pod 在共享环境中工作并共享同一个集群时,任何受损的 pod 都有可能影响集群中的另一个 pod。
  3. 身份验证 – 使用 TLS 保护 pod,确保 pod 只与授权实体通信,降低恶意攻击导致未经授权访问的风险。
  4. 执行安全态势 – Pod 的安全性对于成功的代码开发至关重要,mTLS 可启用安全策略,为 Kubernetes 集群中的所有 pod 设置基线安全要求。
  5. 合规性要求 – Pod 安全性可确保组织符合合规性标准,防止高度管制行业的数据泄露和中断。
  6. 提高性能 – 除了 TLS 的安全优势外,它们还能提高性能,包括更快的 “握手 ”时间,非常适合高流量的 Kubernetes 环境。
     

什么是 mTLS 及其重要性?

mTLS 或相互传输安全层是标准 TLS 协议的扩展,要求客户端和服务器之间相互验证,以建立安全连接。 这一额外步骤可增强双方通信的安全性,因为它能确保客户端和服务器都是各自声称的真实身份。
mTLS 支持以下功能:

  • 数据加密 - 特别是在微服务架构中,以确保服务间通信的安全。
  • 零信任架构 - 每次通信都经过验证。
  • 适用于各种通信协议 – 这意味着它不仅限于基于网络的应用程序

正因为这些特性,mTLS 被广泛用于保护敏感通信的安全,这在云原生和基于微服务的环境中非常普遍。

利用 GlobalSign 的 Cert-manager 签发器确保 Kubernetes 环境的安全

GlobalSign 的 Kubernetes Cert-manager Issuer 使开发人员能够使用可信的 TLS 证书保护其 Kubernetes 环境的安全。通过利用证书管理器的功能,GlobalSign 的 Atlas Issuer 简化了为 Kubernetes 中的安全需求生成和部署 X.509 证书的流程,可根据您的请求快速、轻松地交付可信证书。

开始在 Kubernetes 环境中使用 GlobalSign 用于证书管理器的 Atlas 签发器实施自动化安全措施 

近期博客