什么是 Kubernetes 安全机制?
Kubernetes 安全机制基于云原生安全性的 4C:云、集群、容器和代码:
- 云(或企业数据中心/主机共同托管设施):底层物理基础架构是 Kubernetes 安全机制的基础。无论集群是以用户自己的数据中心,还是云服务提供商为基础而构建的,都必须遵守基本的云服务提供商(或物理安全性)最佳实践。
- 集群:保护 Kubernetes 集群既涉及可配置的组件(如 Kubernetes API),又涉及集群中所有应用的安全性。对于大多数云原生应用,都是围绕微服务和 API 而设计的,因此应用的安全性取决于构成整个应用的服务链中最薄弱的环节。
- 容器:容器设计最佳实践包括:从尽可能最小的代码库(不包括不必要的库或函数)着手,避免向容器中的用户授予不必要的权限,并确保在构建时扫描容器中是否存在漏洞。
- 代码:任何 Kubernetes 环境的主要受攻击面都是代码带来的。使用 TLS 握手为 TCP 加密、不公开未使用的端口、扫描以及定期测试等简单策略有助于防止生产环境中出现安全问题。

5 分钟了解 Kubernetes

Kubernetes 使用现状 2021
为什么 Kubernetes 安全机制在整个容器生命周期中都很重要?
Kubernetes 集群具有分布性和动态性,因此 Kubernetes 安全机制在整个容器生命周期中都非常重要。应用生命周期的三个阶段(构建、部署和运行时)分别需要不同的安全方法。Kubernetes 具有天生的安全优势。例如,通常不会修补或更新应用容器,而是将容器镜像完全替换为新版本。这样一来,可以实现严格的版本控制,并且当在新代码中发现漏洞时,也可以快速回滚。
但是,各个 Pod 是瞬时的,不断变化的运行时环境可能会给 IT 安全专业人员带来挑战,原因是,应用以及指向其他应用和服务的 API 链接不断变化。
在应用的生命周期中,主要的 Kubernetes 安全漏洞是什么?如何处理这些漏洞?
Kubernetes 安全工具应该:
- 缩短确保代码未受到入侵所花费的时间。
- 提供数字签名以提高对代码的信任级别。
- 提供可见性和透明性,不仅要在代码方面提供,还要在配置问题方面提供。
- 防止信息 Ingress(传入连接)或 Egress(出站连接)到不安全的服务。
构建期间的主要 Kubernetes 安全漏洞是什么?
- 代码来自不受信任的镜像仓库。不受信任的代码包括可能会在无意中向不法分子授予访问权限的恶意软件或后门。
- 庞大的基础镜像。对于容器化应用而言,越简洁越好,因此开发人员应消除可能会受到入侵的不必要的软件包、库和 shell。
部署期间的主要 Kubernetes 安全漏洞是什么?
- 授予不必要的权限。在可能的情况下,将权限保持在最低限度,并仅挂载任务所需的密码,以缩小受攻击面。
- 无法隔离集群中的应用。应使用 Namespace 将资源和团队彼此隔离开。
- 攻击在集群内横向移动。使用网络分段策略防止攻击在集群内横向移动。
- 未经授权的访问。确保正确配置基于角色的访问控制 (RBAC) 以限制访问。
运行时的主要 Kubernetes 安全漏洞是什么?
- 基础架构攻击。在运行时,Kubernetes 基础架构元素(包括 API 服务器、etcd 和控制器)都会呈现出自己的受攻击面。
- 复杂性。Kubernetes 集群的持续运行状况包含许多可变要素。在定位和修复攻击来源的同时,必须快速隔离、停止受到入侵的容器,并将其替换为正常运行的容器。
什么是高级 Kubernetes 安全机制确认清单?
最佳实践建议包括:从最小的、无发行版的镜像着手,并只添加绝对必要的镜像。越小越安全。
- 使用最小的主机操作系统,结束只读挂载,并使用 SELinux 选项实现更多控制
- 从上向下扫描镜像(包括任何类型的操作系统镜像和外部镜像)中是否存在漏洞。不存在外部可信来源。
- 使用 Namespace 和 RBAC 以逻辑方式对集群和用户进行分段。如果不需要,则不应显示。
- Kubernetes 网络的默认设置允许任意通信,因此,应在生产之前执行网络分段。认真定义 Ingress 和 Egress 策略,以确保正确路由连接。
- 将权限保持在最低限度,切勿以 root 身份运行应用进程。使用只读根文件系统可防止任何攻击,具体的攻击方式取决于是安装软件,还是修改文件系统。
- 将安全机制(如镜像扫描)集成到 CI/CD 流水线中。更好的措施是运行 CIS 基准安全测试。
- 保护集群本身。配置 RBAC 以限制对 API 服务器的访问,并确保使用 TLS 加密保护所有 etcd 通信。同样,通过为 kubelet 配置 RBAC 来锁定 kubelet 权限。
- 充分利用 Kubernetes 中的内置控制功能,例如配置安全上下文以限制对 Pod 的访问。
- 主动安全机制应包括监控进程活动、服务之间的通信以及集群外部的通信。
相关解决方案和产品
企业就绪型 Kubernetes 运行时
精简整个多云基础架构中的运维。
Kubernetes 与 Docker
您应该选择哪些工具来成功使用容器?
Kubernetes 上的 Docker 容器
了解什么是容器和 Kubernetes 之后,下一步就是了解这两者如何协同运行。