概述
Kubernetes(也称 K8s 或 “Kube”)是一个开源的容器编排平台,可以自动执行容器化应用的部署、管理和扩展。Kubernetes 将 Linux 容器组织成集群,并使用应用编程接口(API)来连接容器化的微服务。由于 Kubernetes 部署中涉及的任何层面或服务都有存在漏洞的风险,因此保护 Kubernetes 集群的安全流程可能会比较复杂。
有些团队对 Kubernetes 安全防护采取以容器为中心的方法,主要侧重于保护容器镜像和容器运行时的安全,而也有些团队则选择 Kubernete 原生安全防护,采用更综合的方法从 Kubernetes 提取上下文,并使用内置的 Kubernetes 功能和控制机制来实施基于风险的安全最佳实践,并覆盖整个应用开发生命周期。Kubernetes 原生安全防护还可以解决 Kubernetes 特有的风险和漏洞,例如配置错误的 Kubernetes RBAC 策略、不安全的 Kubernetes 控制平面组件,以及不当使用的 Kubernetes 机密等。
全阶段安全保障
容器化和 Kubernetes 有几个天生的安全优势,可以帮助团队解决与容器安全问题相关的风险。例如:
- 在发现容器在运行时存在安全问题时,通常会选择在构建阶段修复并重新部署容器,而不是在运行时进行更新或修补。这一特性称为不变性,可在容器行为和异常行为检测方面实现更好的可预测性。
- 网络策略可以对容器集或容器集组进行分段,而准入控制器则可应用策略来实现更好的监管。
- 基于角色的访问控制(RBAC)可以为用户和服务帐户分配特定的权限。
- Kubernetes 机密可以更好地保护诸如加密密钥等敏感数据。
然而,Kubernetes 并不是一个安全防护平台,因此团队必须在 Kubernetes 环境的每一层以及容器和应用生命周期的每个阶段实施风险评估和漏洞排查。为了有效提升 Kubernetes 安全性,您必须在构建、部署和运行时阶段实施最佳实践,并尽可能利用 Kubernetes 原生安全防护控制。
红帽能为您做些什么?
作为开源容器技术的领导者,红帽可以帮助您加强对 Kubernetes 安全防护最佳实践的认识,让您的容器实施变得更加安全。为了帮助团队更高效地识别和解决 K8s 安全问题,红帽可提供 Kubernetes 原生解决方案,将安全防护嵌入到容器生命周期中,并使 DevOps 团队能够构建和部署生产就绪型应用。
Kubelinter 由 StackRox 创立并于 2021 年被红帽收购,是一款开源静态分析工具,可用于识别 Kubernetes 部署中的配置错误和编程错误。KubeLinter 运行一系列测试来分析 Kubernetes 配置,识别错误,并为所有不符合安全最佳实践的内容生成警告。
红帽服务互连配备了内置安全防护功能,默认情况下可在集群和云中进行扩展,同时可在服务之间提供值得信赖的通信链路。红帽服务互连还允许跨传统平台、容器平台或 Kubernetes 平台进行灵活开发,为您的开发人员提供更多用于构建、更新和部署下一代业务应用的选择。
红帽® Kubernetes 高级集群安全防护(ACS)可使企业或机构安全地构建、部署和运行云原生应用。ACS 可作为自助管理或全托管式 SaaS 解决方案提供,能够保护所有主要云和混合环境中容器化工作负载的安全,使 DevOps 和 InfoSec 团队能够开展安全防护工作,降低运维成本,并提高开发人员生产力。