谷歌BeyondCorp系列论文(一):一种新的企业安全方案

前言


       随着企业大规模的采用移动互联网和云计算技术,传统的采用防火墙建立的“城堡”安全模式,变得越来越不安全。2014年12月起,Google先后发表6篇BeyondCorp相关论文,论文提供了一种新的安全模式,设备和用户只能获得经过验证的资源,构建软件定义安全的雏形。另外,论文也介绍了BeyondCorp的架构和实施情况,为传统网络架构迁移至BeyondCorp架构提供依据参考。


       为推动国内安全技术和理论与国际同步,在国内传播国际优秀实践,中国云安全联盟秘书处组织专家翻译BeyondCorp相关论文,供大家学习参考。特别感谢CSA大中华区SDP工作组与奇安信身份安全实验室对本次翻译工作的贡献及支持!


       本文档一共由BeyondCorp的六篇论文组合而成:

       [1] BeyondCorp:一种新的企业安全方案

       [2] 谷歌BeyondCorp:从设计到部署

       [3] BeyondCorp:访问代理

       [4] 迁移到BeyondCorp:提高安全性的同时保持生产力

       [5] BeyondCorp :用户体验

       [6] BeyondCorp:构建健康机群

       该系列论文将定期向大家推送,敬请关注“云安全联盟CSA”公众号。


【第一篇】BeyondCorp一种新的企业安全方

       如今,几乎所有企业都会采用防火墙来建立安全边界,然而,这种安全模型存在问题:一旦边界被突破,攻击者可以畅通无阻地访问企业的特权内部网络。另一方面,随着企业大规模地采用移动互联网和云计算技术,边界防护变得越来越难。谷歌采用了不同的网络安全方法,逐步摆脱对特权内网的依赖,越来越多地将企业应用程序从内网迁移至公网。


       从IT基础设施诞生以来,企业一向使用边界防御措施来保护对内部资源的访问。边界安全模型通常被比作中世纪的城堡:有着厚厚的城墙,被护城河环绕,仅有一个守卫森严的入口和出口,任何墙外的东西都被认为是危险的,任何墙内的东西都认为是安全可信的,这也就意味着任何能通过吊桥的人都能获得城堡内的资源。


       当所有员工都只在企业办公大楼中工作时,边界安全模型确实很有效;然而,随着移动办公的出现、办公使用的设备种类激增、云计算服务的使用越来越广泛、新的攻击向量也随之增加,如上因素逐渐导致传统安全手段形同虚设。边界安全模型所依赖的关键假设不再成立:边界不再由企业的物理位置决定,边界之内也不再是个人设备和企业应用运行的安全地带。


       大部分企业假设内部网络是安全的环境并且企业应用可以放心暴露在内网,但谷歌的经验证明了这种观念是错误的。应该假设企业内网与公网一样充满危险,并基于这种假设构建企业应用。


       谷歌BeyondCorp的目标是摒弃对企业特权网络(内网)的依赖并开创一种全新安全访问模式,在这种全新的无特权内网访问模式下,访问只依赖于设备和用户身份凭证,而与用户所处的网络位置无关。无论用户是在公司“内网”、家庭网络、酒店还是咖啡店的公共网络,所有对企业资源的访问都要基于设备状态和用户身份凭证进行认证、授权和加密。这种新模式可以针对不同的企业资源进行细粒度的访问控制,所有谷歌员工不再需要通过传统的VPN连接进入内网,而是允许从任何网络成功发起访问,除了可能存在的网络延迟差异外,对企业资源的本地和远程访问在用户体验上基本一致。


BeyondCorp的关键组件


       BeyondCorp由许多相互协作的组件组成,以确保只有通过严格认证的设备和用户才能被授权访问所需的企业应用,各组件描述如下(见图1)。


图片

图1 BeyondCorp的组件和访问流


安全识别设备


设备清单数据库


       BeyondCorp使用了“受控设备”的概念——由企业采购并管理可控的设备。只有受控设备才能访问企业应用。围绕着设备清单数据库的设备跟踪和采购流程管理是这个模型的基础之一。在设备的全生命周期中,谷歌会追踪设备发生的变化,这些信息会被监控、分析,并提供给BeyondCorp的其他组件进行分析和使用。因为谷歌有多个清单数据库,所以需要使用一个元清单数据库对来自多个数据源的设备信息合并和规一化,并将信息提供给BeyondCorp的下游组件。通过元清单数据库,我们就掌握了所有需要访问企业应用的设备信息。


设备标识


       所有受控设备都需要一个唯一标识,此标识同时可作为设备清单数据库中对应记录的索引值。实现方法之一是为每台设备签发特定的设备证书。只有在设备清单数据库中存在且信息正确的设备才能获得证书。证书存储在硬件或软件形态的可信平台模块(Trusted Platform Module/TPM)或可靠的系统证书库之中。设备认证过程需要验证证书存储区的有效性,只有被认为足够安全的设备才可以被归类为受控设备。当进行证书定期轮换时,这些安全检查也会被执行。一旦安装完毕,证书将用于企业服务的所有通信。虽然证书能够唯一地标识设备,但仅凭证书不能获取访问权限,证书只是用来获取设备的相关信息


安全识别用户


用户和群组数据库


       BeyondCorp还跟踪和管理用户数据库和用户群组数据库中的所有用户。用户/群组数据库系统与谷歌的HR流程紧密集成,管理着所有用户的岗位分类、用户名和群组成员关系,当员工入职、转岗、或离职时,数据库就会相应更新。HR系统将需要访问企业的用户的所有相关信息都提供给BeyondCorp。


单点登录系统


       外化的单点登录(SSO)系统是一个集中的用户身份认证门户,它对请求访问企业资源的用户进行双因子认证。使用用户数据库和群组数据库对用户进行合法性验证后,SSO系统会生成短时令牌(short-lived tokens),用来作为对特定资源授权流程的一部分。


消除基于网络的信任


部署无特权网络


       为了不再区分内部和远程网络访问,BeyondCorp定义并部署了一个与外网非常相似的无特权网络,虽然其仍然处于一个内网的地址空间。无特权网络只能连接互联网、有限的基础设施服务(如,DNS、DHCP和NTP)、以及诸如Puppet之类的配置管理系统。谷歌办公大楼内部的所有客户端设备默认都分配到这个网络中,这个无特权网络和谷歌网络的其他部分之间由严格管理的ACL(访问控制列表)进行控制。


有线和无线网络接入的802.1x认证


       对于有线和无线接入,谷歌使用基于802.1x认证的RADIUS服务器将设备分配到一个适当的网络,实现动态的、而不是静态的VLAN分配。这种方法意味着不再依赖交换机/端口的静态配置,而是使用RADIUS服务器来通知交换机,将认证后的设备分配到对应的的VLAN。受控设备使用设备证书完成802.1x握手,并分配到无特权网络,无法识别的设备和非受控设备将被分配到补救网络或访客网络中。


将应用和工作流外化


面向公共互联网的访问代理


       谷歌的所有企业应用都通过一个面向公共互联网的访问代理开放给外部和内部客户。通过访问代理,客户端和应用之间的流量被强制加密。一经配置,访问代理对所有应用都进行保护,并提供大量通用特性,如全局可达性、负载平衡、访问控制检查、应用健康检查和拒绝服务防护。在访问控制检查(详述见后文)完成之后,访问代理会将请求转发给后端应用。


公共的DNS记录


       谷歌的所有企业应用均对外提供服务,并且在公共DNS中注册,使用CNAME将企业应用指向面向公共互联网的访问代理。


实现基于设备清单的访问控制


对设备和用户的信任推断


       每个用户和/或设备的访问级别可能随时改变。通过查询多个数据源,能够动态推断出分配给设备或用户的信任等级,这一信任等级是后续访问控制引擎(详述见后文)进行授权判定的关键参考信息。


       例如,一个未安装操作系统最新补丁的设备,其信任等级可能会被降低;某一类特定设备,比如特定型号的手机或者平板电脑,可能会被分配特定的信任等级;一个从新位置访问应用的用户可能会被分配与以往不同的信任等级。信任等级可以通过静态规则和启发式方法来综合确定。


访问控制引擎


       访问代理中的访问控制引擎,基于每个访问请求,为企业应用提供服务级的细粒度授权。


       授权判定基于用户、用户所属的群组、设备证书以及设备清单数据库中的设备属性进行综合计算。如果有必要,访问控制引擎也可以执行基于位置的访问控制。另外,授权判定也往往参考用户和设备的信任等级,例如,可以限制只有全职工程师、且使用工程设备才可以登录谷歌的缺陷跟踪系统;限制只有财务部门的全职和兼职员工使用受控的非工程设备才可以访问财务系统。访问控制引擎还可以为应用的不同功能指定不同的访问权限和策略,例如,在缺陷跟踪系统中,与更新和搜索功能相比,查看某一条记录可能不需要那么严格的访问控制策略。


访问控制引擎的消息管道


       通过消息管道向访问控制引擎源源不断地推送信息,这个管道动态地提取对访问控制决策有用的信息,包括证书白名单、设备和用户的信任等级,以及设备和用户清单库的详细信息。


一个端到端示例


应用


       本例中,我们假设一个应用将被“BeyondCorp化”,这个应用用于工程师审核、注释、更新源代码,并且经审核者批准后可以提交代码。进一步假设权限设定为:允许全职和兼职工程师从任何受控设备上对这一应用(codereview.corp.google.com)进行访问。


配置面向互联网的访问代理


       codereview.corp.google.com的所有者为这一服务配置访问代理。配置指定了应用后端的网络位置和每个后端可承受的最大流量。codereview.corp.google.com的域名在公共DNS中注册,其CNAME指向访问代理。例如:


图片


配置访问控制引擎


       访问控制引擎提供了一个默认规则,限制只有全职员工使用受控设备才能进行访问。codereview.corp.google.com的所有者可以提供一个更具化的规则进一步限制针对此应用的访问,包括:限制只有最高信任等级的受控设备可以访问、限制只有最高信任等级的全职和兼职工程师可以访问。


当一位工程师访问网络


       如果网络位于企业办公大楼外:工程师使用谷歌配发的笔记本电脑,接入任何Wi-Fi网络,这个网络可能是一个有登录验证门户的机场Wi-Fi,也可能是咖啡馆的公共Wi-Fi。不再需要配置和通过VPN来连接到企业网络。


       如果网络位于企业办公大楼内:工程师使用谷歌配发的笔记本电脑访问企业网络,这台电脑在与RADIUS服务器进行802.1x握手过程中提供设备证书。当证书有效时,为这台电脑在无特权网络上分配一个地址;如果电脑不是由公司配发的或者其设备证书过期了,就为这台电脑分配一个补救网络上的地址,而且这个地址的访问权限非常有限。


访问应用,无需区分网络


       工程师从公司配发的笔记本电脑上访问codereview.corp.google.com,读者可以参考图1的访问流程。


       1、请求指向访问代理,笔记本电脑提供设备证书。

       2、访问代理无法识别用户,重定向到单点登录系统。

       3、工程师提供双因子认证凭据,由单点登录系统进行身份认证,颁发令牌,并重定向回访问代理。

       4、访问代理现在持有标识设备的设备证书,标识用户的单点登录令牌。

       5、访问控制引擎为codereview.corp.google.com执行对应的授权检查。授权检查基于每个请求进行:

       a) 确认用户是工程组成员。

       b) 确认用户拥有足够的信任等级。

       c) 确认设备是一个良好的受控设备。

       d) 确认设备拥有足够的信任等级。

       e) 如果所有这些检查通过,请求被转发到应用后端获取服务。

       f) 如果上述任何检查失败,请求被拒绝。基于上述方法和流程实现了丰富的、服务级的认证及针对每个请求的授权检查。


迁移到BeyondCorp


       与世界上几乎所有企业一样,多年来谷歌一直为其用户和应用维护一个特权网络(内网),这种模式使得基础设施对公司的日常运作至关重要。尽管公司的所有组件都应该迁移到BeyondCorp,但一下子将每个网络用户和每个应用都迁移到BeyondCorp环境,对业务连续性来说非常危险。因此,谷歌投入大量资源进行分阶段迁移,在不影响公司生产力的情况下,成功地将大批网络用户逐步迁移到BeyondCorp,如图2所示。下面将详细介绍我们所做的一些工作。


图片

图2 迁移到BeyondCorp


工作流迁移评估


       需要确保谷歌的所有应用都可以迁移以便最终通过访问代理进行访问。BeyondCorp会发起对所有应用的检查和迁移评估,确保其平滑迁移。每个应用要实现迁移的难易不一,有的只需要简单的支持HTTPS流量,有的比较复杂,如,需要实现单点登录集成。需要对每个应用配置访问代理,在大多数情况下还需要在访问控制引擎中进行特定的策略配置。每个应用都会经历以下阶段实现迁移:


       1、可以通过特权网络直接访问;以及在外网通过VPN访问。

       2、可以通过特权网络直接访问;以及在外网及无特权网络中通过访问代理访问。此阶段需要使用 DNS分离解析,内部域名服务器直接指向应用,外部域名服务器指向访问代理。

       3、在外部、特权和无特权网络中通过访问代理均可访问。


工作职能分析


       通过检查整个公司的工作职能,并和工作流迁移评估进行交叉对比,我们能够确定用户群组迁移的优先级。基于当时对用户工作流和BeyondCorp组件功能的全面理解,我们从财务、销售、法务或工程师团队中选择网络用户进行迁移。


减少VPN的使用


       随着越来越多的应用通过访问代理访问,我们开始阻止用户使用VPN,策略如下:

       

       1、只有经证实确有需要的用户才能使用VPN访问。

       2、监控VPN的使用,删除在一段时期内未使用VPN的用户的访问权限。

       3、监控VPN活跃用户的VPN使用情况,如果他们所有的工作流都可以通过访问代理实现,将强烈建议用户放弃使用VPN。


流量分析管道


       只有当我们确信(或者非常接近确信)所有用户的工作流都可以从无特权网络中访问时,才能将用户转移到无特权网络,这一点对迁移的平滑性非常重要。为了建立一个相对的确定性,我们建立了一个流量分析管道。从公司的每个交换机中采样网络流量数据并输入管道,将这些数据与无特权网络和公司其余网络之间的预设访问控制列表对比分析,通过分析,能够识别命中访问控制列表的流量,以及没有命中访问控制列表的流量,并分别形成列表。对于没有命中访问控制列表的“逃逸”流量被关联到特定的工作流和/或特定的用户和/或特定的设备上,并进一步解决这些“逃逸”流量的问题,使其在BeyondCorp环境中能够工作。


无特权网络模拟


       作为补充,除了通过交换机采样流量并进行流量分析外,我们还通过安装在访问谷歌网络所有用户设备上的流量监视器,对整个公司的无特权网络行为进行模拟。流量监视器检查了每个设备的所有流入和流出的流量,与无特权网络和公司网络其余部分之间的预设访问控制列表对比验证,并记录没有通过验证的非法流量。流量监视器有两个模式:


       记录模式:捕获非法流量,但仍然允许上述流量流出设备。

       强制模式:捕获并丢弃非法流量。


迁移策略


       通过流量分析管道和无特权网络模拟,可以定义并实施分阶段的迁移策略,包括以下内容:

       1、通过工作职能和/或工作流和/或位置来确认潜在的可迁移候选集。

       2、模拟器开启记录模式,确认在连续30天内合格流量比例大于99.9%的用户和设备。

       3、如果在该时期内,用户和设备的合格流量比例大于99.99%,则为用户和设备启动强制模式。当然,若有必要,用户可以将模拟器恢复到记录模式。

       4、在强制模式下成功运行30天之后,将此状态记录在设备清单中。

       5、包含在候选集中,且在模拟器执行模式下成功工作30天是一个非常强烈的合格信号,下一次Radius服务器提供802.1x身份验证服务时,设备将被分配到无特权网络。


豁免处理


       除了尽可能自动化地将用户和设备从特权网络转移到新的无特权网络外,我们还采用了一个简单的办法允许用户请求临时免除这种迁移。我们维护了一个未获得BeyondCorp能力评估、尚未达到迁移标准的工作流列表。用户可以搜索这些工作流,在经过适当的审批后,将自己和设备标记为特定工作流的活跃用户。当工作流完成BeyondCorp赋能,达到迁移标准后,相关用户会收到通知,再次进入迁移候选名单并进行迁移。


完成BeyondCorp


       谷歌的BeyondCorp迁移正在进行中,所需的大部分工作流已经评估确认完毕。我们的迁移工具和策略允许主动将用户、设备和工作流迁移到BeyondCorp,而不会影响日常工作生产力。


       我们预计BeyondCorp迁移的收尾工作还很多,需要花费一段时间。例如,使用专有协议与服务器交互的胖客户端应用将是一个挑战。我们正在研究将此类应用迁移到BeyondCorp的方法,也许会为它们配套使用一种特殊的认证服务。


       随着我们向BeyondCorp迁移工作的推进,我们打算后续发表一系列文章解释谷歌为何以及如何向BeyondCorp迁移,同时也希望可以鼓励其他企业实施类似的实践。

图片

转自于微信公众号-云安全联盟CSA


云深互联


       云深互联, 取名自古诗:“只在此山中,云深不知处”,旨在通过新一代SDP(软件定义边界)网络隐身技术,使应用程序“隐身”于互联网之中,只对授权用户可见,让黑客无从发起攻击,从而有效保护企业数据资产,让每一家企业数据安全上云,实现高效地互联互通。云深互联成立于2012年,已经成功服务不同行业的500强企业及政府单位,覆盖金融 、能源 、交通 、制造 、地产 、教育、零售等领域。成功获得晨兴资本、IDG资本、达晨创投等一系列知名投资机构数亿元融资。


图片

分享到:

深云SDP

零信任SDP专业平台

立即试用

立即试用