零信任安全和软件定义边界

01. 零信任安全(zero trust security)

零信任安全是一种IT安全模型。零信任安全要求对所有位于网络外部或网络内部的人和设备,在访问专用网络资源时,必须进行严格的身份验证。零信任安全需要通过多种网络安全技术实现。

零信任安全技术特性包括:

  • 零信任网络背后的理念是假设网络内部和外部都存在攻击者,因此不应自动信任任何用户或计算机。

  • 零信任安全性的另一个原则是最小特权访问。即只向用户提供所需的访问权限,从而可以最大程度地减少每个用户可以访问的网络敏感资源。

  • 零信任网络使用了微分段概念。微分段是一种将安全边界划分为小区域的做法,以维护对网络各个部分的单独访问。例如,使用微分段的文件位于单个数据中心的网络可能包含数十个单独的安全区域。未经单独授权,有权访问这些区域之一的个人或程序将无法访问任何其他区域。

  • 零信任安全强化了多因素身份验证(MFA)的使用,用户需要使用多个证据来进行身份验证,仅输入密码不足以获取访问权限。

除了对用户进行访问控制之外,零信任还要求对用户所使用的设备进行严格的控制。零信任系统需要监视有多少种不同的设备正在尝试访问其网络,并确保每台设备都得到授权。这进一步最小化了网络的攻击面。

02.软件定义边界(software-defined perimeter)

SDP是实现零信任安全性的一种方法。用户和设备都必须经过验证才能连接,并且仅具有所需的最小网络访问权限。
SDP 旨在使应用程序所有者能够在需要时部署安全边界,以便将服务与不安全的网络隔离开来。SDP 将物理设备替换为在应用程序所有者控制下运行的逻辑组件。SDP 仅在设备验证和身份验证后才允许访问企业应用基础架构。
SDP去除了需要远程访问网关设备的缺点。在获得对受保护服务器的网络访问之前,SDP 要求发起方进行身份验证并首先获得授权。然后,在请求系统和应用程序基础架构之间实时创建加密连接。

03.SDP架构

零信任安全和软件定义边界

  • SDP控制器确定哪些SDP主机可以相互通信。SDP控制器可以将信息中继到外部认证服务。
  • SDP连接发起主机(IH)与SDP控制器通信以请求它们可以连接的SDP连接接受方(AH)列表。在提供任何信息之前,控制器可以从SDP连接发起主机请求诸如硬件或软件清单之类的信息。
  • 默认情况下,SDP连接接受主机(AH)拒绝来自SDP控制器以外的所有主机的所有通信。只有在控制器指示后,SDP连接接受主机才接受来自SDP连接发起主机的连接。

04.SDP访问过程

零信任安全和软件定义边界

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

05.SDP部署方式

5.1 客户端-网关模型
在客户端—网关的实施模型中,一个或多个服务器在 SDP 连接接受主机(AH)后面受到保护。这样,SDP 连接接受主机(AH)就充当客户端和受保护服务器之间的网关。此实施模型可以在企业网络内执行,以减轻常见的横向移动攻击,如服务器扫描、操作系统和应用程序漏洞攻击、中间人攻击、传递散列和许多其他攻击。或者,它可以在Internet上实施,将受保护的服务器与未经授权的用户隔离开来,并减轻诸如拒绝服务(DoS)、SQL 注入、操作系统和应用程序漏洞攻击、中间人攻击、跨站点脚本(XSS)、跨站点请求伪造(CSRF)等攻击。
5.2 客户端-服务器模型
客户机到服务器的实施在功能和优势上与上面讨论的客户机到网关的实施相似。然而,在这种情况下,受保护的服务器将运行可接受连接主机(AH)的软件。客户机到网关实施和客户机到服务器实施之间的选择通常基于受保护的服务器数量、负载平衡方法、服务器的弹性以及其他类似的拓扑因素。
5.3 服务器-服务器模型
在服务器到服务器的实施模型中,可以保护提供代表性状态传输(REST)服务、简单对象访问协议(SOAP)服务、远程过程调用(RPC)或 Internet 上任何类型的应用程序编程接口(API)的服务器,使其免受网络上所有未经授权的主机的攻击。例如,对于 REST 服务,启动 REST 调用的服务器将是 SDP 连接发起主机(IH),提供 REST 服务的服务器将是可以接受连接的主机(AH)。为这个用例实施一个软件定义边界可以显著地减少这些服务的负载,并减轻许多类似于上面提到的攻击。这个概念可以用于任何服务器到服务器的通信。
5.4 客户端-服务器-客户端模型
客户端到服务器到客户端的实施在两个客户端之间产生对等关系,可以用于 IP 电话、聊天和视频会议等应用程序。在这些情况下,软件定义边界会混淆连接客户端的 IP 地址。作为一个微小的变化,如果用户也希望隐藏应用服务器,那么用户可以有一个客户端到客户端的配置。

06.SDP应用场景

6.1 企业应用隔离
对于涉及知识产权,财务信息,人力资源数据以及仅在企业网络内可用的其他数据集的数据泄露,攻击者可能通过入侵网络中的一台计算机进入内部网络,然后横向移动获得高价值信息资产的访问权限。在这种情况下,企业可以在其数据中心内部署 SDP,以便将高价值应用程序与数据中心中的其他应用程序隔离开来,并将它们与整个网络中的未授权用户隔离开来。未经授权的用户将无法检测到受保护的应用程序,这将减轻这些攻击所依赖的横向移动。
6.2 私有云和混合云
除了有助于保护物理机器,SDP 的软件覆盖特性使其可以轻松集成到私有云中,以利用此类环境的灵活性和弹性。此外,企业可以使用 SDP 隔离隐藏和保护其公共云实例,或者作为包含私有云和公共云实例和/或跨云集群的统一系统。
6.3 软件即服务
软件即服务(SaaS)供应商可以使用 SDP 架构来保护他们提供的服务。在这种应用场景下,SaaS 服务是一个 SDP 连接接受主机(AH),而所有连接服务的终端用户就是 SDP 连接发起主机(IH)。这样使得 SaaS 产商可以通过互联网将其服务提供给全球用户的同时不再为安全问题担忧。
6.4 基础设施即服务
基础设施即服务(IaaS)供应商可以为其客户提供 SDP 即服务作为受保护的入口。这使他们的客户可以充分利用 IaaS 的灵活性和性价比,同时减少各种潜在的攻击。
6.5 平台即服务
平台即服务(PaaS)供应商可以通过将 SDP 架构作为其服务的一部分来实现差异化。这为最终用户提供了一种嵌入式安全服务,可以缓解基于网络的攻击。
6.6 基于云的虚拟桌面基础架构
虚拟桌面基础架构(VDI)可以部署在弹性云中,这样 VDI 的使用按小时支付。然而,如果VDI 用户需要访问公司网络内的服务器,VDI 可能难以使用,并且可能会产生安全漏洞。但是,VDI 与 SDP 相结合,可通过更简单的用户交互和细粒度访问解决了这两个问题。
6.7 物联网
大量的新设备正在连接到互联网上。管理这些设备或从这些设备中提取信息抑或两者兼有的后端应用程序的任务很关键,因为要充当私有或敏感数据的保管人。软件定义边界可用于隐藏这些服务器及其在 Internet 上的交互,以最大限度地提高安全性和正常运行时间