《BeyondCorp Part III: The Access Proxy》解读

《BeyondCorp Part III: The Access Proxy》解读

这是一篇发表于 2016 年的论文,是 BeyondCorp 系列的第三篇。虽然过去多年,但是在流量的精细化控制方面仍然值得学习。

BeyondCorp 是 Google 对零信任模型的实现。它建立在 Google 十年经验的基础上,并结合了社区的想法和最佳实践。通过将访问控制从网络边界转移到个人用户,BeyondCorp 几乎可以在任何位置进行安全工作,而无需传统的 VPN。

The Access Proxy 详细描述了 BeyondCorp 前端基础设施的实现,介绍了在实现 Access Proxy(以下简称 AP)时的挑战与实践教训,并给出了最佳实践。

AP 是在负载均衡反向代理的基础上增加了安全的处理,增加了验证、授权、集中日志记录,以及自服务配置。整个设计上,充分利用了对流量的精细化控制。

认证

在传统代理的 TLS 外,引入认证功能。该功能的核心之一是请求方识别,验证用户身份。并支持一系列的身份验证选项。

此外,认证还需要对后端服务“隐藏”身份验证凭证,也不会对后端服务自身的验证流程。

多平台的认证

使用了一致的、不可复制的、唯一设备标识符和用于跟踪设备最新状态的存储,实现对设备的信任取代对网络的信任。

对于不同的平台,充分利用各平台标识。比如 PC 和笔记本操作系统的设备证书,移动设备系统的设备标识。

授权

授权的引入与认证功能一样,将基础功能与后端服务分离,解放了后端服务。但是由于复杂度限制,只能执行粗粒度的策略,还需与后端服务的细粒度策略结合使用。

此外,还需解决代理与后端的双向认证问题,毕竟从ZTN(Zero Trust Network 零信任网络)的角度看内部网络同样不可信。通过双向认证确保数据(元数据,通常是请求头)不可欺骗的同时,还有额外的收益:通过增加元数据轻松地扩展 AP 的能力,新增的元数据也被后端接受并使用。

实现中心化授权的前提是一个 ACL(Access Control List 访问控制表)引擎和用于表达 ACL 的 DSL(Domain Specific Language 领域特定语言)。

集中日志记录

鉴于 AP 的定位非常适合进行数据的记录,用于事件响应和取证分析。可以记录请求头、响应编码以及用调试或重建访问决策和ACL 评估流程的元数据。

运维扩展性

提供自服务配置降低团队介入的成本,前提是将配置结构化,同时实现配置的所有权管理。

此外还提供响应的培训和充分的文档。

其他

上面列出了 AP 提供的除代理以外的功能,还有一些最佳实践和经验分享,可以参考下面的脑图。

访问代理

comments powered by Disqus