1 软件定义边界是什么
2013年,软件定义边界(Software-Defined-Perimeter,SDP)被国际云安全联盟 CSA提出,它是一种安全模型,其架构由客户端、管控平台(控制器)、应用网关3个主要组件组成。
其中,SDP
客户端的用途是进行硬件身份,软件身份,生物身份等各种身份验证。SDP管控平台的用途是管理所有的 SDP 客户端,制定安全策略,同时还能对接企业已有的身份管理系统。SDP 网关的用途是验证和过滤所有业务系统的访问。
![4341684_5_8f934c18575628e373c983b5f2b7d9f.png 4341684_5_8f934c18575628e373c983b5f2b7d9f.png](//ziboxinyan.com/FileUpload/ueditor_s/upload/2021-9/18/6376757589852097326038438.png)
2 SDP工作流程
SDP 客户端用 SPA 技术向管控平台发送访问请求。SDP 管控平台验证用户信息,返回授权、网关信息、策略信息 ;同时,SDP
管控平台将用户信息、策略信息发给网关。SDP 客户端用 SPA 技术带着授权向网关发送访问请求。网关检查从 SDP
管控平台获取的安全策略,验证客户端授权,建立双向加密链接。SDP 管控平台会随时监控连接是否符合安全策略,即时调整。
![QQ截图202.png QQ截图202.png](//ziboxinyan.com/FileUpload/ueditor_s/upload/2021-9/18/6376757577592494967919147.png)
3 SDP结构层次
SDP 产品在 TCP/IP 数据通信的各层都进行授权控制,防止非法数据进入,不再惧怕 IP 对外开放,不再惧怕多端口对外开放。
(1)网络层 :网关默认 deny all 一切 IP 访问,只有SDP 客户端经过 SPA 授权后,才会针对客户端开放访问通道 ;此外通过 SDP
独有的私有 DNS 功能,实现域名内部解析,无需将域名暴露在公网,实现 IP 地址网络隐身。
(2)传输层:默认端口 deny all 一些连接请求,通过 SPA 动态端口授权技术,动态授权 SDP
客户端进行端口访问,非法连接无法进入,让开放端口不再是企业的安全隐患,开放再多端口也不怕。
(3)安全传输层 :SDP 客户端与网关之间采用 SSL加密通信技术,防止通信数据被非法人员监听、篡改或破坏。
(4)应用层 :网关对进入的每一个 http 请求进行HMAC 动态验证,防止非法 http 数据以及非授权 http
数据通过,最大化保障企业业务系统安全访问。
4 SDP网络与零信任网络
现有的防御机制并不能解决全部的问题。SDP可以在TCP/ IP与TLS之前执行,减少了威胁参与者将易受攻击的协议作为攻击向量的可能性。符合CSA
SDP第一版规范的软件定义边界实现了零信任,可以阻止常见的DDoS、凭证盗用以及OWASP发布的著名的十大威胁等攻击方法。SDP是已被证明的零信任实践方案,它可以使资产是隐藏不可见的,直到与访问者关联的身份被成功验证并授权。
实际上,“零信任”是位于SDP架构背后的理念。SDP 的基本原则是ABCD:“A不假设任何事( Assume nothing),B不相信任何人(
Believe nobody),C检查所有内容(Check everything),D阻止威胁(Defeat
threats)。”尽管SDP零信任被应用在ISOOSI模型的第3层网络层上,但鉴于常见的架构模式(例如访问混合云服务的应用程序),在将零信任网络部署在尽可能接近域边界的位置时必须小心,要确保最佳的性能并防止不必要的服务延迟。
推荐阅读:
《云安全联盟:软件定义边界架构指南(35页).pdf》
《云安全联盟:软件定义边界(SDP)和零信任(21页).pdf》
《云安全联盟:软件定义边界在IaaS中的应用(47页).pdf》