确保Kubernetes软件供应链的安全

TAP 系列文章 | Tanzu Application Platform 的技术概览 Tanzu Application Platform 致力于为开发团队、应用安全团队、应用运维团队打造一条简化的端到端开发运维体验的路径,以提升软件开发效率、加固应用安全、简化应用运维复杂度,从而加快应用上市时间。助力企业在 Kubernetes 多云环境中提供卓越的开发者体验。 随着各企业正加快其数字化转型,利用 Kubernetes 等云原生技术来部署和运行应用程序以成为大势所趋。诚然,Kubernetes 简化了运维团队的工作,加速了应用的部署上线。尽管如此,随着许多企业对 Kubernetes 的拥 阅读详情

8343b804e92a3258abd284bd6bbbcb35.gif

新钛云服已为您服务1424

5ddde95c9bd1490827ac6ea54a009039.gif

现代软件开发实践使得软件供应链的安全比以往任何时候都更加重要。我们的代码依赖于开源库,而开源库依赖于其他库(一系列我们没有开发、没有编译、几乎不知道或根本不知道它来自何处的代码)。

其中一些代码几乎无处不在。在整个行业造成严重破坏的Log4Shell漏洞是由常见Java日志记录组件log4j中的一个旧bug引起的。我们正在建设一个不是站在巨人的肩膀上的行业,而是站在少数应用程序和组件维护者的肩膀上的行业,这些应用程序和组件维护者让我们的全球基础设施在业余时间工作,并出于他们内心的善良。

5f292ba18adcf97f87444fa99a766363.png

分布式开发增加了风险

这并不是为了减少维护人员所做的工作;它们是现代软件供应链的重要组成部分,提供从小型模块到整个基于容器的平台的一切。由于代码的重要性,他们的价值被低估,薪酬也被低估。可悲的是,有好几次坏角色主动提出接管代码维护工作,却加入了恶意软件,希望代码能够自动安装,因为它有一段值得信赖的历史。

随着我们的代码越来越多地成为团队的一部分,我们可以期望看到更多类似这样的攻击。我们如何保护自己和应用程序?首先也是最重要的是,我们需要了解软件供应链确实存在,我们不是孤立地构建代码,而且我们已经很久没有这样做了,如果我们曾经这样做过的话。开源和第三方库是我们如何制作软件的一个重要部分,它们只会变得更加重要。

我们可以采取哪些步骤来确保软件供应链的安全?在提供管理软件材料清单的工具方面已经做了大量的工作:扫描库的代码,使用静态和动态分析,向代码中添加数字签名和散列,并将其全部纳入托管存储库。但有一个方面还不清楚:我们如何验证这项工作以及我们正在使用的代码?毕竟,古老的安全格言之一仍然是“信任但要验证”

确保软件供应链的安全

我们需要信任我们使用的代码,但我们也需要验证它是否可信。我们还需要在时间紧迫的情况下完成这项工作,随着存储库中的代码发生变化,云本机代码将发布新的构建。现代开发的自动化本质在这里是关键,像GitHub这样的平台是我们软件生命周期的核心,提供持续集成和持续交付(CI/CD)。

a6b19027b4b5973b1d0d89957199dcfc.png 

当我们使用像Kubernetes这样的技术时,事情会变得更加复杂,Kubernetes的设计是基于微服务架构和容器的混合匹配理念。虽然我们的代码可以在独立的容器中运行,但它在嵌套的抽象用户区中运行,每个dockerfile收集一系列依赖项,其中许多依赖项没有完整的文档记录。我们如何才能相信我们使用的容器中的物料清单?

推荐白皮书:

0edd55f27c4ff518cf9c4fab66d08cf0.png

介绍:一个工件验证工作流

微软的云本机开源团队一直在研究一个新的规范,该规范将有助于解决这一问题。Approval是一个验证框架,它支持Kubernetes应用程序中的各种工件。它使用一组受信任的安全元数据和已签名的物料清单来确保您部署的所有内容都是您希望部署的内容。

e5e6920cbfed9630fc9767329aac4d09.png 

图像和其他组件利用公证人V2签名和验证工具以及ORAS(OCI注册表作为存储)工件规范。ORAS是OpenContainerInitiative注册表定义的一部分,它扩展到存储任何东西,而不仅仅是容器。它作为一种整理软件材料清单的方式工作得很好。有趣的是,Bindle分布式应用程序安装程序定义和ORAS清单之间存在共性,这使得从SBOM到经过验证的分布式应用程序安装程序变得简单。两者一起提供了一个供应链图,该图可以被解析并用作Kubernetes集群内验证方案的一部分。

将这些概念捆绑在一起,添加一个工作流引擎,将策略应用于软件物料清单,验证代码及其依赖关系中的许多不同供应链。它的核心是一个协调器,负责跨容器映像管理策略工作流。它是可扩展的,因此它可以跨公共和私有注册中心工作,使用与Kubernetes中使用的插件模型类似的熟悉插件模型。

政策推动的批准

Proparly使用的策略模型基于熟悉的工具,提供了一种使用您自己的配置以及使用Open policy Agent构建的更复杂的策略快速推出基本策略的方法。它还将在应用程序开发生命周期的不同阶段工作,插入CI/CD系统以在构建时验证工件,并插入Kubernetes以确保代码在构建和运行之间不会发生更改。重要的是要有一个在堆栈中工作的验证模式,确保避免在构建、存储库和注册中心以及运行时发生在代码上的供应链攻击。

让一个工具在整个软件生命周期中处理验证非常重要,因为它确保您只需要编写一次策略。针对不同场景的不同工具增加了策略中转录和翻译错误的风险;使用单一工具和单一策略格式有助于避免这种风险。您还可以拥有一个外部策略测试工具,该工具可以帮助您在交付代码之前调查“假设是什么”。

f86ae9baea9e4655e03d2f39d9364419.png

构建您的第一个策略

Approval团队在他们的GitHub存储库中有一些演示代码,展示了如何在Kubernetes中将Approval与Gatekeeper一起使用。使用Helm图表进行安装,并附带一些示例配置模板。您可以使用这些来测试这些操作,例如,阻止所有没有签名的图像。Gatekeeper将拒绝任何未签名的容器映像,阻止它们运行。

策略文件是用YAML编写的,因此您可以在Visual Studio代码或其他工具中编辑它们,并利用代码格式化工具。它们构建成一个简单的规则引擎,通过验证逐步生成工件。它们是否来自核准登记处?您是否多次检查一个工件以获得不同的签名?您自己的私有注册表中的工件是否比公共注册表中的工件更可信?当您运行多个检查时,您的所有验证引擎都同意吗?事实证明,运行时验证的规则很容易定义,但对于运行在CI/CD系统中的运行时验证来说,这种情况不太可能发生,因为在CI/CD系统中,您需要确定许多不同工件的状态以及来自许多不同信任根的签名。

Approval目前是一个有趣的初始建议,它提供了一套工具,可以管理软件BOM表中的所有元素。虽然它不能防止零天影响长时间隐藏的bug,但它可以快速确定哪些代码受到影响,创建规则以防止其被使用和运行。

随着供应链风险成为人们关注的焦点,行业必须仔细研究这样的提案,并在公共场所开展工作。很高兴看到微软已经承诺与云计算计算基金会共享批准,在那里它应该得到它需要的更广泛的Kubernetes开发社区的审查。

参考文章:

  1. https://docs.ceph.com/en/latest/dev/cephfs-snapshots

  2. https://knowledgebase.45drives.com/kb/kb450160-cephfs-snapshots/

了解新钛云服

新钛云服荣膺第四届FMCG零售消费品行业CIO年会「年度数字化服务最值得信赖品牌奖」

新钛云服三周岁,公司月营收超600万元,定下百年新钛的发展目标

当IPFS遇见云服务|新钛云服与冰河分布式实验室达成战略协议

新钛云服正式获批工信部ISP/IDC(含互联网资源协作)牌照

深耕专业,矗立鳌头,新钛云服获千万Pre-A轮融资

新钛云服,打造最专业的Cloud MSP+,做企业业务和云之间的桥梁

新钛云服一周年,完成两轮融资,服务五十多家客户

上海某仓储物流电子商务公司混合云解决方案

往期技术干货

Kubernetes扩容到7,500节点的历程

低代码开发,全民开发,淘汰职业程序员!

国内主流公有云VPC使用对比及总结

万字长文:云架构设计原则|附PDF下载

刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!

Ceph OSD故障排除|万字经验总结

七个用于Docker和Kubernetes防护的安全工具

运维人的终身成长,从清单管理开始|万字长文!

OpenStack与ZStack深度对比:架构、部署、计算存储与网络、运维监控等

什么是云原生?

IT混合云战略:是什么、为什么,如何构建?

f49d9e3409d12caade97064192556b1e.gif

点👇分享

06d45480a52eeb20245d52de29ed0642.gif

戳👇在看

防患于未然 - 软件供应链安全 《防患于未然:软件供应链安全实践》探讨了如何在现代开发流程中构建自动化安全防线。文章提出三道关键防护:1)使用Dependabot等工具自动化扫描依赖漏洞;2)在CI中集成Trivy进行容器镜像扫描,阻止高危漏洞进入制品库;3)通过Sigstore/Cosign实现制品数字签名,确保来源可信。这些措施体现了"安全左移"理念,将防护前移至开发流程上游。文章强调自动化安全检查的必要性,同时提醒在安全与效率间保持平衡,主张平台团队应承担安全基础设施建设的责任,为开发者提供"默认安全& 阅读详情

相关推荐

SOFAStack软件供应链安全产品解析——SCA软件成分分析

本文将着重介绍针对开源组件风险发现场景的软件供应链安全产品——SCA软件成分分析。

蚂蚁金服技术团队 2644

使用 EBPF加速 ISTIO 数据平面

‍新钛云服已为您服务1382天介绍:服务网格是处理服务间通信的基础设施层。它负责构成现代云原生应用程序的复杂服务拓扑来可靠地交付请求。Istio 是迄今为止最受欢迎的服务网格,因为它有非常...

NewTyun的博客 1420

6.2 镜像安全:从签名到漏洞扫描,打造可信软件供应链

本文摘要:构建可信软件供应链需从镜像安全入手,通过生成SBOM清单(Syft工具)和漏洞扫描(Grype工具)实现风险评估,采用cosign进行镜像签名验签,并将SBOM与签名绑定为OCI附件。在CI/CD流程中集成镜像构建、SBOM生成、漏洞扫描和签名步骤,通过Kyverno策略强制验签和限制镜像来源。关键运营指标包括签名覆盖率、高危漏洞修复时效等,最终实现"不可变摘要+可验证签名+可评估SBOM+可度量门禁"的可信镜像体系。

yonggeit的博客 2950

写一个java网络数据包分析程序(一)

<br />需要写一个工具监控我所负责项目中的服务器与客户端的交易事件,而我又不方便修改系统代码(因为此工具只是我自己为了工作方便而作),因此需要通过监听并分析网络数据包来获取信息。<br />    原本打算将tcpdump的C源码翻译成java代码,因为只是要分析TCP/IP协议数据包,并不需要将整个tcpdump的功能用java实现,所以一开始认为不需要太长时间。但真的做的时候发现里面有不少的数据结构,有不少指针和sizeof等C语言特有的东东,真的搞起来还是要花不少心思的。搞出来后其他人维护也麻烦,

ask_rent的专栏 1万+

使用Lens管理Kubernetes集群

Lens是用于Kubernetes集群的有用,有吸引力的开源用户界面。随着越来越多的工作迁移到容器化环境,管理大量的容器以及它们与其他系统之间的连接变得越来越具有挑战性。随着容器化环境的...

NewTyun的博客 5417

matlab练习程序(神经网络识别mnist手写数据集)

记得上次练习了神经网络分类,不过当时应该有些地方写的还是不对。 这次用神经网络识别mnist手写数据集,主要参考了深度学习工具包的一些代码。 mnist数据集训练数据一共有28*28*60000个像素,标签有60000个。 测试数据一共有28*28*10000个,标签10000个。 这里神经网络输入层是784个像素,用了100个隐含层,最终10个输出结果。 arc代表的是神经网络结构,可...

weixin_34125592的博客 3427

const命令

const声明一个只读的常量。一旦声明,常量的值就不能改变。const PI = 3.1415; PI // 3.1415PI = 3; // TypeError: Assignment to constant variable.上面的代码表明改变常量的值会报错。const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。const foo; // Synt

513

Helm Chart签名验证:保障软件供应链安全

在云原生应用部署中,Helm Chart已成为Kubernetes应用打包和分发的标准格式。然而,随着软件供应链攻击日益频繁,确保Chart的完整性和来源可信性变得至关重要。Helm Chart签名验证机制正是为了解决这一安全痛点而生。 你是否曾经担心过: - 下载的Chart是否被恶意篡改? - Chart的来源是否可信? - 部署的应用是否存在安全风险? Helm的签名验证功能通过PGP(...

gitblog_00511的博客 982

开源云原生安全治理平台 HummerRisk 中文入门指南

公众号关注「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !HummerRisk是一个开源的云安全治理平台,以非侵入的方式对云原生环境进行全面安全检测,核心解决三个方面的问题,底层的混合云安全合规,中层的 K8s 容器云安全和上层的软件安全。特性混合云安全治理混合云安全合规检测:对主流的公(私)有云资源进行安全合规检测,例如等保 2.0 预检、CIS 合规检查、各种基线检测...

easylife206的专栏 1017

Docker镜像签名与验证实战:Java工程师的软件供应链安全必修课

在云原生和微服务架构中,软件供应链安全是保障系统稳定性的基石。其核心原理基于非对称加密技术,通过对容器镜像生成唯一的数字指纹(哈希值)并用私钥加密形成签名,以此验证镜像的完整性和来源真实性。这项技术的核心价值在于,它能确保从构建、存储到部署的整个流程中,镜像内容未被篡改,有效防御恶意代码注入和中间人攻击。在Java工程实践中,这直接关系到基础镜像(如OpenJDK)和业务镜像的可信度。主流工具如Cosign和Docker Content Trust,通过与CI/CD流水线及Kubernetes生态集成,使得

cqwf95925的博客 375

“Docker Content Trust + 镜像签名”,打造安全Kubernetes 供应链!

出品丨Docker公司(ID:docker-cn)编译丨小东每周一、三、五晚6点10分  与您不见不散说在前面两周前,我们分享了一篇名为“镜像扫描+基于策略的镜像提升”,打造安全Kubernetes 供应链!的文章,它主要介绍了 Docker EE 的镜像扫描和基于策略的镜像提升功能为 Kubernetes 软件供应链提供持续、安全的保护。今天,我将为大家带来打造安全Kubernetes

Docker公司 2397

供应链安全

*可信任软件供应链:**指在建设基础架构过程中,涉及的软件都是可信任的。在K8s领域可信软件供应链主要是指镜像,因为一些软件交付物都是镜像,部署的最小载体。

weixin_39246554的博客 1080

探索Tekton Chains:保障供应链安全的新利器

探索Tekton Chains:保障供应链安全的新利器 在当今数字化快速发展的时代,供应链安全已成为企业不可忽视的关键问题。Tekton Chains,作为一个专为Tekton Pipelines设计的Kubernetes自定义资源定义(CRD)控制器,正是在这一背景下应运而生,旨在为您的软件供应链提供强大的安全保障。 项目介绍 Tekton Chains 是一个专注于供应链安全的开源项目,它通过...

gitblog_00391的博客 481

容器怎么样才能安全高效?

Gartner已经将集装箱安全列为今年十大安全问题之一,现在是时候仔细研究并找出一个实用的解决方案来解决集装箱安全问题了。尽管该容器已经存在了10年,但其轻量级和可重用的代码、灵活的功能和较低的开发成本使其更受欢迎。 新技术解决了大多数问题。微服务、容器和kubernetes这三种在过去十年中彻底改变了IT领域的主要新兴技术也是如此,微服务体系结构和容器化应用解决了许多问题,但也在管理、安全和遵从性方面带来了新的挑战。那么,如何使它更安全、更有效呢? 1、熟悉云提供商提供的工具和保护开发工具。因为容器对开发

DSP数字化服务平台的博客 125

软件完整性保护方案之Sigstore

背景 SolarWinds Orion 软件更新包在2020年底被黑客植入后门,此次攻击事件波及范围极大,包括美国政府部门、关键基础设施以及多家全球500强企业,影响难以估计。如果用户能确认软件来源是可信的 SolarWinds 官方,这次事件可能可以避免。 为了确认软件的来源和构建方式,实现完整性保护,Linux基金会联合Red Hat、Google 和 Purdue 在 2021年3月推出了 Sigstore 代码签名项目,该项目致力于让开发人员签署发布时无感和让用户轻松验证。 Sigstore 在发布

murphysec的博客 1195

Rancher RFO 正式 GA

RFO 是 Rancher For openEuler 的缩写,旨在面向 openEuler 打造 Rancher 基础平台。其中最核心的工作是打造一款面向 openEuler 生态的 Kubernetes 发行版。它基于上游 RKE2 的技术栈,构建物采用 openEuler base image,致力于满足国内更加注重的安全合规标准,对 openEuler LTS 版本拥有优秀的兼容性。

openEuler_的博客 696

CSO视角:Sigstore如何保障软件供应链安全

本文作者Chris Hughes,Aquia的联合创始人及CISO,拥有近20年的网络安全经验。SolarWinds 和 Log4j 等影响广泛的软件供应链攻击事件引起了业界对软件供应链安全的关注。许多企业开始让安全团队选型安全工具,以确保第三方软件的安全性。软件的使用无处不在,根据世界经济论坛(WEF)的数据,数字化平台占据了GDP的60%。尽管我们当前使用软件的方式正在改变世界,但目前依旧欠缺方法来保护整个软件供应链安全。...

分享 GPU 管理与大模型推理相关技术实践 853

系统学习软件供应链安全指南

作为大学生,想要系统学习软件供应链安全,你需要按照以下路径分阶段掌握核心知识和技能。我将从基础到进阶为你梳理学习内容,并标注每个阶段的关键任务和资源:编程语言Python(必学):用于安全脚本开发(如分析SBOM、自动化扫描)。重点库:、、(解析配置文件)。Bash/Shell:处理日志、自动化任务(如批量检测Git仓库依赖)。数据结构与算法:理解哈希表(用于漏洞数据库查询)、树形结构(分析依赖关系图)。Git与GitHub:学习分支管理、提交签名()。Linux系统:文件权限、日志分析()、进程隔离()

2301_81882590的博客 1150
上一篇: Cephfs 快照介绍与使用
下一篇: 解读多云厂商客户真实案例,传递新钛云服解决方案价值
新钛云服
博客等级 码龄7年 501粉丝 · 477原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值