至2014年,云安全联盟CSA发布《软件定义边界(SDP)标准规范V1.0》以来,国内零信任安全厂商,无论传统老牌厂商奇安信、深信服、安恒信息、绿盟、天融信、吉大正云、数字认证等,还是新兴企业云深互联、竹云、蔷薇灵动、亿格云、易安联等,整体的解决方案基本都均是按照SDP的模式进行设计和部署,只是最核心的控制中心对象有所差异,例如有的以IAM作为控制中心重点改造(也就是NIST SP800零信任架构中的PDP策略决策节点),有的干脆直接全新设计PDP控制中心节点,有得则重点围绕云环境中(东西向流量)以MSG为中心构建零信任体系。在整个逻辑架构上本质上没有太大的区别。零信任建设不是一蹴而就的,在真实的客户环境中,我们建设一定要有侧重点,例如先重点建设端的零信任能力(优选SDP架构)、或者身份认证零信任能力(优选IAM架构)、或者东西向流量的零信任能力(优选MSG架构)等,然后逐步演进,最终搭建成为符合企业业务发展需求的零信任体系。(零信任的基础知识,请参考作者另一篇文章《超详细分享 | 你真的懂零信任么?》)
2021年,时隔7年,云安全联盟CSA终于发布了《软件定义边界(SDP)标准规范2.0》,本次更新我认为是对1.0的补充,增加了组件加载流程、保护NPE(非人类实体,例如设备、服务、网络、应用等)、SPA单报授权机制的优化等内容,本文结合实际经验,对零信任SDP的架构谈谈自己的理解。
1、SDP设计原则
1)可以动态的“软件”定义边界。也比较好理解,过去就是基于物理位置部署边界,现在无论业务在哪里,我的“边界”就可以动态的部署在哪里,而实现形式上,可以是硬网关、软件网关甚至直接在业务系统上部署agent都可以实现。
2)隐藏网络和资源。隐藏资源比较好理解,因为业务资源全部在代理网关后端,所以服务、资源对外是不可见的,这个隐藏网络是指代理网关IP也不是对外公开的,只有设备/用户通过认证授权以后,通过代理控制器(SDP控制中心)下发的服务列表,才可以获取到需要建立连接的代理网关IP地址,所以对于黑客,网络也是隐藏的。
3)防止非授权访问企业业务。
4)实施以身份为中心的访问控制策略。所有的业务访问(会话),只要建立连接都需要进行身份认证,并且持续验证用户身份/设备的合法性和安全性,动态的进行访问控制。这也是零信任实现最核心的地方。
2、SDP的架构和组件
SDP的架构在《软件定义边界(SDP)标准规范V2.0》中做了更加细致的描述,以及将内容做了扩展,更加符合真实的业务情况,具体架构如下图所示:
1)SDP控制器组件:
该组件对标的就是NIST提出的零信任架构中的PDP(策略决策点),他的核心能力可以定义为三个:ACL访问策略中心、身份验证中心和决策中心。它定义了什么用户(用户组)可以访问哪些代理网关和应用,当然ACL的策略中心可以直接SDP控制中心来做,或者和外边的策略服务器对接都可以;身份验证中心,就是来验证用户/设备的合法性,例如是否携带SPA种子、是否有有效的设备证书,用户输入的身份信息是否正确等,当然很多客户网络中存在LDAP、Radius、AD域等第三方认证方式进行认证,SDP控制中心只需要和这些第三方服务器网络可达即可。最后一个是决策中心,也是实现动态管控的核心能力,它要收集各方面的数据(终端数据、网络数据、应用数据、安全日志等)然后经过决策信任引擎的判断,要给SDP网关下达指令(允许通过?阻断?二次认证?降低访问权限?等等),当然对每一个会话的信任判断是持续的动态的,一但发现威胁,直接将风险降低到最低。
2)SDP的发起主机(IH)组件
发起主机我们常见的应该就是SDP客户端了(也就是各个安全厂商的零信任客户端)还有一种是web浏览器。目前国内零信任厂商基本都是基于SDP客户端的,因为它可以实现更多的复杂能力,例如环境感知、终端准入、终端杀毒等,最终走向多端合一的架构。而浏览器模式,就是把敲门操作让浏览器执行,虽然少了客