1. 零信任究竟解决了什么问题?
很多人在初步了解“零信任”概念,乃至进一步研究一些技术和产品方案之后,会有种“不过如此”的感觉。
毕竟, IAM(Identity and Access Management,身份识别与访问管理)、MSG(microsegmentation,微隔离)和SDP这三种被宣称为“实现零信任的三大技术路径”对于有安全相关技术背景的人来说并不是多么新鲜的事情,甚至可以说分别就是传统4A(Authentication/认证、Account/账号、Authorization/授权、Audit/审计)系统的扩展。这样的“零信任”自然远称不上有多大的革命性。
那零信任真的只是旧瓶装新酒吗?
1.1 传统网络安全技术面对新的业务环境捉襟见肘
随着时代的发展,网络环境和业务运行方式也在发生深刻的变化。
- 一边是各种云服务被广泛使用,使得业务资源(从基础设施到应用服务)不再局限在组织“内部”,难以使用传统手段进行管理和保护;
- 另一边是用户在工作中普遍使用智能移动终端(而且常常是自有设备),而这些无法被严格管理的“外部”设备常常会成为黑客攻击和数据泄露的突破口。与此同时,越来越多的业务基于跨组织合作而构建,不同来源不同身份的人员参与共同的项目,用户也不再局限在固定的办公室位置。
从传统网络安全技术的视角看,“云化”和“移动化”所带来的变化和挑战首先表现为数据流不可控:
- 传统条件下,除了对资源的完全掌控,IT和安全部门还能够通过内部网络基础设施(交换机、路由器和网关等)获取从用户终端到目标资源的数据流向和具体内容,并进行有效的管理、监控和审计;
- 而现今条件下,企业和组织不拥有各种云服务的底层基础设施,在终端设备通过移动通信网络访问时也难以介入对数据流进行管理。
1.2 零信任可以解决传统网络安全技术解决不了的问题吗?
不同于构筑堡垒防线、努力将攻击者拒之门外的传统网络安全建设思路。
而“零信任”是一种以“攻击者已经在环境中存在”为出发点、以用户和资源为核心、在整个业务流程中拒绝隐式信任(implicit trust)的新范式(paradigm)。
零信任理念的基本假设:
- 内部威胁不可避免;
- 从空间上,资源访问的过程中涉及到的所有对象(用户、终端设备、应用、网络、资源等)默认都不信 任,其安全不再由网络位置决定;
- 从时间上,每个对象的安全性是动态变化的(非全时段不变的)。
零信任的基本原则
- 任何访问主体(人/设备/应用等),在访问被允许之前,都必须要经过身份认证和授权,避免过度的 信任;
- 访问主体对资源的访问权限是动态的(非静止不变的)
- 分配访问权限时应遵循最小权限原则;
- 尽可能减少资源非必要的网络暴露,以减少攻击面;
- 尽可能确保所有的访问主体、资源、通信链路处于最安全状态;
- 尽可能多的和及时的获取可能影响授权的所有信息,并根据这些信息进行持续的信任评估和安全响应。
1.3 零信任与传统安全产品/设备的关系
零信任是一种安全理念,本质上和传统安全产品/设备并不是同一个维度的概念,但是由于零信任架构落地 的时候,会和传统安全产品/设备产生协作,甚至可能存在替代某些传统安全产品/设备的情况。
1.3.1 零信任与防火墙的关系
防火墙提供了划分网络边界、隔离阻断边界之间的流量的一种方式,通过防火墙可以提供简单、快速有效 的隔离能力。防火墙和零信任在实践中可以互相补充,常见的场景是在实施了零信任的环境中,通过防火墙限 制除了零信任网关端口外的一切访问,最小化非信任网络到信任网络的权限,将攻击面降到最低。
1.3.2 零信任与IAM的关系
零信任强调基于身份的信任链条,即该身份在可信终端,该身份拥有权限,才可对资源进行请求。传统 IAM系统可以协助零信任解决身份(账号)唯一标识,身份属性,身份全生命周期管理等支持。通过IAM将身份 信息状态(身份吊销离职、身份过期、身份异常等)传递给零信任系统后,零信任系统可以通过IAM系统的身 份信息(如部门属性)来分配默认权限,而通过IAM系统对身份的唯一标识,可有利于零信任系统确认用户可 信,通过对唯一标识对用户身份建立起与终端、资源的信任关系,并在发现身份风险时实施针对关键用户相关 的访问连接进行阻断等控制。
1.3.3 零信任与SOC/SIEM/Snort等产品的关系
零信任重要理念之一是持续安全校验。校验对象包含了用户是否安全可信,终端环境是否安全可信,访问 资源是否安全可信等维度。一些深层次的安全分析往往需要大量数据支撑和较多计算资源的投入,集中在零信 任的策略引擎中会带来引擎负载过大、影响引擎稳定性等风险。结合SOC系统可以增强零信任的安全检测能力 和复杂安全事件分析能力,通过接入包含零信任系统在内的各种数据,可以实现从终端接入,到什么用户对资 源发起请求,对用户行为进行全过程的综合异常检测能力。SOC系统检测出对安全事件又可以联动零信任系 统,对来自风险源的访问进行阻断或是降权处理。
1.3.4 零信任与虚拟专用网络(VPN)关系
虽然零信任和VPN是不同维度的概念,但在安全接入和数据加密通信等方面有相似性。
2. 零信任参考架构
用什么样的架构来落地零信任理念,目前尚没有统一的定义。目前业界比较熟知的架构有SDP软件定义网络和NIST提出的零信任体系架构。
其实SDP和NIST是类似的,具体对比SDP和NIST可以看到SDP的控制器功能上类似于NIST的PDP,SDP的AH功 能上类似于NIST的PEP。
2.1 SDP架构
SDP架构主要包括三大组件:
- SDP控制器(SDP Controler):SDP控制器确定哪些SDP主机可以通信。SDP控制器可以将信息中继到外部验证服务,如验证地理位置或身份服务器等。
- SDP连接发起主机(IH,Initial host):SDP连接发起主机与SDP控制器通信,以请求它们可以连接的SDP连接接受主机列表。在提供信息前,SDP控制器可以向SDP连接发起主机请求硬件或软件清单等信息
- SDP连接接受主机(AH,Accept host):SDP连接接受主机默认拒绝来自除SDP控制器之外的所有主机的所有通信。只有在收到SDP控制器的指示后,SDP连接接受主机才接受来自SDP连接发起主机的连接。
2.2. NIST零信任架构
NIST划分了一些具体的角色:
策略引擎(Policy Engine, PE)
实现零信任架构的“大脑”,最终评估资源访问请求的组件。依赖于来自各数据源的信息输入,如访问日志、威胁情报、设备安全状况和网络ID认证检查等。
策略管理器(Policy Administrator, PA)
策略引擎的执行者。策略管理器的作用是在数据平面上建立、维护并最终终止会话。策略管理器、策略引擎和策略执行点在逻辑或物理层面上独立的通道上相互通信,该通道被称为控制平面。控制平面用于建立和配置数据平面,数据平面是用于发送应用流量的通道。
策略执行点(Policy Enforcement Point, PEP)
应用程序、设备等与之交互,并被授予对资源的访问权限的组件。策略执行点负责收集策略引擎所需要的信息,并按照策略管理器所发布的策略指示,建立和终止通信会话。所有数据平面上的通信,即企业资源之间的所有工作流应用流量,都必须通过至少一个策略执行点。
3. 零信任的一种实现方案
- 用户通过零信任终端Agent进行设备注册和授权;
- 终端Agent进行安全基线加固,以及上传终端设备安全状态;
- 用户通过零信任终端Agent的hook方式、虚拟网卡、网络过滤驱动方式,将对资源发起访问请求转发到流量代理网关上;涉及到的需要转发的流量检查,同时兼容具体的业务进程发起的访问,对业务进程进行白名单安全性检查。
- 流量代理网关通过安全控制中心,进行认证和鉴权。
- 流量代理网关由于是四层流量代理,因此不易实现精细化的权限控制。例如针对垂直的应用流量(比如web),需要额外用垂直的WEB流量网关,基于HTTP协议层做对应更加细化的访问控制。
参考
NIST《零信任架构规划》白皮书翻译与解读 (附下载): https://www.secrss.com/articles/33361
SDP架构指南:https://www.c-csa.cn/research/results-detail/i-14/