Kubernetes 安全完整指南
Published on 05 May 2022

关于 Kubernetes® 安全性的大多数讨论都集中在保护集群的难度上。由于 Kubernetes 仅提供少量的原生安全选项,因此很难保护 Kubernetes 系统的每一层。确实,Kubernetes 几乎没有内置的安全解决方案,保护 Kubernetes 需要解决多个基础设施层面上可能存在的多种漏洞。
但这并不意味着您应该将 Kubernetes 安全性视为难以实现的难题。事实上,Kubernetes 是一个拥有如此多接口的大型平台,这创造了一个机会:它可以轻松开发一套自动化、系统化的操作,将安全性纳入 Kubernetes 构建和部署流程。结果是一个紧密集成的安全策略,可以缓解堆栈各个级别和层面的攻击。
本电子书介绍了如何制定安全策略,以增强而不是阻碍您基于 Kubernetes 的其他操作。它从节点开始识别 Kubernetes 安全挑战,并指出解决每个挑战的具体解决方案,重点介绍自动化、可扩展的方法,无论集群大小或基础架构类型(本地、公共云、托管服务)如何,这些方法都可以确保基于 Kubernetes 的工作负载安全。
Kubernetes 是一个多维野兽
首先,必须认识到 Kubernetes 是一个由六个以上组件组成的复杂平台。它包含一个用于促进集群组件之间通信的 API 服务器、一个用于管理工作负载分配的调度程序以及用于管理 Kubernetes 本身状态的控制器。它还包括一个在集群内的每个节点或服务器上运行的代理,以及一个包含集群配置数据的键值存储。
原生 Kubernetes 安全保护
Kubernetes 的安全性更加复杂,因为尽管它具有某些内置安全措施,但如果没有其他技术的帮助,它就无法保护自身安全。Kubernetes 允许管理员构建基于角色的访问控制 (RBAC) 规则,以保护集群资源免受不必要的访问。此外,他们还可以建立 Pod 安全规则和网络策略,以禁止特定形式的 Pod 和网络滥用。
为了缓解攻击者入侵集群部分区域所造成的中断,他们可能会应用资源限制。在实施资源限制的情况下,攻击者将无法通过使集群其余部分缺乏足够的资源来执行拒绝服务攻击(当然,前提是入侵不会蔓延到发起攻击的集群部分之外)。
集成开发环境
集成开发环境 (IDE) 是开发人员创建应用程序源代码时常用的工具。IDE 应作为漏洞扫描的起点,作为启动应用程序部署过程的工具。大多数 IDE 可以与一系列第三方源代码漏洞扫描程序交互,以识别应用程序代码中可能存在的安全漏洞。
综合整合
持续集成 (CI) 技术托管源代码并将其转换为可在 Kubernetes 部署的二进制文件。它们代表代码的额外漏洞扫描阶段。CI 服务器可与一系列漏洞扫描程序互操作,类似于 IDE。
配置管理
目前,大多数 Kubernetes 应用程序构建和部署管道依赖于基础设施即代码 (IaC) 和 YAML 文件来实现自动化、基于策略的配置管理。
下载 Prisma Cloud 的白皮书,仅通过在线白皮书了解有关 Kubernetes 安全完整指南的更多信息。