零信任与 K8s 环境实践

news/2024/12/4 19:54:09/

零信任的热度自然吸引了大量市场上的关注。尽管如此,零信任并不只是一个空洞的术语:它代表了对未来安全性的一些深刻变革的想法。那么,零信任具体是什么,为什么它会突然变得如此重要?零信任对 Kubernetes 用户来说具体意味着什么呢?

以往“信任但要验证”的方式已被证明对云计算复杂的分布式特性无效,因此 Kubernetes 必须转向“从不信任,始终验证”的零信任模型思想,为业务提供更大的保护。

零信任

187ce86a45d8b55f851146f435403700.jpeg

正如其名,零信任本质上是关于信任的。零信任是为了解决安全的核心问题之一:是否允许 X 访问 Y?换句话说,我们是否信任 X 访问 Y?

零信任是一种战略性网络安全模型,旨在保护现代数字业务环境,该环境越来越多地包括公共和私有云,SaaS应用程序,DevOps,RPA等。零信任的理念为:无论是处于网络界限之内或是之外,组织都不应该自动信任任何事物。

零信任模型

与 API 服务器的连接,控制平面内的通信,以及控制平面和 Kubelet 之间的通信,应该只被配置为可使用 TLS 连接到达。尽管 API 服务器可以通过向 kube-apiserver 提供 -tls-cert-file=[file]和-tls-private-key-file=[file]标志来轻松配置为使用 TLS,但考虑到 Kubernetes 能够根据需要快速扩大或缩小规模,在集群内配置连续的TLS证书管理是具有挑战性的。为了解决这个问题,Kubernetes 引入了TLS引导功能,它允许在 Kubernetes 集群内部自动进行证书签署和 TLS 配置。

Kubernetes 上的零信任

零信任策略对 Kubernetes 用户在一定程度上会简单很多。尽管 Kubernetes 本身的复杂性和各种缺点,但它是一个范围明确的平台,有着明确的安全模型和明确的扩展机制。这让 Kubernetes 成为实施零信任策略颇具成效的领域。

在 Kubernetes 环境中的零信任目前最多的关注在两个方向:

网络零信任

在 Kubernetes 中实现零信任网络最直接的方法之一是通过 Service Mesh(服务网格)。服务网格利用 Kubernetes 中强大的 sidecar(从容器),将平台容器可以在部署时与应用容器一起动态插入,作为一种后期绑定操作功能的方式。

微服务的 API 安全

API 已成为现代应用程序的中枢神经系统,将关键信息和数据从应用程序的一部分带到另一部分,或从一个应用程序带到另一个应用程序。因此,在保护应用程序时,API 安全性应该是重中之重。对于公共 API 尤其如此,全世界的用户都可以访问软件组件和敏感数据。

采用零信任框架将重点从单一的保护措施转移到不同的支柱(用户、设备、网络、应用程序和数据)。这可以帮助您确保 API 访问的每个部分,无论是在边界内还是边界外,都采用最小权限方法并受到持续监控。

为了在不停止或减慢您的应用程序的情况下有效地实现这样的目标,编排和自动化将是关键的决定步骤。

Kubernetes中的三个最佳实践

c90bb9b9e75652a60a64d848bc90320d.jpeg

Kubernetes 提供了灵活性,既是优势但也增加了复杂性,为了在不同的网络环境中运行,为服务和工作负载引入了许多配置选项。Kubernetes 部署考虑以下三个零信任模型的最佳实践,以提升安全保护和工作效率。

优化应用配置和访问权限

团队需要为服务和跨集群操作提供一致的配置。虽然 Kubernetes 提供了多种配置选项,但过多的选项会增加安全问题出现的几率。使用零信任框架,组织可以对服务进行持续验证并将其部署到多个集群,而不会危及任何安全性。通过在授予它们对应用程序和服务的任何安全权限之前仔细检查这些配置,组织可以加强分布式 Kubernetes 集群的安全性。

使用零信任模型提高 Kubernetes 安全性的另一种方法是只为软件提供运行所需的权限和功能。虽然确定软件所需的确切权限和功能并不是那么容易,但更好地了解这些元素可以降低安全风险。对于云端的容器编排环境,相比本地环境,赋予有限的权限和能力更为重要。

记录和监控数据

重要的是提供必要的安全数据,使开发人员和安全专家能够衡量、预测、避免和防御潜在的安全风险。例如,组织应该记录服务识别的用户 ID 或组 ID,尤其是在集群环境。这可确保组织使用所需的 ID 来帮助服务和软件团队更快地识别匿名攻击。日志记录也将是在云原生环境中提供安全可追溯性的信息的关键部分。

有了足够的安全数据,团队还可以重新思考和优化他们的安全实践和应用程序更新,以应对不断变化的技术环境,帮助确保持续抵御攻击。

专注于人员和流程管理

除了来自外部网络的用户和设备之外,合作伙伴、利益相关者或任何有权访问组织的数据库和容器化应用程序的人都是潜在的 Kubernetes 安全威胁。因此,培训内部人员以避免潜在的内部威胁至关重要。如上所述,组织可以从记录和监控平台数据开始,同时让所有利益相关者了解市场上普遍存在的各种攻击策略。

除了适当的培训之外,优化日常运营中的安全流程有助于支撑零信任模型,并最大限度地减少网络攻击对企业云上服务的影响。一些推荐的安全流程包括积极审查网络管理、防火墙清单以及定期检查容器和软件镜像。

由于 air-gapped 为云中的复杂部署模式提供了军事级安全级别,我建议组织将这些操作流程与 air-gapped 实现相结合,为 Kubernetes 项目提供额外的安全级别。

结论

fb3335baedec4541998e1d99f8a35c18.jpeg

在生产环境中部署和管理 Kubernetes 时,安全性不再是事后的想法。违规、中断和数据盗窃是严重的网络安全问题,可能对组织产生不利影响。数据和信息记录、员工安全培训和流程优化等零信任实践是保护 Kubernetes 项目和 IT 基础架构的有效且实用的方法。通过实施这些实践,组织可以更好地保护 Kubernetes 部署。遵循这种零信任模型将使开发人员和运维人员无需担心集群和基础设施安全问题,同时使安全团队能够专注于安全性,而不是迷失在 Kubernetes 配置中。

关于HummerRisk

HummerRisk 是开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题,核心能力包括混合云的安全治理和K8S容器云安全检测。

e6b8f76dafc653dacc43b0afaa5888a3.jpeg


http://www.ppmy.cn/news/7959.html

相关文章

【模型部署】人脸检测模型DBFace C++ ONNXRuntime推理部署(2)

系列文章目录 【模型部署】人脸检测模型DBFace C ONNXRuntime推理部署(0) 【模型部署】人脸检测模型DBFace C ONNXRuntime推理部署(1) 【模型部署】人脸检测模型DBFace C ONNXRuntime推理部署(2) 文章目录…

手写 mini 版 Webpack

目录 1. mini 版 Webpack 打包流程 2. 创建 minipack.js 2.1 需要用到的插件库 2.1.1 babylon —— 解析 JavaScript 语法,生产 AST 语法树 2.1.2 babel-traverse —— 对 AST 进行遍历、转换的工具 2.1.3 transformFromAst —— 将 ES6、ES7 等高级的语法&am…

EIZO船舶触摸屏维修T1502-B

EIZO船舶触摸屏使用注意事项: 1 由于显示器电子零件的性能需要约30分钟才能稳定,因此在电源开启之后,应调整显示器30分钟以上。 2为了降低因长期使用而出现的发光度变化以及保持稳定的发光度,建议您以较低亮度使用显示器。 3 当显示器长期显示一个图像的情况下再…

Eth05- Eth以太网发送函数代码解析

1 以太网帧的格式 了解发送函数之前先了解一下以太网帧的格式,以太网帧的格式如下所示: PREAMBLE–以太网帧以 7 字节前导码开头,指示帧的开始,并允许发送方和接收方建立位同步。最初,引入PRE(前导码)是为了允许由于信号延迟而损失几个位。但今天的高速以太网不需要前…

hevc 预测单元语法

预测单元PU规定了编码单元的所有预测模式,一切与预测有关的信息都定义在预测单元部分,比如,帧内预测的方向,帧间预测的分割方式,运动矢量预测。以及帧间预测参考图像索引号都属于预测单元的范畴。一个2Nx2N 的编码单元…

DaoCloud 结合 Karmada 打造新一代企业级多云平台

上周 Cloud Native Days China 南京站 Meetup 顺利举行,「DaoCloud 道客」大容器团队技术负责人-张潇在会上以《DaoCloud 结合 Karmada 打造新一代企业级多云平台》为主题,与 Karmada 社区及其合作伙伴一起,共同交流云原生多云多集群生产实践…

T-SQL程序练习04

目录 一、写一个存储过程 𝐹𝑖𝑏𝑜𝑛𝑎𝑐𝑐 1. 具体要求 2. T-SQL程序代码 3. 结果显示 二、建立存储过程 𝑆𝑎𝑛𝐺𝑢…

Maven是怎么样构建Spring Boot项目的?

准备好项目运行所需的环境后,就可以使用IDEA开发工具搭建一个Spring Boot入门程序了。我们既可以使用Maven方式构建项目,也可以使用Spring Initializr快捷方式构建项目。这里先介绍如何使用Maven方式构建Spring Boot项目,具体步骤如下。 1.初…