1.4.1 国际云安全联盟提出SDP技术架构
2014年,国际云安全联盟(CSA)的SDP工作组发布了《SDP标准规范》。软件定义边界是相对于传统的以物理边界为中心的网络安全模式来说的。SDP主张在每个用户的设备上都安装客户端软件,进行身份校验,只有通过验证的用户才能访问企业资源。这样就构建了一个软件的、虚拟的安全边界。这种理念与零信任理念是非常相似的。
由于SDP的架构非常简单可靠,国内外很多安全厂商都在推出基于SDP架构的零信任产品。可以说SDP是目前最好的实现零信任理念的技术架构之一。
1.为什么说SDP架构好
第一,SDP系出名门。CSA的SDP工作组的组长是原美国中央情报局(CIA)的CTO——Bob Flores。没错,就是电影里常常见到的那个特工组织CIA。Bob Flores把CIA、美国国防部(DoD)、美国国家安全局(NSA)里面的很多实用技术拿出来,放到了SDP架构里。所以如果你去翻看SDP的白皮书原文,那么可以看到很多地方写到,SDP中的这部分技术源自DoD的某某技术,是经过NSA验证的。
第二,SDP 不是纸上谈兵,自诞生之初,就经历重重考验。在 SDP 技术推出之后,CSA曾经组织过4次黑客大赛来检验SDP的可靠性。来自100多个国家的黑客一共发起过几百亿次攻击,却没有一个人能攻破SDP的防御。比赛的具体过程会在5.2节详细介绍。
2.SDP架构
SDP架构有3个组件,如图1-8所示。
SDP客户端:负责在用户登录时,感知设备安全状态,将用户的业务访问请求转发到SDP网关。
SDP网关:负责执行访问控制策略,只允许合法用户经过网关,访问业务系统。
SDP管控端:负责验证用户的身份,制定并向SDP网关下发安全策略。
图1-8
SDP架构的整个工作流程如下。
(1)SDP管控端启动。
(2)SDP网关向管控端“报道”,准备接收SDP管控端的控制指令。
(3)用户在SDP客户端上进行登录操作,登录请求被转发到SDP管控端进行验证。
(4)在身份验证成功后,管控端向客户端下发用户有权连接的SDP网关列表,向网关下发校验用户所需的身份和授权信息。在下发信息之前二者不知道对方的存在。
(5)在下发信息后,SDP客户端与SDP网关建立安全加密的数据传输通道(包括SPA端口敲门过程)。用户发起的业务访问请求会被SDP客户端转发至SDP网关。
(6)SDP网关会根据访问请求中包含的用户信息进行身份和权限校验。
(7)校验成功后,SDP网关将访问请求转发到后方的业务系统。此后,用户即可正常访问业务系统。
3.SPA网络隐身
单包授权(Single Packet Authorization,SPA)是SDP的特色技术。在默认情况下,SDP不对外开放端口。只有在客户端通过SPA敲门技术通过身份验证之后,才暂时对其开放端口。具体的隐身技术原理会在4.1节详细介绍。这就像进入一个秘密基地,平时基地的大门是紧闭的,打不开,外面的人也不知道里面有没有人。秘密基地的成员来了之后,看到大门紧闭,就会敲门。敲门的节奏是三长两短,门里面的人听到了暗号,知道是自己人来了,自然就把门打开了。SPA技术就是让客户端向SDP网关发送一个“敲门”的数据包,包里携带用户的身份信息。SDP网关接收之后,不做回应,而是解析包中的身份,如果校验成功,就向该用户的IP开放端口。
4.SDP与VPN的区别
乍一看,SDP与VPN在架构上有几分相似,但其实SDP架构中有很多安全考虑是VPN不具备的。
SPA网络隐身就是VPN不具备的安全技术。有了SPA之后,SDP网关在互联网上是隐身的,黑客完全扫描不到。黑客发现不了,自然就不会发起攻击。在近年来VPN漏洞频发的情况下,SDP的网络隐身能力的价值更加明显。
SDP 架构强调控制面与数据面分离,这与 VPN 有明显区别。从架构图上可以看出,SDP将管控端和网关在逻辑上进行分离,数据的流动与控制指令的流动互不干扰。SDP管控端和SDP网关在专门的控制面网络上进行通信,数据面网络用于业务访问的通信。这么做的好处是,避免黑客攻陷一点就波及整个网络。
另外,管控端分离便于对“多个网关”的场景进行集中管理。例如,企业有两个数据中心,一个在机房,另一个在云端。SDP 可以在每个环境下都部署一个 SDP 网关,然后由一个 SDP管控端进行统一管理。SDP管控端会向客户端下发SDP网关与其业务系统的对应关系。用户在访问这两个环境中的业务系统时不用切换账号,可以直接进行访问。这是VPN做不到的。
5.SDP适用场景
SDP架构需要用户安装客户端,所以SDP对终端的安全控制更强,客户端和网关联动能产生更严密的防护效果。但客户端也限制了SDP的应用场景。一些公开的网站无法用SDP保护。
SDP特别适用于合作伙伴、供应商、第三方人员、分支机构等特定人群访问业务系统的场景。这些系统需要在互联网上开放,以便第三方人员访问。但是又不需要向所有人开放,不会引来黑客攻击。在这种场景下,SDP能保证合法用户正常连接,对未知用户“隐形”。