信息安全-零信任-SDP技术概论及落地模型

前言

在2007年左右美国国防信息系统局“全球信息网格黑核网络”倡议提出了一种新的计算机安全方法,后经过演变并结合了美国中央情报局情报社区的网络设计方案最终形成了一个创新的加密安全解决方案------SDP(Software Defined Perimeter)软件定义边界。后来SDP被云安全联盟采纳并用于联盟成员,并于2015年被Google公司落地成BeyondCorp项目。

一、什么是SDP?

要探讨一个事物,那必须是在对其有所了解的基础上。那么究竟什么是SDP呢?SDP的中文名是软件定义边界。这就会涉及到一个问题:为什么要重新定义边界?众所周知,传统网络是分层架构,边界的定义十分明显,因此通过边界我们很容易区分了外网和内网。但随着传统网络架构不断被打破,云计算、VPN等技术使得传统网络的边界失效,因此我们在重新构建网络架构的过程中需要对边界这一概念重新定义。

言归正传,SDP(软件定义边界)也被称为“黑云”(Black Cloud)是基于策略创建安全边界,用于将服务与不安全的网络隔离开。SDP要求在获得对受保护服务器的网络访问之前,先对端点进行身份验证和授权。然后,在请求系统和应用程序基础设施之间实时创建加密连接。SDP将用户的数据和基础设施等关键IT资产隐藏在用户自己的黑云里,无论这些资产位于公有云或者私有云,位于DMZ区或者数据中心,使得这些关键IT资产对外是不可见的。因为如果黑客无法知道目标在何方,那么攻击将无法进行。

SDP对外提供零可见性和零连接,只有在端点证明他们可以被信任之后才可以建立连接,允许合法流量通过,使用这种方法基本上可以预防所有基于网络的攻击。

二、为什么需要SDP?

SDP的安全模型融合了设备身份验证、基于身份的访问和动态配置连接三大组件,为了阻止大部分类型的网络攻击,类似像DDos攻击、中间人攻击、服务器查询、OWASP、ATP等。SDP要求用户拿出多种身份验证信息,比如时间、位置、终端情况等等,用以证实该用户的身份,或者验证用户能否被信任。

SDP还能够脚本化,以便能够检查除设备信息之外的更多情况。SDP能够收集并分析其他数据源,以提供上下文,帮助进行用户授权动作。这能确保在合法用户试图访问新设备或不同设备上资源的时候,有足够的信息可供验证用户并授权访问。

一旦用户可被验证,我们就可以确信用户是谁(可能是骗子或狗狗),SDP在用户和所请求的资源间创建一条安全的加密隧道,保护二者之间的通信。而且,网络的其他部分则被设为不可见。通过隐藏网络资源,SDP可减小攻击界面,并清除用户扫描网络和在网络中横向移动的可能性。

三、SDP逻辑架构

SDP包括三个主要部分:SDP客户端、SDP控制器、SDP网关。以及五个安全保护组件:单数据包授权、Mutual TLS、设备校验、动态防火墙、应用绑定。详细结构如下图:

DP控制器是SDP的大脑,主要进行主机认证和策略下发,还可以用于认证和授权SDP客户端、配置到SDP网关的连接。也就是说,SDP控制器可以给访问者与被访问的资源之间搭建一条动态细粒度的“访问隧道”。一提到访问隧道,其标志性人物就是VPN技术,VPN技术发展至今已经成为十分成熟的远程访问技术了,但纵然如此也是存在两点缺陷:① VPN提供的访问控制是十分粗粒度的,要么全都可以访问,要么都不能访问。② VPN只是一种远程控制技术,并不会帮助保护内部用户。

SDP控制器建立的访问规则只对被授权的用户和服务开放,密钥和策略也是动态和仅供单次使用的。通过这种类似“白名单”的访问控制形式,网络中未被授权的陌生访问在TCP链接建立阶段就是完全被屏蔽和拒绝的,这种“临时并单一”的访问控制方式,将私有云资源对非法用户完全屏蔽,极大减少了网络的被攻击面。

四、SDP工作方式

  •   将所有服务置于“拒绝所有”的SDP网关后方

  •   打开防火墙建立连接之前先认证设备上的用户

  •   使用动态防火墙机制,当DDos攻击发生时允许SDP尽可能快的丢弃攻击数据包

  •   SDP通过使目标服务器对未授权设备不可见来预防攻击

以上四点是对SDP工作流程的核心概述,SDP要求端点在对被保护的服务器进行网络访问前首先进行认证和授权,然后,在端点和应用基础设施之间建立起实时的加密连接访问通路。具体的工作流如下:

客户端在进行数据访问前,首先要通过控制平面和SDP控制器、应用服务器建立认证、授权通道,在认证通过并获得访问授权后,SDP控制器确定一个客户端可以被授权通信的主机列表,然后客户端才能在数据平面建立起与应用服务器之间的数据访问通道,允许正常访问的流量通过,因此这种访问控制模型天然具备抵御资源消耗性攻击(DDos)的特征。

通过将资源隐藏在SDP网关后面,所有希望发起访问的用户都要提供唯一ID、客户端证书和加密密钥,然后通过认证才能正常访问,理论上这是一种防御DDos攻击的有效手段,但对于以提供公共服务为主的用户来说,实现起来是有难度的,例如给所有公网用户发证书并不现实,实现成本将会非常高。

五、SDP部署方式

虽然所有SDP实施方案都保持相同的工作流,但是针对不同的应用场景会有不同的实现方式。云安全联盟列出了以下四种SDP部署方式:

  •   客户端-网关方式

  •   客户端-服务器方式

  •   服务器-服务器方式

  •   客户端-服务器-客户端方式

1.客户端-网关模型

在客户端-网关模型中,敏感资源在SDP连接接受主机(AH),也就是SDP服务端后面受到保护,这样AH就充当客户端和受保护服务器之间的网关。此模型可以在企业网络内执行,以减轻常见的横向移动攻击,中间人攻击等。或者此模型放置在Internet上时,资源与未授权的用户就被AH当作网关隔离开了,使得资源对未授权用户不可见,以减轻DDos攻击、SQL注入、XSS攻击、CSRF攻击等等。

2.客户端-服务器模型

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

3.服务器-服务器模型

在服务器到服务器的实施模型中,可以保护提供代表性状态传输(REST: Representational State Transfer)服务、简单对象访问协议(SOAP)服务、远程过程调用(RPC)或 Internet 上任何类型的应用程序编程接口(API)的服务器,使其免受网络上所有未经授权的主机的攻击。例如,对于 REST 服务,启动 REST 调用的服务器将是 SDP 连接发起主机(IH),提供 REST 服务的服务器将是可以接受连接的主机(AH)。

为这个用例实施一个软件定义边界可以显著地减少这些服务的负载,并减轻许多类似于上面提到的攻击。这个概念可以用于任何服务器到服务器的通信。

4.客户端-服务器-客户端模型

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

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码者人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值