Google基础设施架构安全设计.docx
- 文档编号:1250059
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:13
- 大小:405.22KB
Google基础设施架构安全设计.docx
《Google基础设施架构安全设计.docx》由会员分享,可在线阅读,更多相关《Google基础设施架构安全设计.docx(13页珍藏版)》请在冰豆网上搜索。
Google基础设施架构安全设计
Google基础设施架构安全设计
目录
1.底层基础设施安全设计4
1.1.物理基础架构安全4
1.2.硬件设计部署4
1.3.安全引导和服务器识别机制4
2.安全服务部署5
2.1.服务标识、完整性与隔离5
2.2.服务间访问管理6
2.3.服务间通信加密设计7
2.4.终端用户数据访问管理8
2.5.静态加密9
2.6.数据删除10
3.网络通信的安全性设计10
3.1.谷歌前端服务11
3.2.DoS攻击防御11
3.3.用户认证11
4.运维安全12
4.1.安全软件开发12
4.2.员工设备和凭据安全保护13
4.3.内部风险消控14
4.4.入侵检测14
5.谷歌云存储平台(GCP)安全设计15
谷歌的技术基础设施共同构建了搜索、邮件(Gmail)、照片等普通用户系统和GSuite、谷歌云存储平台等企业系统,是谷歌数据中心的关键,是整个谷歌网络服务赖以存在的安全基础。
针对谷歌技术基础设施的安全设计作了简要分析与介绍,这些技术基础设施为谷歌全球信息系统提供了一系列安全防护,它们包括运行安全服务、终端用户数据安全存储、服务安全通信、用户安全通信和运维安全管理等。
在介绍中,我们将围绕谷歌数据中心的物理安全、整体软硬件基础安全、技术限制和操作的运维安全进行逐层描述。
1.底层基础设施安全设计
1.1.物理基础架构安全
谷歌数据中心包括了生物识别、金属感应探测、监控、通行障碍和激光入侵感应系统等多层物理安全保护,并做了严格的限制访问。
因为谷歌的某些服务托管在第三方数据中心,为了确保绝对的安全控制,必须部署此类高度安全措施。
1.2.硬件设计部署
谷歌数据中心网络由数千台服务器组成,这些服务器的主板和网络设备都由谷歌自行定制设计,相关设备组件和供应商都必须经过严格的安全检测和背景审查。
同时谷歌也自己设计了安全芯片,这些芯片被广泛应用于服务器和相关外设环境,为硬件级别的安全识别和认证提供了有效的安全手段。
1.3.安全引导和服务器识别机制
为了确保正确的服务启动,谷歌服务器使用了一系列的启动引导技术,包括在BIOS、bootloader、kernel和系统镜像等底层组件中使用加密签名,这些签名在每次启动和更新时都能进行安全验证。
整个过程中涉及的组件都由谷歌构建、控制和加固。
随着硬件的更新换代,谷歌也在不断努力进行安全改进,比如自行设计了可锁固件芯片、安全微控制器和安全芯片,并按照不同服务器的设计版本,在各类芯片中内置了可信的安全启动机制。
在软件引导和硬件启动过程中,数据中心的每台服务器都有自己独特的标识身份,这些标识也被用于机器底层管理的API调用验证。
另外,谷歌也开发了自动更新检测系统,以保证各类软硬件的及时更新、识别和诊断,必要时可以自动隔离那些出现故障的服务器。
2.安全服务部署
此节中,将对一些基本的软硬件服务安全进行介绍,数千台服务器将对这些服务应用请求进行伺服和备份,这些服务包括Gmail的SMTP服务、分布式数据存储服务、YouTube视频转码服务、客户端APP沙箱运行服务等常规用户请求。
所有运行于基础设施架构的服务请求都由一个叫Borg的集群业务管理服务进行控制。
2.1.服务标识、完整性与隔离
在内部服务的应用层通信之间,谷歌使用了加密认证授权方式,为管理和服务提供了高强度的访问控制。
虽然谷歌不完全依赖内部网络划分和防火墙作为主要安全机制,但为了防止IP欺骗等进一步攻击,谷歌在网络入口和出口的各种不同点位使用了过滤策略,这种方法也最大化地提高了网络性能和可用性。
每一个运行服务都有自身相关的服务账户标识,当创建服务或接收RPC请求时,就能提供相应的加密验证凭据。
这些标识同样被用于服务间通信,以及对特定客户端的数据和方法访问限制。
谷歌的源代码被存储在一个中心库内,在这里可以针对当前和以往的代码进行审计。
谷歌基础设施可以针对特定服务配置相应的安全审核、验证和源代码检测程序。
在代码审查方面,需要除编写者之外的至少一名工程师进行审查和批准,另外,在审查出现问题之后,需要经系统管理员批准才能更改和执行代码。
这些强制要求限制了内部人员或攻击者对源代码作出恶意更改,同时也为服务代码提供了可追溯的取证流程。
除此之外,为了保护同一台服务器上运行的其它服务,谷歌还设置了一系列的沙箱和隔离技术。
这些技术包括通用的用户隔离、基于语言和内核的沙箱以及硬件虚拟化等。
总体来说,为了应对存在风险的请求服务,如用户请求的复杂文件格式转换,或APP端及谷歌运算引擎这类产品面临的用户执行代码等,谷歌使用了多层隔离技术。
另外,为了保证网络边界的安全可按,谷歌还使用了一些特殊敏感的服务,如集群业务服务和关键管理服务等,这些服务都运行在专门的服务器之上。
2.2.服务间访问管理
所有运行服务可以使用谷歌基础设施提供的访问管理功能来指定哪些服务可以与其进行通信。
例如,某个服务可以设置只提供一些特定白名单服务的API请求调用,该服务可以被配置为仅允许白名单帐户身份,之后,这种访问限制机制将会被谷歌基础设施自动执行。
就像谷歌工程师对服务的访问同样需要身份标识验证一样,这些服务可以设置为允许或拒绝访问。
所有标识类型信息(机器、服务或员工)都存储于谷歌基础设施的全局域中。
在内部身份标识认证中,谷歌提供了多样的标识管理系统,包括审批流程、记录和通知等。
例如,这些标识可以通过某个系统指派给访问控制组,以方便不同工程师进行服务的更改和批准。
标识管理系统可以对成千上万的运行服务进行安全访问管理。
除了自动的API级别访问控制机制外,谷歌还设置了访问控制列表(ACLs)和数据库的读取服务,以方便执行必要时自定义和细粒度的访问控制操作。
2.3.服务间通信加密设计
除了前述的PRC认证授权功能之外,谷歌还提供了网络内PRC数据的加密保密性和完整性功能,为了对HTTP等其它应用层协议进行安全保护,这些加密功能被谷歌封装在了内部的PRC机制中。
本质上来说,这提供了应用层隔离,同时消除了任何网络路径的安全依赖因素。
即使网络被窃听或设备被入侵,加密的服务通信也能保证信息安全可靠。
可以针对每一种PRC调用,为服务设置不同的加密保护级别,例如,对于数据中心内部的低价值数据交换只设置完整性保护级别;而针对复杂的网络攻击和内部网络窃听行为,将会自动开启所有RPC流量加密功能,无需额外的操作配置。
同时,谷歌配置部署了硬件加密加速器,可以为数据中心内部所有PRC流量进行加密。
2.4.终端用户数据访问管理
典型的谷歌服务为终端用户带来了很多便利,例如Gmail,在用户使用类似程序的过程中,将会和谷歌基础设施进行交互,如Gmail服务中调用通讯录服务API访问终端用户地址薄。
结合前述章节,通讯录服务可以设置成Gmail服务中只允许特定RPC的请求。
然而,这仍然是一个非常广泛的权限控制集。
但在权限许可范围内,Gmail服务将对任何时间的任何用户作出请求回应。
由于Gmail服务将会代表终端用户执行对通讯录的RPC请求,而此时,作为RPC请求的一部分,谷歌基础设施将会为Gmail服务提供一个“终端用户许可凭据”,该凭据是特定终端用户的身份证明,这也为特定终端用户通讯录服务的数据回应实现了安全保障。
为了向终端用户发布“权限许可凭据”,谷歌运行有一个中央用户身份服务系统。
终端用户登录后,将会通过该身份服务进行多种方式验证,如用户密码、cookie信息、OAuth令牌等,之后,任何从客户端发起到谷歌内部的后续请求也将需要身份信息验证。
当服务接收到终端用户密码信息后,将把其传递到中央身份服务系统进行验证,如果验证正确,身份服务系统将返回一个短期有效的“权限许可凭据”,用于用户的RPC相关请求。
结合前面的例子,Gmail服务如果获得了“权限许可凭据”后,将把该凭据将传递给通讯录服务进行验证。
之后,作为RPC调用的一部分,该凭据将适用于任何客户端请求。
安全数据存储
2.5.静态加密
谷歌基础设施中运行有很多存储服务,如分布式数据库(BigTable)、Spanner以及集中密钥管理系统。
大多数应用程序都将通过这些存储服务对物理存储设备进行直接访问。
存储数据在写入物理存储设备之前,可以配置使用集中密钥管理系统分发的密钥进行加密。
而集中密钥管理系统支持自动密钥轮换,并提供了全面的日志审计、特定用户身份完整性校验等功能。
Spanner是谷歌公司研发的、可扩展的、多版本、全球分布式、同步复制数据库。
它是第一个把数据分布在全球范围内的系统,并且支持外部一致性的分布式事务。
在应用层执行加密允许基础设施隔离掉一些如恶意磁盘固件的底层存储潜在威胁,这也是另一种加密保护层的额外实现。
谷歌的每一块机械硬盘和固态硬盘都支持硬件加密和状态跟踪。
如果某个加密存储设备被更换或废弃,必须经过多步骤的磁盘清理和两次独立验证,不经过此清除过程的设备也将被执行物理破坏。
2.6.数据删除
谷歌的数据删除不是执行完全数据清除,而是针对某些特定数据的“计划性删除”,这样做的好处是,可以恢复那些客户端或运维操作无意删除的数据。
如果数据被标记为“计划性删除”后,将按照特定服务策略删除。
当某个终端用户执行了账户删除之后,谷歌的基础设施将通知相关数据清除服务对被删账户的数据进行清除。
删除了谷歌账号和谷歌邮箱之后,谷歌系统将删除掉该账户相关的所有数据,不能再继续以该账户使用谷歌提供的各项服务。
3.网络通信的安全性设计
此节中,将描述谷歌安全通信和相关服务设计。
如前所述,谷歌基础设施由大量物理设备组成,这些设备共同构成了不同的LAN和WAN。
为了防止诸如DoS之类的攻击,谷歌基础设施使用了一段私有IP空间。
3.1.谷歌前端服务
谷歌基础设施内部的服务需要通过谷歌前端服务(GFE)注册之后,才能运行于外部互联网上。
GFE确保所有TLS连接必须使用正确的证书和安全策略,同时还能起到防御DoS攻击的作用。
GFE对请求的转发使用了前述的RPC安全协议。
实际上,任何通过GFE注册运行于互联网的内部服务都是敏捷的反向前端代理服务,该前端不仅能提供服务的DNS公共IP,还能起到DoS防御和TLS保护作用。
GFE像其它运行于谷歌基础设施的服务一样,可以应对大量的发起请求。
3.2.DoS攻击防御
从规模体量上来说,谷歌基础设施可以化解或承受大量DoS攻击,谷歌具备多层级联的DoS防护手段,以阻止和缓解任何对GFE注册服务的DoS攻击。
外部骨干网向谷歌数据中心发起的连接请求,将通过多层软硬件的负载平衡传导。
这些负载平衡传导器将实时向谷歌基础设施内部的中央DoS监测系统反馈传入流量的状态信息,当DoS监测系统探测到DoS攻击之后,将会第一时间让负载平衡传导器丢弃或节流可疑攻击流量。
在更下一层,GFE实例还会实时向谷歌中央DoS监测系统反馈所接收到的请求信息,这些信息包括了网络层负载平衡传导器不具备的应用层信息。
如果监测到疑似攻击,中央DoS监测系统同样会让GFE实例丢弃或节流可疑攻击流量。
3.3.用户认证
在DoS防御之后,接下来就是谷歌的中央身份服务系统,该服务从终端用户的登录页面开始,除了要求所需的用户名密码之外,系统内部还会对最近登录地点和登录设备进行智能校验。
在认证步骤完成之后,身份服务系统将会向用户分发一个如cookie或OAuth令牌的凭据,以进行后续请求调用。
当然,在登录时,用户还可以采用如OTP动态口令、防钓鱼安全密钥等双因素认证措施。
另外,谷歌还与安全密码联盟(FIDO)共同协定了U2F用户双因素认证标准,制作了YubiKey外连密钥登录USB适配器,用户可以通过购买该适配器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Google 基础设施 架构 安全 设计