1.2.2 BeyondCorp架构
在 BeyondCorp 架构中,无论用户在内网、家中还是咖啡馆,都要经过用户设备认证才能访问企业资源。安全人员会对员工进行最细粒度的访问控制。员工可以更安全地在任何地点工作,而不用配置VPN。
图1-4是BeyondCorp的架构图(为了与前后文对应,笔者对BeyondCorp组件的位置做了调整,与原图稍有差异)。
BeyondCorp包括如下9个模块。
(1)单点登录:用户在单点登录的统一门户上进行身份认证,认证成功之后,获取身份令牌。后续所有的访问都需要令牌,以证明用户的身份。
(2)用户身份库:用户身份库存储用户和组织结构的信息,与谷歌的HR流程紧密结合,当员工入职、调岗、离职时,身份库会自动更新。在单点登录过程中需要使用用户身份库进行身份校验。
(3)设备清单库:谷歌会随时监控公司设备的安全状态,并将这些受控设备的信息存储在设备清单库中,用于校验设备。
(4)证书管理:BeyondCorp会给合法的设备下发证书。证书存储在用户设备上,在设备认证过程中会校验证书的有效性。
(5)信任评估:对设备和用户的信任水平进行分析,例如,未安装最新补丁的设备,可能存在漏洞,因此信任等级会被降低。如果存在恶意软件,则表明设备可能已经被入侵,信任等级会被大幅降低。
(6)分析管道:汇聚身份、设备、证书、信任等级等各类信息,推送给访问控制引擎,用于访问策略的决策。
(7)访问控制引擎:对访问代理上的每个访问请求进行校验,校验身份是否合法、设备是否合法、用户是否具有访问某某资源的权限、信任等级是否符合要求、时间位置是否符合要求等信息。例如,限制只有财务部的员工可以在上班时间通过受控设备访问财务系统。
(8)访问代理:谷歌的所有业务系统都是通过访问代理向互联网开放的。用户要访问业务系统,必须通过访问代理的校验。只有校验成功后,请求才会被转发到业务系统。访问代理与客户端和业务系统之间的通信是加密的。要支持大规模用户访问,访问代理还应该具备负载均衡能力。
(9)Radius认证:BeyondCorp使用802.1x协议来做网络准入的认证。谷歌内部划分了几个VLAN,最开始零信任网络只是其中之一。参与试点的人会在网络认证之后,被划分到零信任的VLAN中体验BeyondCorp。随着BeyondCorp逐渐成熟,其他人才逐渐加入,最终取代之前的网络。