第 3 章 网络代理 网络代理
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
想象一下,你所在的组织非常注重安全。每位员工都有一台经过严格认证的笔记本电脑用于工作。如今,工作和个人生活融为一体,有些人还希望在手机上查看电子邮件和日历。在这个假想的组织中,安全团队会根据用户访问特定资源时使用的设备应用细粒度策略决策。
例如,也许允许员工用公司配发的笔记本电脑提交代码,但用手机这样做就很奇怪了。由于从移动设备访问源代码的风险明显高于从注册的笔记本电脑访问源代码,因此组织会阻止这种访问。
这里描述的故事是零信任的一个相当典型的应用,它涉及用户和设备的多重验证和授权因素。不过,在这个例子中,一个因素显然影响了另一个因素--"通常 "可以访问源代码的用户无法通过移动设备访问源代码。此外,该组织不希望通过身份验证的用户使用任何可信设备提交代码--他们希望用户使用自己的设备。
用户和设备的这种结合是零信任引入的一个新概念,我们称之为网络代理。在零信任网络中,将用户和设备分开处理是不够的,因为策略往往需要将两者结合起来考虑,才能准确地执行所需的行为。通过在系统中正式定义网络代理,我们就能捕捉到这种关系,并利用它来驱动政策决策。
本章将定义什么是网络代理以及如何使用网络代理。在此过程中,我们将讨论代理中包含的数据类型,其中有些数据可能是敏感数据。鉴于这些数据的性质,我们将讨论何时以及如何将代理暴露给数据平面系统。Network+ 代理作为一个新概念,可以从标准化中受益。我们将探讨这种代理标准化的好处。
什么是代理人?
网络代理 是对网络请求中已知参与者数据组合的术语,通常包含用户、应用程序和设备。传统上,这些实体都是单独授权的,但零信任网络认为,政策最好是由请求中的所有参与者组合而成。通过对请求的整个上下文进行授权,可大大减轻凭证被盗的影响。
最好把 Network+ 代理看成是一个短暂的实体,它根据需要形成,以评估策略。用于形成代理的数据(用户或设备信息)通常存储在持久存储中,并通过查询形成代理。当这些数据被查询时,数据在该时间点的结合体就是我们所说的代理。
代理波动性
代理中的某些字段是专门为减少主动攻击而提供的,因此相对于 IT 组织通常预期的不频繁变化,这些字段会发生快速变化。信任分数就是这类动态数据的一个例子。信任分数系统可以评估网络中的每个请求,利用该活动反馈来更新用户、应用程序和设备的信任分数。因此,为了使信任分数能够减轻新的攻击,需要尽可能接近实时地进行更新。
除了瞬息万变的数据外,代理还经常会有稀疏的数据。与成熟的设备相比,正在进行 Bootstrap 的设备就是代理数据较少的一个示例。在 Bootstrap 过程中,代理对设备知之甚少,但它仍必须与企业基础设施交互,以执行设备注册和软件安装等任务。在这种情况下,Bootstrap 设备尚未分配给用户,如果策略希望代理中出现已分配的用户,就会遇到问题。这种情况应在授权策略中有所预期和反映。
稀疏数据不仅出现在 Bootstrap 场景中。与人工操作系统相比,零信任网络中的自治系统经常会有稀疏数据。例如,这些系统可能不会验证应用程序运行的用户账户,而是依赖于创建该用户的配置管理系统的安全性。
代理有什么作用?
代理中包含的数据粒度可根据需求和成熟度而有所不同。它可以是用户姓名或设备制造商这样的高级数据,也可以是序列号、居住地或发行地这样的低级数据。需要注意的是,越详细的数据越有可能存在数据清理问题,这一点必须加以解决。