软件定义的边界SDP

SDP简介

发生变化的边界模型

传统企业网络架构通过建立一个固定的边界使内部网络与外部世界分离,这个边界包含一系列的防火墙策略来阻止外部用户的进入,但是允许内部用户对外的访问。由于*了外部对于内部应用和设施的可见性和可访问性,传统的固定边界确保了内部服务对于外部威胁的安全。然而,传统的边界模型正在迅速变得过时,原因有两个:

  1. 黑客可以轻松劫持边界内的设备(例如通过网络钓鱼攻击)并从内部攻击企业应用。此外, 由于自带设备(BYOD)、外包工作人员和合作伙伴的存在,边界内部设备增多,导致漏洞不断增加;
  2. 除了传统数据中心,企业正在不断采用外部云计算资源,如 PaaS,IaaS 和 SaaS。因此,边界安全网络设备在拓扑上并不能很好地保护企业应用基础设施;

由于以上问题,我们需要一种新的安全模型,这个模型可以理解上下文信息,如用户位置,用户使用什么设备来建立连接的,何时建立连接的,以及用户的角色。使应用程序所有者能够保护公共云或私有云中的基础架 构,数据中心中的服务器,甚至保护应用程序服务器内部。

SDP的概念

软件定义的边界(SDP Software Defined Perimeter),也被Gartner称作零信任网络访问(ZTNA)。是2007年提出的,由云安全联盟(CSA)开发的一种安全框架,它根据身份控制对资源的访问。该框架基于美国国防部的“need to know”模型——每个终端在连接服务器前必须进行验证,确保每台设备都是被允许接入的。其核心思想是通过SDP架构隐藏核心网络资产与设施,使之不直接暴露在互联网下,使得网络资产与设施免受外来安全威胁。
在SDP架构中,服务器没有对外暴露的DNS或者IP地址,只有通过授权的SDP客户端才能使用专有的协议进行连接。

SDP架构

SDP 的体系结构由两部分组成:SDP 主机和 SDP 控制器。SDP 主机可以发起连接或接受连接。这些操作通过安全控制通道与 SDP 控制器交互来管理。 因此,在 SDP 中,控制平面与数据平面分离以实现完全可扩展的系统。
SDP控制器:SDP 控制器确定哪些 SDP 主机可以相互通信。SDP 控制器可以将信息中继到外部认证服务,例 如认证,地理位置和/或身份服务器。
SDP 连接发起主机(Initiating Host):SDP 连接发起主机(IH)与 SDP控制器通信以请求它们可以连接的 SDP 连接接受方(AH)列表。在提供任何信息之前,控制器可以从 SDP 连接发起主机请求诸如硬件或软件清单之类的信息。
SDP 连接接受主机(Accpeting Host):默认情况下,SDP连接接受主机(AH)拒绝来自SDP控制器以外的所有主机的所有通信。 只有在控制器指示后,SDP 连接接受主机才接受来自 SDP 连接发起主机的连接。

SDP工作流

  1. 一个或多个SDP 控制器服务上线并连接至适当的可选认证和授权服务(例如,PKI 颁发证书 认证服务、设备验证、地理定位、SAML、OpenID、Oauth、LDAP、Kerberos、多因子身份验证等服务);
  2. 一个或多个 SDP 连接接受主机(AH)上线,这些主机连接到控制器并由其进行身份验证。 但是,他们不会应答来自任何其他主机的通信,也不会响应非预分配的请求;
  3. 每个上线的 SDP 连接发起主机(IH)都与 SDP 控制器连接并进行身份验证;
  4. 在验证 SDP 连接发起主机(IH)之后,SDP 控制器确定可授权给 SDP 连接发起主机(IH)与之通信的 SDP 连接接受主机(AH)列表;
  5. SDP 控制器通知 SDP 连接接受主机(AH)接受来自 SDP 连接发起主机(IH)的通信以及加 密通信所需的所有可选安全策略;
  6. SDP 控制器向 SDP 连接发起主机(IH)发送可接受连接的 SDP 连接接主机(AH)列表以及可选安全策略;
  7. SDP 连接发起主机(IH)向每个可接受连接的 SDP 连接接受主机(AH)发起单包授权,并创建与这些 SDP 连接接受主机(AH)的双向 TLS 连接;

软件定义的边界SDP

SDP部署模式

客户端—网关模型

在客户端—网关的实施模型中,一个或多个服务器在 SDP 连接接受主机(AH)后面受到保护, 这样,SDP 连接接受主机(AH)就充当客户端和受保护服务器之间的网关。此实施模型可以在企业网络内执行,以减轻常见的横向移动攻击,如服务器扫描、操作系统和应用程序漏洞攻击、中间人攻击、传递散列和许多其他攻击。或者,它可以在 Internet 上实施,将受保护的服务器与未经 授权的用户隔离开来,并减轻诸如拒绝服务(DoS)、SQL 注入、操作系统和应用程序漏洞攻击、 中间人攻击、跨站点脚本(XSS)、跨站点请求伪造(CSRF)等攻击。

客户端—服务器模型

客户机到服务器的实施在功能和优势上与上面讨论的客户机到网关的实施相似。然而,在这种情况下,受保护的服务器将运行可接受连接主机(AH)的软件,而不是位于运行该软件的服务器前面的网关。客户机到网关实施和客户机到服务器实施之间的选择通常基于受保护的服务器数量、负载平衡方法、服务器的弹性以及其他类似的拓扑因素。

服务器—服务器模型

在服务器到服务器的实施模型中,可以保护提供代表性状态传输(REST)服务、简单对象访问协议(SOAP)服务、远程过程调用(RPC)或 Internet 上任何类型的应用程序编程接口(API) 的服务器,使其免受网络上所有未经授权的主机的攻击。例如,对于 REST 服务,启动 REST 调用的服务器将是 SDP 连接发起主机(IH),提供 REST 服务的服务器将是可以接受连接的主机(AH)。为这个用例实施一个软件定义边界可以显著地减少这些服务的负载,并减轻许多类似于上面提到 的攻击。这个概念可以用于任何服务器到服务器的通信。

客户端—服务器—客户端模型

客户端到服务器到客户端的实施在两个客户端之间产生对等关系,可以用于IP电话、聊天和视频会议等应用程序。在这些情况下,软件定义边界会混淆连接客户端的 IP 地址。作为一个微小的变化,如果用户也希望隐藏应用服务器,那么用户可以有一个客户端到客户端的配置。

SDP应用场景

企业应用隔离

对于企业网络内部,攻击者可能通过入侵网络中的一台计算机进入内部网络,然后横向移动获得高价值信息资 产的访问权限。 在这种情况下,企业可以在其数据中心内部署 SDP,以便将高价值应用程序与数 据中心中的其他应用程序隔离开来,并将它们与整个网络中的未授权用户隔离开来。 未经授权的用户将无法检测到受保护的应用程序,这将减轻这些攻击所依赖的横向移动。

私有云和混合云

SDP 的软件覆盖特性使其可以轻松集成到私有云中,以利用此类环境的灵活性和弹性。 此外,企业可以使用 SDP 隔离隐藏和保护其公共云实例,或者作为包含私有云和公共云实例和/或跨云集群的统一系统。

软件即服务(SaaS)

软件即服务(SaaS)供应商可以使用 SDP 架构来保护他们提供的服务。在这种应用场景下,SaaS 服务是一个SDP连接接受主机(AH),而所有连接服务的终端用户就是 SDP 连接发起主机(IH)。这样使得 SaaS 产商可以通过互联网将其服务提供给全球用户的同时不再为安全问题担忧。

基础设施即服务(IaaS)

基础设施即服务(IaaS)供应商可以为其客户提供 SDP 即服务作为受保护的入口。 这使他们 的客户可以充分利用 IaaS 的灵活性和性价比,同时减少各种潜在的攻击。

平台即服务(PaaS)

平台即服务(PaaS)供应商可以通过将 SDP 架构作为其服务的一部分来实现差异化。 这为最 终用户提供了一种嵌入式安全服务,可以缓解基于网络的攻击。

基于云的虚拟桌面基础架构(VDI)

虚拟桌面基础架构(VDI)可以部署在弹性云中,这样 VDI 的使用按小时支付。 然而,如果 VDI 用户需要访问公司网络内的服务器,VDI 可能难以使用,并且可能会产生安全漏洞。 但是, VDI 与 SDP 相结合,可通过更简单的用户交互和细粒度访问解决了这两个问题。

物联网(IoT)

大量的新设备正在连接到互联网上。管理这些设备或从这些设备中提取信息抑或两者兼有的 后端应用程序的任务很关键,因为要充当私有或敏感数据的保管人。软件定义边界可用于隐藏这些服务器及其在 Internet 上的交互,以最大限度地提高安全性和正常运行时间。

SDP和VPN之间的区别

目前,虚拟专用网络(VPN)是很多公司远程访问的解决方案之一。但是,VPN用户一旦获得授权就可以广泛访问公司网络上的资源。这种广泛访问的方法使潜在的敏感资源和信息暴露给VPN用户和攻击者。因此,围绕软件定义的边界解决方案(SDP)成为安全远程访问的一个更具吸引力的替代方案。
传统的VPN具有过度信任、访问广泛、复杂等问题。首先传统VPN遵循以网站为中心的拓扑结构,具有广泛的信任度。其次在传统的VPN网络访问中,一旦用户登陆了VLAN,他们的主机就可以广播地址解析协议(ARP),以检查是否有其他东西连接到这个网段。由于地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这最终会创建一个相当大的攻击界面,供黑客使用。最后,在企业迁移到云时,VPN管理变得复杂。IT管理员必须在不同的地理位置配置和协调VPN、防火墙策略。这反过来又很难拦截未经授权的访问。

SDP和VPN之间的差异概述如下:

  • 与受 VPN 网关保护的服务器相比,创建受 SDP 保护的服务器需要不同的工作量。在 SDP 情况 下,一旦 SDP 控制器上线,用户可以通过软件设置,根据需要创建尽可能多的受保护服务器, 并且可以通过 LDAP 关联区分授权用户和未授权用户。
  • 与 SDP 相比,设置 VPN 网关以保护单个服务器的资本和运营成本更高。 SDP 是可以部署在云环境中的软件架构。
  • SDP 可以同时用于安全和远程访问,而 VPN 网关则不能。如果要尝试在企业内使用 VPN 客户端和 VPN 网关来保护某个服务器,则用户无法使用远程访问 VPN 来访问服务器(因为 VPN 客户端已连接到远程访问 VPN 网关)然而 SDP 通信则可以在远程访问 VPN 之上进行。
  • SDP 可防止 DDoS 攻击,而 VPN 网关则不会。 SDP 连接接受方可以部署在与其保护的应用服务器不同的拓扑不同的位置,甚至从而对授权用户隐藏真实位置

软件定义的边界SDP

SDP和SDN之间的关系

SDP被设计为与软件定义网络(SDN)高度互补。SDP是为了预防网络攻击而实施的SDN。
SDP是一个安全控制框架,在授予对应用程序基础结构的访问权限之前,设备和身份是经过验证的。因此,虽然SDN是建立动态网络基础设施的概念,让用户能够以尽可能多的吞吐量快速有效地进行点对点连接,但SDP遍历多个OSI层,使用经过审查的安全模型将应用程序和用户与可信网络联系起来。二者高度互补,对于未来的云技术来说,它们显然比传统的IT系统更安全。

SDP潜在的挑战

尽管SDP给出了零信任条件下、满足现代企业数据保护需求的访问控制模型,但从框架到落地实现还涉及到许多技术问题及资源整合;同时,即使在此完成基础上,SDP自身仍有一些能力缺陷。

  1. SDP方法的最大挑战之一是带外控制器,当初始认证请求完成后,认证的信息不会停留在实际的数据路径中。假设一个用户连接到企业应用程序的场景,在通过SDP控制器进行初始认证和授权之后,客户端或IH将根据策略和端口号通过SDP网关建立一个带有应用程序服务的隧道。如果同一用户感染了恶意软件,它可以很容易地通过开放端口传播到其他应用程序。
  2. 无论是物理的还是逻辑的安全域总是有既定边界,而对于某些开放业务、包括一些实际需求往往不得不违背信息流安全策略,即高安全域内的敏感数据需要流向低安全域,这是SDP本身无法解决的。例如,假设存在内、外两个不同等级的安全域:银行向监管机构上报数据相当于从内网流向外网;供应链上下游厂家给平台提交数据也是从内部流向外部。其实无论是组织内外都大量存在类似的案例。因此,即使有安全边界但所谓泄漏通道在现实场景中也是必须考虑的。
  3. SDP面临的另一类挑战是难以解决横向攻击。理论上,SDP通过隐藏网络资源,侧重规划安全策略的实施空间和范围,减小攻击面,但没有落地安全策略的实施机制。因此,无论是某个终端还是服务器第一时间被攻破后,攻击很可能转移至其它设备或应用,即横向攻击。

商业解决方案

目前市场中有很多商业和开源解决方案提供SDP功能。Vidder和CryptZone有推向市场的SDP解决方案。一些网络软件产品中也提供SDP中的关键元素,例如Cisco ACI(以及类似的开源项目),VMware NSX,Nuage VSP。谷歌已经发布了BeyondCorp来分享这些概念。Cisco,HPE,Juniper提供的NAC解决方案也提供类似SDP的解决方案。Verizon Enterprise等服务提供商已开始接受这些概念。软件定义边界的概念被许多安全或网络设备供应商采用。
Vidder公司较出名的SDP解决方案是PrecisionAccess
Cryptzone的AppGate
Zscaler Private Access
Google的BeyondCorp
Pulse Secure

上一篇:超详细零信任市场解读


下一篇:VMware16Pro中安装的MacOS11.13禁用系统完整性保护(rootless)