探索 Kubernetes 1.31 中的关键安全改进,包括 AppArmor 支持、增强的密钥管理以打造更安全的平台等等。
译自 Kubernetes 1.31: Key Security Enhancements You Should Know,作者 Ben Hirschberg。
Kubernetes v1.31 为这个流行的容器编排平台带来了一些值得注意的改进,提升了平台的安全性和其他方面。 这些增强功能改进了帐户令牌、标签、策略和其他领域,以确保为开发人员和企业提供更安全、更可靠的平台。
Kubernetes v1.31 引入了几个与安全相关的改进,这些改进提高了平台和工作负载的整体安全态势。
AppArmor 支持增强功能 (KEP-24) 将 AppArmor 集成到 Kubernetes 中,提供了一种为 Pod 和容器强制执行强制访问控制 (MAC) 策略的方法。
AppArmor 是一个 Linux 安全模块,它通过配置文件限制程序的功能,从而降低了安全漏洞的风险。通过允许用户在 Kubernetes 清单中指定 AppArmor 配置文件,此增强功能有助于隔离和保护工作负载,确保即使应用程序受到攻击,其造成损害的能力也会受到预定义安全策略的限制。
关键方面:
好处:
实现细节:
兼容性: 需要底层节点支持 AppArmor。
apiVersion: v1
kind: Pod
metadata:
name: sample-pod
annotations:
container.apparmor.security.beta.kubernetes.io/container-name: localhost/profile-name
spec:
containers:
- name: container-name
image: sample-image
有关更详细的信息,请访问 KEP-24 问题页面。
此 Kubernetes 增强功能增强了拉取需要密钥的容器镜像的安全性,例如私有注册表凭据。主要目标是确保这些密钥在镜像拉取过程中得到安全管理和使用,从而减轻与未经授权访问敏感数据相关的风险。
关键方面:
好处:
实现细节:
apiVersion: v1
kind: Pod
metadata:
name: example-pod
spec:
containers:
- name: example-container
image: private-registry.example.com/my-image
imagePullSecrets:
- name: my-registry-secret
有关更详细的信息,请访问 KEP-2535 问题页面。
此 Kubernetes 增强功能通过将匿名身份验证限制为仅特定预配置的端点来提高安全性。其目标是降低与不受限制的匿名访问相关的风险,这些风险可能被恶意用户利用。
关键方面:
好处:
实现细节:
有关更详细的信息,请访问 KEP-4633 问题页面。
此增强旨在提高 Kubernetes 中绑定服务帐户令牌的安全性以及可用性。这些令牌用于向 Kubernetes API 服务器 和其他服务进行身份验证。目标是增强其生命周期管理、轮换和撤销,解决与长期令牌相关的安全问题。
关键方面:
优势:
实现细节:
apiVersion: v1
kind: Pod
metadata:
name: example-pod
spec:
serviceAccountName: example-service-account
containers:
- name: example-container
image: example-image
有关更详细的信息,请访问 KEP-4193 文档。
此增强旨在通过支持进程外 JSON Web 令牌 (JWT) 签名来提高 Kubernetes API 服务器的安全性以及灵活性。这允许 API 服务器将签名令牌的责任委托给外部进程或服务,从而增强安全性以及可扩展性。
关键方面:
优势:
实现细节:
有关更详细的信息,请访问 KEP-3908 文档。
此增强引入了在授权策略中使用字段选择器以及标签选择器的功能,从而允许在 Kubernetes 中进行更细粒度的访问控制。通过启用这些选择器,管理员可以根据资源字段以及标签定义精确的规则,从而提高访问控制系统的灵活性和安全性。
关键方面:
优势:
实现细节:
有关更多详细信息,请访问 KEP-4601 文档。
此增强旨在在 Kubernetes 中引入修改准入策略,提供一种灵活的方式来修改对 API 服务器的请求。这些策略在请求被持久化之前进行评估以及应用,从而能够根据自定义条件动态修改资源。
关键方面:
优势:
实现细节:
Kubernetes 中的修改准入策略和修改准入 webhook 用于在 API 服务器将请求持久化之前修改该请求。不过,在它们的操作方式和灵活性上有明显的区别。下表给出了两者之间的比较。
Kubernetes v1.31 为平台带来了多项增强功能,显著地改善了平台内的安全性、可扩展性和开发者体验。主要要点包括:
这些更新强调了 Kubernetes 致力于推进其安全性和可扩展性,使其成为面向开发人员和企业的更安全、更可靠的平台。有关更多详细信息,请访问相应的 KEP 问题页面和文档。分享