本文主要是介绍Google基础设施架构的安全设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
底层基础设施安全设计
一、物理基础架构安全
谷歌数据中心包括了生物识别、金属感应探测、监控、通行障碍和激光入侵感应系统等多层物理安全保护,并做了严格的限制访问。
因为谷歌的某些服务托管在第三方数据中心,为了确保绝对的安全控制,必须部署此类高度安全措施。
硬件设计部署
谷歌数据中心网络由数千台服务器组成,这些服务器的主板和网络设备都由谷歌自行定制设计,相关设备组件和供应商都必须经过严格的安全检测和背景审查。
同时谷歌也自己设计了安全芯片,这些芯片被广泛应用于服务器和相关外设环境,为硬件级别的安全识别和认证提供了有效的安全手段。
安全引导和服务器识别机制
为了确保正确的服务启动,谷歌服务器使用了一系列的启动引导技术,包括在 BIOS、bootloader、kernel 和系统镜像等底层组件中使用加密签名,这些签名在每次启动和更新时都能进行安全验证。
整个过程中涉及的组件都由谷歌构建、控制和加固。
随着硬件的更新换代,谷歌也在不断努力进行安全改进,比如自行设计了可锁固件芯片、安全微控制器和安全芯片,并按照不同服务器的设计版本,在各类芯片中内置了可信的安全启动机制。
在软件引导和硬件启动过程中,数据中心的每台服务器都有自己独特的标识身份,这些标识也被用于机器底层管理的 API 调用验证。
另外,谷歌也开发了自动更新检测系统,以保证各类软硬件的及时更新、识别和诊断,必要时可以自动隔离那些出现故障的服务器。
二、安全服务部署
此节中,将对一些基本的软硬件服务安全进行介绍,数千台服务器将对这些服务应用请求进行伺服和备份,这些服务包括 Gmail 的 SMTP 服务、分布式数据存储服务、YouTube 视频转码服务、客户端 APP 沙箱运行服务等常规用户请求。
所有运行于基础设施架构的服务请求都由一个叫 Borg 的集群业务管理服务进行控制。
服务标识、完整性与隔离
在内部服务的应用层通信之间,谷歌使用了加密认证授权方式,为管理和服务提供了高强度的访问控制。
虽然谷歌不完全依赖内部网络划分和防火墙作为主要安全机制,但为了防止 IP 欺骗等进一步攻击,谷歌在网络入口和出口的各种不同点位使用了过滤策略,这种方法也最大化地提高了网络性能和可用性。
每一个运行服务都有自身相关的服务账户标识,当创建服务或接收 RPC 请求时,就能提供相应的加密验证凭据。这些标识同样被用于服务间通信,以及对特定客户端的数据和方法访问限制。
谷歌的源代码被存储在一个中心库内,在这里可以针对当前和以往的代码进行审计。谷歌基础设施可以针对特定服务配置相应的安全审核、验证和源代码检测程序。
在代码审查方面,需要除编写者之外的至少一名工程师进行审查和批准,另外,在审查出现问题之后,需要经系统管理员批准才能更改和执行代码。
这些强制要求限制了内部人员或攻击者对源代码作出恶意更改,同时也为服务代码提供了可追溯的取证流程。
除此之外,为了保护同一台服务器上运行的其它服务,谷歌还设置了一系列的沙箱和隔离技术。这些技术包括通用的用户隔离、基于语言和内核的沙箱以及硬件虚拟化等。
总体来说,为了应对存在风险的请求服务,如用户请求的复杂文件格式转换,或 APP 端及谷歌运算引擎这类产品面临的用户执行代码等,谷歌使用了多层隔离技术。
另外,为了保证网络边界的安全可按,谷歌还使用了一些特殊敏感的服务,如集群业务服务和关键管理服务等,这些服务都运行在专门的服务器之上。
服务间访问管理
<这篇关于Google基础设施架构的安全设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!