简而言之,零信任度要求验证每个试图访问网络的用户和设备,并执行严格的访问控制和身份管理机制,以限制授权用户仅访问完成工作所需的那部分资源。
零信任是一种架构,因此市面上有许多潜在的解决方案,不过本文介绍的是适用于网络领域的解决方案。
最低权限
零信任的一个广泛原则是最低权限,即授予个人访问数量刚好的资源以执行工作的权限,数量不多也不少。做到这一点的一种方法是网络分段,它基于身份验证、信任、用户角色和拓扑结构,将网络分解成不连接的部分。如果实施得当,网络分段可以隔离某个网段上的主机,并最大程度地减少横向或东西向通信,从而在主机受到损害时限制附带损害的“影响范围”。由于主机和应用程序只能访问它们有权访问的有限资源,因此网络分段可以防止攻击者趁机进入网络的其余部分。
可以根据上下文将访问权限授予实体,允许实体访问资源:上下文是指个人是谁?使用什么设备访问网络?设备所在位置?如何联系以及为何需要访问等。
还有执行网络分段的其他方法。最古老的方法之一是物理隔离,即针对不同的安全级别搭建物理上分离的网络,这些网络有各自的专用服务器、电缆和网络设备。虽然这是一种久经考验的方法,但针对每个用户的信任级别和角色构建完全独立的环境可能非常费钱。
第二层分段
另一种方法是第二层分段,即最终用户及其设备通过设备和访问交换机之间的内联安全过滤机制来加以隔离。但是在每个用户和交换机之间安装防火墙可能非常烧钱。另一种方法是基于端口的网络访问控制,该方法基于身份验证或请求方证书授予访问权限,并将每个节点分配给第三层虚拟局域网(VLAN)。
这些类型的方法常常通过802.1x标准和可扩展身份验证协议在有线和无线访问网络上使用。然而,企业可能没有充分利用供应商的全套最终用户角色、身份验证登录信息、设备配置文件和高级流量过滤,根据用户的可信度级别对用户进行细分。如果需要,用户可以提高安全性。
第三层分段
创建应用程序隔离区的一种常用方法是,将访问电缆和端口分隔成第三层子网(VLAN),并执行内联过滤机制。过滤机制可以由路由器之类的网络设备来执行,也可以由对用户身份和角色有所感知的状态性防火墙或代理服务器来执行。一个典型的例子是标准的三层Web应用程序架构,其中Web服务器、应用程序服务器和数据库服务器都在单独的子网中。
采取相似思路的是网络切片,这是一种软件定义网络方法,即网络在逻辑上分为多个切片,类似虚拟路由和转发上下文。
这方面的一种现代方法是,为每台服务器分配其自己的IPv4子网或IPv6/64前缀,并让它向网络路由器通告其子网。该服务器子网内的所有流量都是该服务器内的本地流量,其他渗入的流量根本不会在该主机内的这个虚拟网络上传输。
将流量封装在IP网络上面运行的覆盖隧道中同样可以起到分隔网段的效果,这可以通过多种方式来完成,包括虚拟可扩展LAN、使用通用路由封装的网络虚拟化、通用网络虚拟化封装、无状态传输隧道和TCP分段卸载。
数据包标记(使用内部标识符标记数据包)可用于在接口之间建立信任关系,因而根据最终用户设备的身份和授权来隔离来自这些设备的数据包。可以用众多协议来标记,包括MPLS、802.1ad Q-in-Q、802.1AE MACsec和Cisco TrustSec。分段路由是一种现代的方法,在IPv6数据包中使用特殊的路由报头来控制MPLS或IPv6网络上的通信路径。
NIST的建议
美国国家标准技术研究所(NIST)列举了零信任架构的逻辑组件,并提供了一些部署样式的定义。这包括基于策略决策点和策略执行点来验证和认证用户。这类似云安全联盟最初对于软件定义边界(SDP)的设想。
该方法需要用到SDP控制器,该控制器负责验证用户的身份,然后通知SDP网关根据用户的角色和授权允许访问特定的应用程序。这个过程可能使用老式的用户名和密码或新式的多因子验证(MFA)方法,新方法结合使用一次性密码、软件令牌、硬令牌、移动应用程序或文本消息。另一种方法名为单数据包授权或端口碰撞,使用客户端浏览器或应用程序将一组数据包发送到SDP控制器,SDP控制器负责识别用户及其设备。
市面上有众多的微分段、主机隔离和零信任网络方法。一些实施在网络设备中、服务器本身中、身份访问控制系统中或者中间设备(比如代理服务器和防火墙)中。零信任方法种类繁多,可以实施在主机操作系统中、软件容器虚拟网络中、虚拟机管理程序中或者拥有SDP或IAP的虚拟云基础架构中。
许多零信任方法还涉及最终用户节点上的软件代理以及X.509证书、相互TLS(mTLS)、单数据包身份验证(SPA)和MFA。并非所有这些方法都可以由网络管理员、服务器管理员或安全管理员完全自行实施。为了实现稳健的零信任网络架构,可以通过与跨部门的IT团队合作来实施这些技术。