一、SDP零信任方案组网以及结构组成
在零信任架构中,基于SDP(Software Defined Perimeter)软件定义边界,是零信任架构落地实现的一种重要方式。SDP防护架构,将网络空间的网络元素身份化,基于身份定义访问边界。SDP旨在使应用程序所有者能够根据需要实时部署访问边界,以便将业务和服务与不安全的网络隔离开来。可以说,SDP是在网络边界逐渐模糊和消失的趋势下给业务资源提供的隐身衣,它使网络中的恶意攻击者看不到目标而无法发起攻击。
SDP零信任方案组网如下图所示,主要由SDP客户端、SDP控制器和SDP网关组成:
图 1 SDP零信任方案组网图
(1)SDP客户端:为C/S型客户端应用和B/S型Web应用提供统一的应用访问入口,支持应用级别的访问控制。
(2)SDP控制器:主要包含身份管理、风险引擎、策略管理组件。
1) 身份管理组件:
Ø 对用户、应用、功能、API、物联网设备进行统一身份管理和身份化
Ø 将主动访问业务的用户、应用、物联网设备等设置为主体,被访问的业务、功能、API、物联网设备等设置为客体
Ø 设置主体对客体的访问权限,权限根据主体风险进行动态调整
2) 风险引擎组件:
对终端、用户、应用进行持续可信评估。SDP零信任系统可以根据业务主体、业务客体的风险情况,动态调整主体访问客体的权限。业务主体,主要指访问业务的人、应用、物联网设备等;业务客体,指被访问的业务对象。
3) 策略管理组件
根据主体风险,动态生成最小化权限访问策略,并下发到客户端和SDP网关。
(3)SDP网关
2) 支持web业务的反向代理。
3) 安全隧道:与SDP客户端建立安全隧道,B/S、C/S业务可以走安全隧道。
4) 动态权限访问控制:基于控制器下发最小权限访问策略,可以对业务请求进行基于应用、功能、服务级的访问控制。
5) 服务隐藏:用户在没有验证终端是否可信的情况下,服务不可见。
6) 业务隐藏:只有经过认证的可信用户在使用可信终端时,才可以访问有权访问的业务。
二、SDP组件功能详解
(1)SDP客户端功能:
1) SPA认证(Single Packet Authorization),实现终端可信
2) 多因素认证客户端
3) 终端环境风险评估
4) 加密隧道
5) 多操作系统支持
6) 移动端访问数据不落地
7) Restful API、SDK融合扩展能力
(2)SDP控制器功能:
1) 基于安全大数据对终端、用户、资产进行风险评估
2) 用户管理、组织管理、角色管理
3) 设备管理:设备注册、设备认证、设备与用户的绑定
4) 资产管理:应用、功能、服务、接口的资产管理
5) 用户权限管理
6) 多因素认证管理:认证因子管理、基于多因子灵活组合的认证方法、多因素认证
7) 动态细粒度权限管理:基于应用、功能、服务、接口的细粒度动态权限
8) 动态指令下发:基于用户风险的动态权限变更指令下发、高风险用户指令下发(如强制下线)
9) 终端和用户绑定:指定用户只能使用指定终端;用户和终端建立一对一映射关系
10) 认证因素支持第三方扩展:通过认证因子第三方扩展平台,可以灵活扩展第三方认证因子
11) 单点登录:支持密码代填、Oauth、CAS等单点登录方式
12) SPA认证:未经过SPA认证的非可信终端无法访问控制器,控制器对其服务隐藏
(3)SDP网关功能
1) 服务、应用隐藏:只有通过SPA认证才能开启相应服务
2) 安全隧道:与可信客户端建立安全加密隧道,支持国密加密
3) 动态最小化权限控制:根据策略中心下发的权限策略,实时最小化细粒度权限控制
4) 丰富的流控:支持基于应用、用户、网关、时间段的新建、并发、吞吐流量控制
5) 文件类型/内容的识别、过滤
6) DLP功能
7) IPS、AV防护
8) WAF
9) 日志分析
10) SPA认证:未经过SPA认证的非可信终端无法访问网关,网关服务全部关闭
11) 丰富的工作模式:隧道模式、web代理模式、隧道和web代理共存的混合模式
三、SDP零信任方案支持的访问模式以及处理流程
SDP零信任方案支持三种访问模式,分别为无客户端模式、有客户端模式和混合模式。无客户端模式下终端通过浏览器就可以进行用户认证,认证成功后可以访问WEB代理类型的资源;有客户端模式下终端需要安装客户端,用户通过客户端进行备案和用户认证,认证成功后可以访问隧道类型的资源;混合模式下既支持无客户端模式又支持有客户端模式。下面将逐一介绍这三种模式的处理流程。
(1)无客户端模式业务处理流程
无客户端模式下用户通过终端的浏览器与控制器的认证服务建立HTTPS连接进行用户认证,认证成功后,在浏览器上显示用户可以访问的资源列表。当用户访问资源时,网关作为终端与资源服务器之间的代理服务器进行流量代理和业务转发。用户在无客户端模式下只能访问WEB代理类型的资源(只包括http、https等B/S类型的资源)。
下面介绍无客户端模式下的业务处理流程:
图2 无客户端模式业务流程图
业务处理流程如下
1. 零信任网关向控制器进行注册,注册成功后控制器将资源下发到网关,以便后续网关对用户所访问的资源进行判断,控制器新增资源时会将资源信息同步到网关;
2. 用户终端访问应用或者应用导航页面,如果用户没有token,会弹出认证页面,要求用户进行认证;
3. 用户认证通过后,控制器将应用权限策略下发到终端和SDP应用网关;API权限策略下发到SDP API网关;
4. 用户的业务访问申请到达SDP应用网关,网关根据用户的权限策略对用户业务访问执行访问控制,可以控制到应用、功能级;
5. 如果应用需要访问应用/数据服务,则通过API进行访问,要将用户token携带到API请求中;API请求到达SDP API网关;
6. SDP API网关提取用户token,根据用户token判断用户的API权限,若有权限,则将API请求送到应用/数据服务。
(2)有客户端模式业务处理流程
有客户端模式需要在用户终端安装客户端,用户通过客户端进行备案和用户认证,认证成功后可以访问用户授权的隧道类型的资源(包括B/S、C/S类型的资源),其中用户终端在进行备案和访问资源时都要先进行SPA认证。
下面介绍有客户端模式下的业务处理流程:
图 3 有客户端模式业务流程图
业务处理流程如下:
1. 零信任网关向控制器进行注册,注册成功后控制器将资源下发到网关,以便后续网关对用户所访问的资源进行判断,控制器新增资源时会将资源信息同步到网关;
2. 客户端向控制器进行注册,注册为可信设备;
3. 启动客户端,先进行终端SPA认证,认证通过后再进行用户多因素认证,认证通过后为用户颁发用户令牌,并返回可访问应用权限列表、SDP网关列表;
4. 客户端与SDP网关建立安全隧道,先进行终端SPA认证,认证后再建立安全隧道;
5. 用户的业务访问申请通过安全隧道到达SDP应用网关,SDP应用网关根据用户权限策略,对用户业务访问执行访问控制,可以控制到应用、功能级;
6. 应用需要访问应用/数据服务时,通过API进行访问,要将用户token携带到API请求中,API请求到达SDP API网关;
7. SDP API网关提取用户token,根据用户token判断用户的API权限,若有权限,则将API请求送到应用/数据服务;
8. 风险引擎持续对终端、用户风险进行评估,并将风险评估结果反馈给控制器,控制器根据风险动态的调整权限策略。
(3)混合模式业务处理流程
混合模式支持无客户端模式也支持有客户端模式。可以设置部分业务走web代理模式,部分业务走安全隧道转发模式。上面两种模式的业务流程均有描述,此处不再赘述。
四、身份认证和风险评估功能
零信任的功能主要体现在身份管理、风险管理和策略管理。
其中身份管理包括对用户的身份认证、终端的身份认证、网关的身份认证等;风险管理包括用户风险分析、终端风险分析、安全大数据行为分析、威胁分析、合规管理等;策略管理包括静态策略下发、动态策略下发等。
身份认证和风险评估主要是针对终端和可访问资源来开展的,如下图所示:
图4 风险评估流程图
终端通过客户端向控制器进行用户认证,认证成功后根据环境感知配置策略和态势感知的策略对终端进行环境分析、风险分析、威胁分析和行为分析,比如是否安装杀毒软件、是否有仿间谍软件、防火墙状态、操作系统补丁、是否有风险行为等等。环境感知系统会先根据终端的运行环境进行评分,将评分结果发给态势感知系统,然后由态势感知进行综合风险评估,最后将评估结果发给控制器。控制器根据态势感知返回的评估结果,以及控制器上配置的风险策略对用户进行动态的策略变更,来限制用户可以访问的资源。
五、总结
本文主要介绍了SDP零信任方案的组件以及组件功能、不同模式的用户业务访问流程、身份认证和风险评估的流程等。
随着传统边界安全架构体系不再适用于当前的网络发展,SDP零信任架构开始逐渐显露其在终端安全控制、风险控制和策略管理等方面的优势,期待后续可以在物联网、车联网等应用场景大放异彩。