零信任模型
零信任
正如其名,零信任本质上是关于信任的。
零信任是为了解决安全的核心问题之一:是否允许 X 访问 Y?换句话说,我们是否信任 X 访问 Y?
零信任是一种战略性网络安全模型,旨在保护现代数字业务环境,该环境越来越多地包括公共和私有云,SaaS 应用程序,DevOps,RPA 等。零信任的理念为:无论是处于网络界限之内或是之外,组织都不应该自动信任任何事物。
Kubernetes 上的零信任
与 API 服务器的连接,控制平面内的通信,以及控制平面和 Kubelet 之间的通信,应该只被配置为可使用 TLS 连接到达。
尽管 API 服务器可以通过向 kube-apiserver 提供 -tls-cert-file=[file] 和 -tls-private-key-file=[file] 标志来轻松配置为使用 TLS,但考虑到 Kubernetes 能够根据需要快速扩大或缩小规模,在集群内配置连续的TLS证书管理是具有挑战性的。
为了解决这个问题,Kubernetes 引入了TLS引导功能,它允许在 Kubernetes 集群内部自动进行证书签署和 TLS 配置。
在 Kubernetes 环境中的零信任目前最多的关注在两个方向:
- 网络零信任
在 Kubernetes 中实现零信任网络最直接的方法之一是通过 Service Mesh(服务网格)。
服务网格利用 Kubernetes 中强大的 sidecar(从容器),将平台容器可以在部署时与应用容器一起动态插入,作为一种后期绑定操作功能的方式。
- 微服务的 API 安全
API 已成为现代应用程序的中枢神经系统,将关键信息和数据从应用程序的一部分带到另一部分,或从一个应用程序带到另一个应用程序。因此,在保护应用程序时,API 安全性应该是重中之重。对于公共 API 尤其如此,全世界的用户都可以访问软件组件和敏感数据。
采用零信任框架将重点从单一的保护措施转移到不同的支柱(用户、设备、网络、应用程序和数据)。这可以帮助您确保 API 访问的每个部分,无论是在边界内还是边界外,都采用最小权限方法并受到持续监控。
为了在不停止或减慢您的应用程序的情况下有效地实现这样的目标,编排和自动化将是关键的决定步骤。