云原生安全白皮书.pdf
《云原生安全白皮书.pdf》由会员分享,可在线阅读,更多相关《云原生安全白皮书.pdf(32页珍藏版)》请在咨信网上搜索。
1、1云原生安全白皮书Cloud Native Security Whitepaper目录目录执行摘要.3目标.3问题分析.3全生命周期的不同阶段.3开发阶段.3分发阶段.4部署阶段.4运行时阶段.4建议.4结论.5引言.6目标受众.6云原生目标.6云原生的层次结构.6生命周期.7生命周期流程.8开发阶段.8分发阶段.10部署阶段.13运行时环境.15计算.15存储.19访问.21安全保证.22威胁建模.22端到端架构.22威胁识别.23威胁情报.23应急响应.232云原生安全白皮书Cloud Native Security Whitepaper安全堆栈.24环境.24零信任架构.25最小权限.2
2、5角色与职责.26合规性.26监管审计.26角色和用例.27行业.27企业.27小企业.27金融.27医疗.27学术与教育.27公共部门.28云原生安全的演变.28总结.29缩略词和词汇表.29参考文献.29致谢.303云原生安全白皮书Cloud Native Security Whitepaper执行摘要目标当前,采用云原生的开发和部署模式已日渐成为技术行业的发展趋势。同时,整个生态系统,包括技术、产品、标准和解决方案,也正在不断扩展,要求决策者要时刻了解复杂的设计。特别是CISO,要在这个动态发展的领域,实践业务价值。同时,云原生模式还鼓励改变消费模式,并采用现代化工作流(例如敏捷方法和
3、DevOps 流程),这就要求将安全集成进来。问题分析由于传统的基于边界的安全已不再可行,同时由于云原生明确关注快速开发与部署,在这种情况下,安全问题也就变得很复杂。这就要求转变安全范式来保护应用,将基于边界的安全方式转变为更接近动态工作负载的安全方式。动态工作负载是基于属性和元数据(例如标签)来确定的。通过这种方法,可以识别并保护工作负载,满足云原生应用的规模化需求,同时还能适应不断变化的需求。安全范式的转变要求提高在应用安全生命周期中的自动化程度,并通过设计架构(例如零信任)来确保其安全。将容器化作为云原生环境中的一项核心变化,也需要新的最佳实践。容器化的安全实施会涉及组织机构内的多个相关
4、方,并且会对追求业务目标的开发人员和运维人员的工作效率产生重大影响。云原生应用仍然需要开发、分发、部署和运维,但是这种范式就决定了,要有效实现这些目标,需要新的安全机制。可以在应用生命周期的不同阶段(“开发”、“分发”、“部署”和“运行时”),对云原生开发进行建模。云原生安全与传统安全方法的不同之处在于,可以确保在生命周期的不同阶段将安全嵌入进来,而不是通过单独管理的安全干预措施来确保生命周期的安全。要注意,如果不对这些概念、工具和流程的使用和集成进行长期的教育和培训,云原生的落地和应用可能就会难以难以为继,甚至被打回原形。全生命周期的不同阶段开发阶段云原生工具旨在在应用生命周期的早期阶段引入
5、安全。安全测试需要及早发现不合规情况和配置错误,以便缩短可行性反馈的周期,进行持续改进。这种方法可以确保,可以按照针对管道中其他问题而提出的类似工作流(例如 bug 修复或 CI 故障)解决安全故障问题。通常,需要先解决好这些安全问题,才能推动软件在管道中的进一步操作。这种模式的现代化安全生命周期是围绕着代码开发而展开的,代码开发遵循的是推荐的设计模式(例如 12-Factor),并确保了所交付工作负载的完整性。从概念上来讲,云原生与基础架构即代码(IaC)密切相关,旨在确保通过早期安全检查集成,让控件能够按预期状况运行。通过这些控件和集成可以尽早识别错误配置并实施 IaC 和编排清单中的最佳
6、实践,以减少长期成本并提高安全价值。4云原生安全白皮书Cloud Native Security Whitepaper分发阶段在支持软件快速迭代的模型中,软件供应链安全尤其重要。云原生应用生命周期需要采用一些方法,不仅可以验证工作负载本身的完整性,还可以验证工作负载的创建过程和运维方式。加之需要一直使用开源软件和第三方运行时镜像(包括上游依赖项的层),面临的挑战就更大了。生命周期管道中存在的工件(例如容器镜像)需要进行连续的自动扫描和更新,确保免受漏洞、恶意软件、不安全编码方法和其他不当行为的侵害。完成这些检查后,重要的是对工件进行加密签名以确保完整性并强制执行不可否认性。部署阶段在整个开发和
7、分发阶段集成了安全后,可以实现实时、持续验证候选工作负载属性(例如,验证签名的工件,确保容器镜像和运行时安全策略以及验证主机的适用性)。与工作负载一起部署安全工作负载的可观测性功能,可以以高度信任的方式监控日志和可用指标,对集成安全进行补充。运行时阶段预计云原生环境在设计时就会提供策略实施和资源限制功能。运行时工作负载的资源限制(例如Linux 内核 cgroup 隔离)是在云原生环境中集成到应用生命周期的更高级别时的限制性和可观测性示例。可以将云原生运行时环境本身分解为相互关联的组件层,这些组件具有不同的安全问题(例如,硬件、主机、容器镜像运行时、编排)。1在云原生运行时环境中,全球各行各业
8、及各类组织机构都采用了微服务架构用于各类应用。应用通常由几个独立的、单一用途的微服务组成,这些服务通过容器编排层进行服务层抽象后进行通信。确保这种相互关联的组件体系结构安全的最佳实践包括:确保只有经过批准的进程才能在容器命名空间内运行,防止和通知未授权的资源访问情况,监控网络流量来检测恶意工具的活动。服务网格是另一种常见的抽象,它为编排服务提供了整合和补充的功能,而不会对工作负载软件本身进行任何更改(例如 API 流量日志、传输加密、可观测性标记、身份验证和授权)。建议云原生安全旨在确保实现像传统安全模型一样的谨慎性、完整性、信任和威胁防护,同时整合了临时性、分布式和不变性等现代概念。这些瞬息
9、万变的环境支持故障转移,以便进行快速迭代。在这种环境中,需要在开发管道中实现自动化,以此来确保最终结果的安全性。组织机构必须认真分析并应用这些核心安全概念,缩短对加固和环境控制的延迟,并且需要让参与的第三方遵循相同的标准,同时平衡与云功能相关的、针对其安全支持者的持续教育和培训。由于还要考虑到其他层的复杂性,而且还需要关注广泛的组件网格,因此,必须通过在整个生命周期内以及在运行时环境中集成安全,来防止未经授权的访问。强烈建议组织机构根据相关攻击框架2来评估安全防御堆栈,明确防御堆栈能够涵盖哪些威胁。此外,组织机构需要采用一些新的1另一个要考虑的模型是云、群集、容器和代码:https:/kube
10、rnetes.io/docs/concepts/security/overview/2示例MITRE ATTCK 框架(Kubernetes)5云原生安全白皮书Cloud Native Security Whitepaper方式和方法将安全左移,扩大 DevOps 的能力。对于在生命周期内进行的创新,需要在管道之前、之中、之后持续妥善地验证所有组件。3结论在整个组织机构中有策略地执行云原生安全时,可以大规模地实现高可用性、保证、弹性和冗余,从而确保客户和开发人员能够按预期的速度安全访问所需资源。安全本身仍然是一个跨学科领域,不能与开发生命周期隔离开来,也不能视为纯粹的技术领域。开发人员、运维人
11、员和安全人员必须加强交流和合作,才能继续推动该领域和行业的发展。与任何技术创新一样,人、激情以及整个发展过程共同造就了云原生社区,并实现了云原生安全。3安全左移后,通常会让组织机构忽略对运维安全的监控。但安全存在于生命周期的所有阶段,并且组织机构必须不断评估其业务和技术流程的方方面面,这样才可能超越现代安全范式,从而形成一种文化和习惯。6云原生安全白皮书Cloud Native Security Whitepaper引言本文旨在让组织机构及其技术领导者对云原生安全、如何在生命周期流程中嵌入安全以及确定最合适的应用时的考虑因素有一个清晰的了解。云原生安全是一个多目标、多约束的问题领域,涵盖了许多
12、专业知识和实践领域。从身份管理到存储解决方案,几乎所有的 Day 1 和 Day 2 运维都与安全领域有所重叠。但是,云原生安全不仅仅包括这些领域。它也是一个关于人的问题领域,包含了个人、团队和组织机构。它是人和系统与之交互并更改云原生应用和技术的机制、流程和意图。目标受众我们的目标受众是希望提供安全的云原生技术生态系统的私营企业、政府机构或非营利组织的首席安全官(CSO)、首席信息安全官(CISO)或首席技术官(CTO)。其他相关者可能包括负责设计和实施安全云原生产品和服务的项目经理、产品经理、计划经理和架构师。除此之外,对云原生安全有浓厚兴趣的任何人都可以参考此文档。云原生目标容器和微服务
13、架构的采用和创新带来了许多挑战。在现代化的组织机构中,缓解网络安全漏洞这一需求的优先级已经明显上升。随着围绕上云的创新在不断加速,威胁形势也随之加剧。安全负责人有责任采取措施来预防、检测和响应网络威胁,同时满足严格的合规性要求,从而保护人类和非人类4资产。过去人们常说,安全的实施会阻碍 DevOps 团队的速度和敏捷性。因此,安全负责人必须让 DevOps 团队更紧密的集成在一起,加强相互理解,共同对网络风险负责。组织机构必须要共享要采用的云原生安全采用模式及架构,确保行业以高优先级实施安全措施,并将这些安全措施整合到整个现代化应用开发生命周期中来。最重要的是,突出安全体系架构与安全负责人之间
14、的协同作用,并符合组织机构在漏洞管理、零信任、云安全和 DevSecOps 等方面的安全目标,这些都应该是最高优先级的事项。本文通篇所描述的概念并非是说某种产品或组件优于另一种产品或组件,而是无论选择哪些服务,都可以使用。云原生的层次结构4人力资本是任何组织成功所必需的重要资产,由此带来的相应知识产权和关系资本同样需要受到保护。7云原生安全白皮书Cloud Native Security Whitepaper图 1云原生堆栈由基础层、生命周期层和环境层组成。云原生堆栈可以使用不同的部署模型(IaaS、PaaS、CaaS 和 FaaS)来部署。每个部署模型都提供了更多的抽象,以简化云原生环境的管
15、理和运维。由于其中一些模型是众所周知的并且已经使用了多年,因此,我们将重点介绍云原生的特有模型。容器即服务(CaaS)模型可以让用户通过利用基于容器的虚拟化平台、应用编程接口(API)或Web 门户管理接口来编排和管理容器、应用和集群。CaaS 通过将安全策略作为代码嵌入,以此来帮助用户构建可扩展的容器化应用,并在私有云、本地数据中心或公有云上运行。CaaS 有助于简化容器的构建过程。通过微服务编排和部署,CaaS 可以帮助企业加快软件的发布速度,并可以在混合环境和多云环境之间移植,从而降低基础架构的成本和运营成本。CaaS 模型可节省成本,因为它可以帮助企业简化容器管理,同时让企业可以仅仅支
16、付希望使用的 CaaS 资源的成本费用。CaaS 将容器作为其基本资源,而对于 IaaS 环境,则使用虚拟机(VM)和裸机硬件主机系统。功能即服务(FaaS)是另一种云原生部署模型,这是一种云服务,可以让企业用户通过执行代码对事件作出响应,而无需关心通常与构建和启动微服务相关的复杂基础架构。在云中托管软件应用通常需要配置和管理虚拟环境,管理操作系统和 Web 组件等。使用 FaaS 服务后,物理硬件、虚拟机操作系统和 Web 服务器软件管理都由云服务商自动处理。因此,用户可以专注于微服务代码中的各个功能,同时仅为所使用的资源付费,并可以充分利用云提供的资源弹性。生命周期云原生环境中的生命周期是
17、指让弹性、可管理和可观测的工作负载在云环境中运行的技术、实践和流程。如图 1 所示,生命周期由四个连续的阶段组成:开发、分发、部署和运行时。每个阶段都是对前一个阶段的拓展和延伸,同时允许并支持工作负载的安全执行。8云原生安全白皮书Cloud Native Security Whitepaper生命周期流程供应链的管理和适用的安全基准对于安全实施至关重要。供应链组织机构有责任确保,可以在生命周期过程中对他们正在开发的工作负载供应链进行可行的安全分析。供应链安全可以分为两部分:提供环境创建工作负载的工具和服务的安全(例如开发人员工具)以及构成工作负载本身的组件的安全(例如库、依赖项和镜像)。供应链
18、实施后,需要确保供应链本身的完整性可以验证,并且可以对软件供应链产生的工件进行签名以验证来源。因此,组织机构在使用依赖项时必须谨慎行事,因为上游依赖程序包可能不可避免地包含安全漏洞。验证所使用的第三方程序包的真实性和完整性对于确保依赖项按预期运行,且不会受到入侵至关重要。云原生应用的一个主要特征是软件复用,这些软件可能以开源软件包和容器镜像的方式,通过开源仓库进行构建和分发。因此,对于开发人员、运维人员和安全人员而言,重要的一点是要确保应用中的工件和依赖项不包含已知的恶意软件和漏洞来源。容器镜像中存在恶意软件是运行时环境中的重要攻击向量5。必须在 CI 管道以及容器镜像仓库中对容器镜像和软件包
19、定期或按需进行漏洞扫描。通过这些方法可以确保软件分发和持续运行的安全性及可验证性。将漏洞扫描整合到工作负载生成管道中来,这样组织机构就可以加强对开发团队的反馈,并能够进一步阻止分发或部署不安全或易受攻击的更新软件。定期扫描软件还会发现现有软件中新发现的漏洞升级。安全基准安全基准(例如 NIST 应用容器安全指南、互联网安全中心(CIS)、NIST 微服务安全策略和OpenSCAP)可为开发团队和组织机构提供创建“默认安全”的工作负载的指南。这些基准的采用和实施可以让团队开展测试,强化安全基准。但是,这并没有考虑到数据流和测试平台的自定义使用。安全从业人员应将其作为一项指南,而不是一个检查清单。
20、接下来的几节将详细分析在整个应用生命周期中集成安全的含义、工具、机制和最佳实践。开发阶段5https:/ Native Security Whitepaper图 2需要确保云原生应用在整个生命周期中的安全性。“开发”阶段是生命周期的第一个阶段,包括创建工件(例如,基础架构即代码,应用程序和容器清单等),用于部署和配置云原生应用。事实证明,这些工件是许多攻击向量的源头,会在运行时阶段发生漏洞利用。接下来的几节将详细介绍此阶段需要创建的各种安全工具、流程和检查,以显著缩小在运行时中部署的应用的攻击面。开发阶段的安全检查开发阶段中的安全加固是应用部署阶段的一个关键部分。这意味着,必须在软件开发的早期
21、就引入安全需求,并用与其他任何需求相同的方式来处理安全需求。这些安全需求通常是围绕风险和合规进行的。在早期阶段解决这些需求可防止在生命周期的后期重新处理,而重新处理则会延缓DevOps 流程,并增加总体成本6。DevOps 团队还必须利用专门构建的工具在部署应用之前就识别安全配置错误和漏洞。另一个重点在于,这些工具可以无缝集成到 DevOps 团队的现有和熟悉的工具中,以增强敏捷性和安全性,而不是对其造成妨碍。例如,这些工具需要在开发人员 IDE中或发出“拉取请求”时,对基础架构即代码模板以及应用清单进行扫描,并提供丰富的上下文相关的安全信息,根据这些信息在开发阶段的早期快速、轻松地进行安全处
22、理。采取这些措施可确保消除已知漏洞或高风险配置。云原生组件应由 API 驱动,让复杂的调试工具与依赖编排工具的原始工作负载进行交互。各团队应部署专用的开发、测试和生产环境,以便为基础架构和应用的开发人员提供独立的环境来开发、测试和部署各个系统和应用、容器根镜像、VM 黄金镜像以及非功能性测试。一些组织机构可能发现,利用金丝雀部署、蓝绿部署或红黑部署以及其他部署模型可以提高动态和交互式测试和可行性研究的效率。测试开发开发人员、运维人员和安全人员应针对关键业务级、高威胁类型、频繁变更或具有 bug 历史记录6根据 Applied Software Measurement(Capers Jones,
23、1996 年)的研究,并将通货膨胀考虑进来,约 85的缺陷是在编码过程中引入的,每个漏洞的修复成本为 41 美元,而发布后的修复成本为 26,542 美元。10云原生安全白皮书Cloud Native Security Whitepaper的代码和基础架构构建测试。威胁建模可以识别高风险和高影响力的代码热点,对这些热点代码进行测试可以实现高投资回报率(ROI)。测试可能涵盖了部署、操作系统、基础架构和数据库加固、应用程序测试(静态和动态源代码测试、容器配置)、集成或系统测试(应用和基础架构组件的验收及其交互)以及冒烟测试(部署后对实时系统进行检查)。测试编写者应可以访问开发和测试综合环境,以便
24、他们能够快速地开发测试,同时缩短持续集成(CI)反馈循环。应该为测试编写者提供系统测试包,以便在本地运行,也可以在共享测试环境中运行。代码审查对工作负载或已部署了工作负载的基础架构进行的细微变更,也可能会产生深远的安全问题。为了降低产生意外后果的风险,建议各团队先根据“四眼”原则进行代码审查,然后再将先前的变更整合到代码库中(例如,在 git 工作流中实现拉取请求)。分发阶段图 3“分发”阶段的主要任务是使用镜像定义和规范来构建下一个阶段的工件,例如容器镜像、VM 镜像等等。按照现代的持续集成和持续部署范式,“分发”阶段包括系统的应用测试,以识别软件中的bug 和错误。但是,采用开源软件和可重
25、复使用的软件包会导致将漏洞和恶意软件引入到容器镜像中。因此,有必要执行一些安全措施,例如扫描镜像,检查是否存在上述威胁向量,以及验证镜像的完整性,防止篡改。下文将详细介绍安全最佳实践,帮助开发人员和运维人员识别并保护容器镜像免受威胁,并确保有适当的技术和工具可以保护整个 CI/CD 管道和基础架构的安全。此外,如果需要保密,组织机构可能希望对软件工件进行加密。如果软件工件由于入侵或其他事件而变得不可信,相关团队应吊销签名密钥以确保废止。构建管道持续集成(CI)服务器应是独立的,并仅限于具有相似安全性或敏感性的项目使用。基础架构构建若需要提升权限,则应在独立的专用 CI 服务器上运行。构建策略应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 原生 安全 白皮书
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【宇***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【宇***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。