Google 基础设施在设计时就确保了信息在整个生命周期内都是安全的。这里所说的安全涉及多个层面,包括服务部署、数据存储、进程与进程及外部系统之间的通信,以及运维层面。
物理层
在物理层,安全是通过以下措施确保的:
- 限制并严格控制对数据中心的访问。
- 仔细审核组件提供商并审计其组件的安全属性。
- 服务器和外围设备使用定制芯片以便于识别 Google 的设备。
- 每次启动或者更新的时候都对 BIOS、引导加载程序、内核以及基础操作系统镜像的加密签名进行验证。
服务部署
在服务级别,Google 并没有为运行在同一基础设施上的服务假定任何信任关系。这对服务的识别、授权,以及数据的隐私和完整性造成了一些重要的影响,包括:
- 每一个服务都有一个加密了的身份,在进行远程过程调用(RPC)的时候会使用。
- 服务可以被配置成由经过特定复审、检入、测试和审批的源码构建,从而限制入侵者修改源码的能力。
- 使用沙箱、硬件虚拟化等隔离技术保护服务不受运行在同一台机器上的其他服务的影响。对于非常敏感的服务,可能会同时使用多种隔离技术,包括将服务独立运行在一台专用设备上。
- 通过白名单、中央访问控制列表和组数据库对 API 访问进行服务和工程两个级别的限制。
- 对所有的 RPC 通信应用加密技术。
- 从一个服务到另一个服务的所有用户级别的请求(例如 Gmail 对通讯录服务的请求)都必须经过一个身份验证流程的处理,该流程会使用用户会话 token 获取临时 token 以用于远程过程调用。
数据存储
Google 在应用程序层和驱动层都使用了加密技术。实际上,在被存储到磁盘之前,Google 还会使用一个提供审计日志、自动化密钥轮替等功能的中央密钥管理服务对数据进行加密。另外,硬盘和 SSD 使用硬件加密,这些设备只有在经过严密的多步擦除处理之后才会被重用。
互联网通信
Google 的基础设施与因特网是隔离的,只有一部分机器暴露到了外部环境中。Google 这一策略的基石是 Google Front End(GFE),它为所有可以通过因特网访问的内部服务提供了注册、发布服务。GFE 会确保 TLS 终止会被正确的处理,强制实施最佳实践,并通过反向代理功能提供拒绝服务(DOS)保护。通过一个专用的中央服务,DOS 保护可以得到非常有效的实施,因为它能够监视所有进入负载均衡器的请求,同时能够命令负载均衡器丢弃或者限制攻击流量。
确保互联网通信安全的一个非常关键的步骤是用户身份验证,对此 Google 是通过一个得到了中央身份服务支持的登陆页面实现的。众所周知的是,Google 的认证并不仅仅局限于用户名和密码,尝试登陆过程中产生的其他所有信息都将作为认证参考,例如使用的设备、地理位置等信息。为了进一步增强安全性,Google 身份验证还支持双重认证。
另外,与 Google 基础设施安全性相关的其他方面还包括运维安全,它决定了软件的创建方式,保护雇员的机器和证书,阻止来自于入侵者以及外部行为的可能威胁。
如果想查看更详细的信息可以查看Google 的Web 网站,该网站给出了一个文档列表分别对相关的具体领域进行了详细的介绍。
查看英文原文: All Google’s Servers Contain Custom Security Silicon
评论