软件定义边界(SDP),也被称为“黑云(Black Cloud)”,是一种新的计算机安全方法,它是由2007年左右DISA在全球信息网格(GIG)网络倡议下所做的工作内容演变而来,后来被云安全联盟(Cloud security Alliance)采纳并用于联盟成员。
SDP要求在获得对受保护服务器的网络访问之前,先对端点进行身份验证和授权。然后,在请求系统和应用程序基础设施之间实时创建加密连接。SDP将用户的数据和基础设施等关键IT资产隐藏在用户自己的黑云里,无论这些资产位于公有云或者私有云,位于DMZ区或者数据中心,使得这些关键IT资产对外是不可见的。
SDP对外提供零可见性和零连接,只有在端点证明他们可以被信任之后才可以建立连接,允许合法流量通过,这种方法基本上可以预防所有基于网络的攻击。
软件定义边界(SDP)基于策略创建安全边界,用于将服务与不安全的网络隔离开。它的设计目的是提供按需、动态的气隙网络(安全隔离网络),在授权之前首先对用户和设备进行身份验证,以便于安全连接到被隔离的服务。未经授权的用户和设备无法连接到受保护的资源。SDP广泛使用加密,包括用于组件间通信的mutual TLS,以及SPA授权数据包内的HMAC,SDP被设计用来抵御基于网络的攻击。
SDP包括三个主要部分:
- SDP客户端(例如,笔记本电脑)
- SDP控制器,用于认证和授权SDP客户端,配置到SDP网关的连接
- SDP网关,终结SDP客户端访问流量,与SDP控制器通信并强制执行策略
SDP架构包括5个安全保护组件:
- 单数据包授权
- mutual TLS
- 设备校验
- 动态防火墙
- 应用绑定,用户仅被授权访问应用层的指定应用,不能访问一个广泛的网段或者一系列端口集合
SDP基于已经被业界证明的标准组件构建,包括mutual TLS, SAML以及X.509 证书。
SDP的主要特征是认证设备、认证和授权用户以访问动态配置的服务。对于mutual TLS,客户端和服务器之间要相互交换证书,这比传统的SSL访问更安全, 很多已经实现SSL访问的网站,比如电商平台,通常只是由客户端验证服务器端证书,而服务器端通常不验证客户端证书,仅实现了单向认证。要求所有客户端拥有数字证书将大大提高用户访问成本。
SDP被设计用来提供5个层面的安全,包括:
- 认证和校验设备
- 认证和授权用户
- 确保双向加密通信
- 动态配置连接
- 控制连接服务的同时对外隐藏服务
SDP要求端点在对被保护的服务器进行网络访问前首先进行认证和授权,然后,在端点和应用基础设施之间建立起实时的加密连接访问通路。SDP可以是本地的,也可以基于云服务。