报告l美国CISA《云安全技术参考架构》2.0l附下载(上)

2022-07-19 19:29 管理员

近期,国土安全部(DHS)部长、网络和基础设施安全局(CISA)局长、预算和管理办公室(OMB)主任、联邦风险授权管理计划(FedRAMP)执行总务局长共同协商,制定并发布了《云安全技术参考架构》2.0版本,为各机构在采用云技术时提供组织、协调和指导,同时为机构利用云安全态势管理(CSPM)收集和报告云迁移和数据保护提供方法建议。



一、  概述

《云安全技术参考体系架构》旨在以下列方式为采用云服务的机构提供指导。

云部署:为机构安全地过渡、部署、整合、维护和运营云服务提供指导。


适应性解决方案:提供灵活和广泛适用的体系架构,以确认其供应商正在提供和未提供的功能和服务。

安全架构:建立服务于机构运作的云环境和安全基础设施,支持建立云环境,并为代理操作提供安全的基础设施、平台和服务。

开发、安全和运营(DevSecOps):支持工程周期的动态安全开发,优先考虑设计、开发和交付能力,开发周期内通过构建、学习和迭代来完成解决方案。

零信任:支持代理机构采用零信任架构。

这一技术参考架构分为三个主要部分

共享服务:包括评估云服务安全性的标准化基线。

云迁移:概述云迁移的策略和注意事项,包括对常见迁移场景的解释。

云安全态势管理:定义云安全态势管理,并列举用于监测、开发、整合、风险评估和事件响应的相关安全工具。

虽然每个主要部分都涵盖了云安全的独特方面,但它们有共同的协同作用,支持云安全现代化的总体目标。了解共享服务的特点以及管理和保障此类服务的责任划分,对机构的云迁移和安全态势管理至关重要。迁移到云端可以帮助各机构通过改善其运作和安全来跟上不断发展的技术形势。最后,CSPM能力将使各机构能够动态地保护其云资源的规模和整个基础设施。

二、  共享服务层

本节介绍了共享服务以及对机构和供应商的安全影响。概述了云服务模式,并解释了各机构如何利用FedRAMP服务来支持其云迁移。

定义云服务模式。识别和定义云服务模式,以及本文如何使用这些定义与其他权威资源进行比较。

介绍FedRAMP。解释FedRAMP以及相关的角色和责任。

概述FedRAMP的安全考虑。描述了FedRAMP对持续监控、事件响应和授权边界的要求。

1、云服务模式概述

当把基础设施、应用程序或服务转移到云中时,通常有许多选择,这些选择被称为“_aaS”,其中“_”可以是一个字母或一系列字母,用于描述基于云的产品类型。NIST已经定义了三种基本的云服务模式。SaaS,即软件即服务;PaaS,即平台即服务;以及IaaS,即基础设施即服务。

软件即服务(SaaS)。消费者是在底层云基础设施上运行的供应商的应用程序的用户。应用程序可通过各种客户端平台访问。消费者不管理或控制底层基础设施。

平台即服务(PaaS)。消费者有能力使用供应商提供的语言、数据库、服务和工具在云基础设施上部署自定义应用程序。消费者不管理或控制底层基础设施,但他们可以控制已部署的应用程序,并可能控制供应商提供的托管应用程序的环境的配置和设置。

基础设施即服务(IaaS)。消费者有能力配置计算资源来部署和运行环境和应用程序云供应商管理底层基础设施,而消费者对计算资源有控制权,包括对选定的网络组件的一些控制(例如,基于主机与网络的防火墙)。

随着云计算多年来的发展,有一个不断增长的用于各种产品的其他“_aaS”缩略语清单,包括桌面即服务(DaaS)、安全即服务(SECaaS)、人工智能即服务(AIaaS)、容器即服务(CaaS)、灾难恢复即服务(DRaaS)、物联网即服务(IOTaaS)、位置即服务(LaaS)、监控即服务(MaaS)、通信即服务(UCaaS)和工作空间即服务(WaaS)等等。这些额外的产品与三种基本服务模式重叠,模糊了SaaS、PaaS和IaaS之间的界限,使维护和安全方面更加复杂。

然而,SaaS、PaaS和IaaS是最普遍的云服务模式,每种模式在消费和保护方式上都有差异。这通常通过共享安全模型来表示,如下图。此类模型描述了哪一方对技术、安全、数据等的责任。

2、FedRAMP机构

原文还详细介绍了该模型中的“云服务模式”、“部署类型”、“多重云”等详细内容。同时介绍了FedRAMP机构、适用范围等,介绍了FedRAMP机器相关角色和责任。FedRAMP下应该考虑的安全事项,包括连续监测、事件响应和授权边界。

FedRAMP相关内容,请下载《云安全技术参考架构》Version2.0参考阅读(文末附下载方式)。

三、  云迁移

云迁移主要介绍了在设计、实施和维护云中的数字服的注意事项。为确保向云服务的有效和安全过渡,应遵守以下规则。

设计云计算软件。在软件开发生命周期的前期就应当将安全仿真设计基于云的服务中。从一开始就明确所需的服务和功能,以便创建安全高效的云环境。创建云迁移方案。云迁移是将机构的业务转移到云的过程,在此过程中应当根据机构数据情况设计相对应的方案。采用开发、安全和运营(DevSecOps)方法。通过利用代码和技术支持人员,创建可靠的自动化数字服务。集中通用云服务。确定整个机构将使用的CSP,并集中采购和管理。人才培养。机构须培养具有云迁移专业知识和技能的人员。

1、为云计算设计软件

各机构可以利用云的灵活性来组合服务以支持其任务。各机构应努力在软件开发生命周期(SDLC)中尽早在其基于云的数字服务中实施安全措施。通过自动化安全测试促进DevSecOps的机构将能够开发出可扩展、可重复、可靠并符合零信任理念的架构。这个过程需要各机构团队的合作,以建立数字服务。DevSecOps可以与IT部门支持的集中式SaaS相结合,实现对软件的安全测试,以便发布。基于云的数字服务可以跨越IaaSPaaSSaaS 这些服务模式与企业内部模式一样,在系统的不同层次上有所不同,各机构必须确认其供应商正在提供和未提供的服务和功能。

机构将软件和数字服务从企业内部的数据中心转移到云端,以便更可靠、可扩展和可预测的服务其业务工作。云服务允许机构在其他地理区域进行恢复,并在需要时迅速扩大容量,所有这些都不需要购买数据中心。机构最初可以将较小的内部项目和工具过渡到云中,以获得在新环境中工作的经验和信心,然后再尝试迁移大型服务。转向云也是一个重新设计旧的数字服务的机会,以实现大的进步。

2、云迁移战略

云迁移是将业务运营和任务转移到云中的过程。对许多机构来说,这意味着从传统基础设施转移到现代基础设施,享受更灵活、更经济的解决方案。某些云功能可以以企业内部功能无法做到的方式运行,如基础设施即代码(IaC)概念。这些概念包括根据服务需求的弹性动态提供和停用资源,或基于时间的维护,以取代部分基础设施的安全目的。

云迁移涉及大量的准备工作,这取决于应用生态系统的规模、当前应用和系统的年龄、用户群以及数据量。各机构应考虑其应用生态系统中的数据年龄和数量;随着时间的推移,大量的数据积累会给云迁移带来挑战。当机构决定迁移其应用,应当权衡采用云计算技术的好处、风险和挑战。常见的云迁移挑战如下表。

除了共同的挑战,机构还应考虑数据迁移的技术挑战。迁移、验证和支持大量数据需要更长的时间。如果有额外的需求导致应用程序很少或没有停机时间,或者当底层数据频繁更改时,迁移的困难会进一步增加。常见的云迁移的技术挑战如下表。

各机构在迁移一个应用程序时可能需要使用多种策略。由于不是每一个应用程序都是为在云环境中运行而设计的,机构在迁移时必须考虑他们的具体需求。例如,一个应用程序可能依赖于本地网络提供的低延迟,而CSP可能无法提供这种速度。常见的云迁移策略如下表。

3、云迁移方案

每个云迁移都与原始应用程序一样独特,因此很难给出关于如何执行迁移的通用建议。然而,遵循下面的步骤可以增加成功的机会。

计划。确定使用哪种策略,哪种CSP和服务类型,以及应用的路线图。

设计。为应用程序创建架构,重点关注系统的分布式性质。评估云服务提供商为机构提供的服务。

试点。创建最小可行产品(MVP),以演示应用程序将在云中运行。

迁移。准备好产品的云版本,包括移植全部所需要的数据。

维护。无论是从产品功能角度还是从性能角度,继续改进云计算应用。

情景1:PDF存储到云端(IaaS)

【情景描述】

某机构正在迁移一个有10,000个用户的内部应用程序,其中有数以百万计的便携式文档格式(PDF)文件被上传和存储,总和为1PB的数据(1,000Terabytes)。该应用程序使用一个内部数据中心,数据存储在多个服务器机架上。

在这个云迁移的第一阶段,机构希望开始在云中存储上传的新文件,但还没有传输所有的旧文件。在这种情况下,代理机构将需要一个额外的层来管理存储文件的位置标识。该机构应研究如何正确地将新上传的文件重定向到云环境,并应通过反向代理将用户重定向到适当的文件位置,因为文件现在可能在内部和云之间分离。最后,机构还需要在开发环境中仔细测试所有假设,为迁移做准备。下图展示了阶段一的体系结构概述。

在此云迁移的第二阶段中,机构希望将旧文件移动到云存储。他们将需要与网络团队协调,确定在网络上传输1PB数据的最佳时间。内部部署环境中的应用程序服务器将收集分布式数据,生成一组完整性校验数据,用于将来的验证,并通过加密链接将流量转发到云环境。如果可能,该机构可以考虑通过硬盘驱动器或其他存储设备将所有数据传输到CSP。这种技术可能比在网络上传输所有数据更有效。

当数据进入云存储时,将对其进行验证,以确保其正确性。一旦迁移了数据,该机构应该确保用户和文件上传者都能够无缝地使用云环境。此时,内部部署的数据中心可以退役或重新使用。

情景2:网站转移到PaaS服务上

【情景描述】

一家机构决定将驻留在本地的传统网站基础设施迁移到具有新设计的现代内容管理系统上。在过去的20年里,该机构在本地维护的传统内容管理系统(CMS)上托管了数千个页面。

在这种情况下,遗留的基础设施明显过时,许多页面需要重新设计。该机构决定使用PaaS构建下一个增强的CMS。下图显示了迁移和重新设计期间的一些网页的体系结构。

经过迁移和重新设计,该机构认识到大多数网页内容是公开的,不会频繁更改,因此适合于内容分发网络(CDN)。使用CDN将允许机构将大部分内容缓存到离用户更近的位置,提供更快的上传时间。该机构将运行测试,并执行文件到CDN的迭代转换,并将其配置为服务于用户流量。机构应该评估缓存在CDN服务中的数据。许多cdn提供额外的安全特性,如分布式拒绝服务(DDoS)攻击缓解和web应用程序防火墙(WAFs),机构也可以利用。大多数数据都是公开的,因此缓存到授权边界之外是可以接受的。有些数据有CUI需求,因此应该取消缓存,或者机构应该使用授权的CDN提供商。下图显示了将网站迁移到PaaS的示例。

所需的结果将包括本地办公环境的退役,机构网站将在PaaS环境中运行,并带有CDN入口点,如下图所示。

情景3:面向公众的应用程序的监测服务

【情景描述】

某机构必须监测其面向公众的网站的正常运行时间,以确保它不断为用户提供服务。

该机构有多个位于不同地点的网站,因此他们需要研究能够处理地理分布系统的性能监控选项。该机构决定进行合成监测,包括自动化潜在用户行为,以查看系统如何响应,并根据这些请求收集正常运行时间的指标。该机构在PaaS或IaaS系统中部署自己的监控基础设施、用于生成合成流量并收集结果指标的SaaS系统,并评估其间的技术和权衡成本。团队决定使用SaaS系统,如下图。

4、培养DevSecOps思维

DevSecOps是开发、安全和运维的组合,是一种将编写代码与测试、保护和部署代码紧密结合在一起的软件开发哲学。传统的DevSecOps循环如下图所示。它可以打破开发人员、安全工程师、操作工程师和质量保证专业人员等传统角色之间的壁垒,让他们作为一个团队发挥作用。这是通过组合具有这些角色的跨职能团队来实现的,他们并肩工作,并对其服务的成功开发、启动和维护拥有完全的所有权。DevSecOps应该是机构在云中开发、保护和交付应用程序的主要方法。DevSecOps经常利用持续集成(CI)、持续交付(CD)、基础设施作为代码(IaC)、安全测试和最小特权原则来利用自动化并产生可靠和可预测的可扩展的数字服务。

持续集成和交付

使用CI,代码集成、构建和测试的重复活动都是自动化的,以减少人为错误,并使过程快速可靠。该工具发生在产品生命周期的早期,并随着项目的成熟而扩展。用于存储、构建和测试源代码的确切工具根据开发团队的选择而不同,包括一些经过FedRAMP批准的SaaS产品。

IaaS和PaaS提供商也可以将这些作为其服务的一部分提供。源代码管理软件还可以强制执行代码审查和代码检入的过程,从而进一步减少人为错误,并向系统添加不可抵赖性30。

CD是使用自动化在定期间隔内交付集成、构建和测试的代码的过程。它构建在CI管道之上,以确定代码何时可以投入生产。这些过程统称为CI/CD。

代码即基础设施

除了用代码编写应用程序之外,开发团队还可以将基础设施编写为机器可读的文件,这些文件自动运行和配置、运行时可更改数字服务。这就是所谓的基础架构代码(IaC),它使团队能够在检入代码之前检查IaaS或PaaS中使用的资源。它还促进了云基础设施的大规模生产,从而可以快速应用补丁,并自动扩展环境。服务器需要单独打补丁;因此在手动更新时,基础设施的状态很容易偏离原始配置。

IaC有很多好处,如

在每个设备上都不需要用户界面(UI),这进一步减少了人为错误的机会;使用IaaS或PaaS功能自动化合规检查,例如对存储容器强制加密;ICAM策略的自动化部署以及粒度访问控制;促进安全测试、补丁部署和更新;通过代码对网络和存储进行加密,提高零信任成熟度。

与其他软件一样,IaC还可以对环境执行退化性更改,并可能给以前安全的环境引入新的漏洞。为了减少暴露的风险,机构应该监控错误配置的IaC代码,和/或对生产部署执行安全代码审计。

自动安全测试

另一个可以添加到DevSecOps管道中的因素是应用安全测试。作为DevSecOps管道的一部分,这种测试是在软件开发生命周期的早期阶段整合安全的一个重要方式。应用安全测试利用代码静态分析的组合,寻找常见的编码问题,如潜在的结构化查询语言(SQL)注入漏洞和动态测试,以了解代码如何协同工作。这种测试使机构能够在潜在的安全问题被发布到生产中之前,以及在更容易修复的时候,修复这些问题。在整个CI/CD过程中的测试也提高了零信任成熟度。

开发过程中的自动化安全测试只是防御应用程序漏洞的一个层次。人工专家分析、第三方安全测试、公共漏洞披露计划以及漏洞赏金计划等层层递进,共同确保应用程序得到锻炼,增加漏洞在被利用之前被发现的机会。

下图显示了一个CI/CD系统的潜在架构,该系统在两个地方进行安全测试。开发人员将把他们的代码,包括应用程序和基础设施的代码,检查到适当的存储库。构建系统将构建应用程序,然后开始测试。任何失败的测试将被记录到监控系统中,结果将与开发者分享,可能是警报或状态页面。一旦构建的所有问题得到解决,应用程序就可以被部署到开发环境中进行进一步测试。在所有问题得到解决后,应用程序可以被推广到生产中,并准备好使用。

基础设施的测试也可以自动化。有了IaC结构的定义,安全扫描器将知道哪些端口应该是开放的,哪些是不开放的,以便在它们在互联网上使用之前尽早发现潜在问题。


未完待续


下期预告


下期将继续分享DevSecOps思维中的“集中公共云服务”“人的因素”,以及云安全态势管理中的CSPM”、“CSPM成果”“采用CSPM的能力”等内容。


内容主要整理自相关网站资料。

仅供学习参考,欢迎交流指正。


阅读英文原文

公众号内回复“DP70”

获取“美国CISA《云安全技术参考架构》2.0”下载地址。



相关新闻

Powered by Jspxcms © 2010-2025 Jspxcms All Rights Reserved

Beijing DualPi Intelligent Security Technology Co. Ltd.