软件定义边界(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可以是本地的,也可以基于云服务。

SDP同样遵循“需要知道”以及“最小权限”原则,为特定的应用访问授权提供细粒度的基于角色的访问控制。

SDP是零信任的一种网络层实现方式,只有被授权用户通过被授权设备才能访问受保护资源。

软件定义边界(SDP),又可称为零信任网络架构(ZTNA),在应用程序或应用程序集合周围创建基于身份和上下文的逻辑访问边界。应用程序对外隐藏,被限制为只有通过可信代理才能访问 。在允许访问之前,代理将验证指定参与者的身份、上下文和策略遵守情况。这将应用程序资产从公共视野中删除,显著减少了攻击面。

从下图可以看出,SDP网络中的几种角色:

  • initiating SDP Host,即SDP客户端
  • SDP Controller,SDP控制器
  • accepting SDP Host,即应用服务器

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

(图2-1 SDP访问控制模型)

CSA的介绍里提到可以用SDP来抵御DDoS攻击,通过将资源隐藏在SDP网关后面,所有希望发起访问的用户都要提供唯一ID、客户端证书和加密密钥,通过认证后才能发起访问,理论上这是一种防御DDoS攻击的有效手段,但对于以提供公共服务为主的用户(例如云服务商、或者门户网站),实际上这是有难度的,给所有公网用户发证书并不现实,实现成本将可能非常高。

SDP架构1.0,基于CSA SDP Specification 1.0:

(图2-2 SDP架构)

SDP工作方式:

  • 将服务置于“拒绝所有”的SDP网关后方
  • 打开防火墙建立连接之前先认证设备上的用户
  • 使用动态防火墙机制,当DDoS攻击发生时允许SDP尽可能快的丢弃攻击数据包
  • SDP通过使目标服务器对未授权设备不可见来预防攻击

SDP不能防止APT数据盗窃攻击,但是,如果只能通过SDP访问密钥管理系统,则可以使用SDP来确保只有在用户设备上才能访问加密数据。

CSA统计表明,VPN、网络准入控制是用户部署SDP的最大障碍,VPN通常会在提供安全加密通信前对用户进行身份认证,包括双因素以及多因素认证;而网络准入控制则提供相对细粒度的内网安全控制,用户只有在满足组织安全策略要求后才被允许接入网络继续访问相应资源,因此这两种技术部分达到了SDP的实现效果,使得SDP部署不再是唯一的选项。

用户一旦选择决定采用SDP,将对VPN产品形成一定程度的代替,SDP要求所有通信都基于加密的安全连接进行,当然VPN也可以和SDP结合起来,作为SDP的加密通信组件。而从SDP受益最大的将是IAM产品,所有用户、所有设备都需要认证和校验。

CSA SDP架构指南V2提到:

  • 对于网络准入控制(NAC)解决方案,SDP是NAC的现代化方案,集成了用户和设备访问
  • 对于端点管理方案(EMM/MDM/UEM),这些方案是企业IT及安全的重要元素,可以通过部署SDP来增强方案价值

CSA Software Defined Perimeter (SDP):Awareness and Adoption做了SDP部署相关调查,结果如下:

(图2-3 您认为哪些现存技术是对SDP部署的最大障碍?)

(图2-4 您认为那些现存技术将从SDP部署中受益最大?)

(图2-5 您的组织为什么要部署SDP?)

除了SDP,业界还有类似的新方案,包括Forrester的零信任方案,以及Google公司内部的 “BeyondCorp”方案。SDP架构是实现零信任概念的最佳方式。

(图2-6 SDP访问模型)

SDP可以有多种部署方式,可以根据实际业务访问模型来选择,包括:

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

CSA  SDP Specification 1.0还提到了其它部署方式,包括:

  • 客户端-网关-客户端方式
  • 网关-网关方式

(图2-7 SDP业务模型)

CSA详细介绍了以上各种部署方式,例如客户端-网关方式,如下图所示:

(图2-8 客户端-网关部署方式)

Kirk House在“Re-Think Security”一文介绍SDP带来的好处时提到,一栋房子着火总比整个城市都烧着了要好,这就是细粒度的隔离与分段带来的好处。下图更清晰的解释了SDP的架构,图中可以看到SDP Gateway的位置,部署在应用服务器前端,而应用服务器则隐藏在SDP网关后面的“黑云”里。

(图2-9 SDP架构简介)

结论:

在零信任&S软件定义边界出现之前,用户在网络安全方面,通常没有集中的管理中心,或者仅有一个安全管理中心(SOC),安全管理中心可以集中管理用户的资产、威胁、弱点、风险、以及各种安全事件、安全日志,业界曾经对安全管理中心寄予很高的期望,但SOC的实际效果并不是非常理想,安全管理中心的“管理”主要体现在对安全设备、安全事件的管理上,不能深入业务和应用进行管理,也无法做到制定统一的安全策略并驱动执行策略,仍处于传统网络安全管理的范畴,安全和业务处于相对脱节的状态。

零信任&软件定义边界则给用户内部增加了统一的身份管理中心,统一的授权与访问控制中心,能够进行集中全面的认证、授权与访问控制管理。使安全能够与应用、业务进行深度结合,提供全网统一的、非常细粒度的动态访问控制,这是传统的SOC安全解决方案做不到的。将SOC与零信&SDP结合起来,将有助于使用户更加清晰了解自身当前网络安全风险态势以及业务安全态势。

零信任&S软件定义边界不是一种安全方案,而是一种安全理念或者安全体系框架,传统的安全方案是部分适配这个框架的;另外网络安全的核心围绕是基于风险评估得出的用户需求展开,有的用户以对外提供基础设施类服务为主,数据安全也并非核心,对于这些用户不需要ZT&SDP这种方案进行非常细粒度的认证、授权和访问控制。

零信任&S软件定义边界虽然宣称“不信任任何人(trust no one)”,无论用户和资源位于何处,打破传统网络边界,代之以微分段、微边界,在实际部署上,还是以内部安全保护为主,以及远程安全连接通信为主,即便SDP宣称可以缓解大部分网络层攻击,对于对外提供服务的DMZ服务器、门户、网站,仍要以其他已有网络安全保护为主。

无论何种安全方案,适合自身需求的方案才是最好的方案。

参考资料:

  1. CSA SDP-glossary.pdf
  2. CSA SDP_Specification_1.0.pdf
  3. CSA sdp-for-iaas.pdf
  4. CSA Software Defined Perimeter,2013
  5. CSA, Software-Defined Perimeter as a DDoS Prevention Mechanism
  6. CSA Software Defined Perimeter (SDP):Awareness and Adoption
  7. Forrester-5-Steps-To-ZeroTrust-Security.pdf
  8. Forrester-zero-trust-wave-q4-2019-report.pdf
  9. forrester-zero-trust-wave-q4-2019-report.pdf
  10. Waverley labs,Software Defined Perimeter (SDP),A Primer for CIOs
  11. NIST SP800-207-draft-0信任安全.pdf

软件定义边界(SDP)简介相关推荐

  1. 零信任网络安全——软件定义边界SDP技术架构指南

    基本原理+应用场景+落地实施,结合国内特点进行零信任架构技术指导. 近年来,国内信息与通信技术(ICT)发展迅速,各企业将新技术应用于商业环境,推动了其数字化应用与发展.与此同时,也出现了许多信息安全 ...

  2. 软件定义边界(SDP)

    软件定义边界(SDP Software Defined Perimeter) 参考文章:软件定义边界SDP.基于SDP技术构建零信任安全 参考视频:Zero trust and SDP details ...

  3. 解读 | CSA 软件定义边界(SDP)标准规范 2.0 VS 1.0

    关注微信公众号,回复关键词"SDP标准" 即可阅读下载白皮书 2013年,国际云安全联盟CSA率先提出基于零信任理念的新一代网络安全模型-软件定义边界SDP,并于2014年发布了S ...

  4. SDP 软件定义边界

    3.3.1 SDP 控制器(Controller) SDP 控制器确定哪些 SDP 主机可以相互通信.SDP 控制器可以将信息中继到外部认证服务,例如认证,地理位置和/或身份服务器. 3.3.2 SD ...

  5. SDP(软件定义边界)让SDN更安全,你的对面可不能是一条狗!

    编者按:近年来,软件定义网络(SDN)如同海藻一样疯狂地席卷全球.但火热的SDN真的安全吗?Gartner分析师Neil MacDonald表示"SDN创建了一个抽象层,这将带来很多新的攻击 ...

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

    01. 零信任安全(zero trust security) 零信任安全是一种IT安全模型.零信任安全要求对所有位于网络外部或网络内部的人和设备,在访问专用网络资源时,必须进行严格的身份验证.零信任安 ...

  7. pytorch深度学习-机器视觉-目标检测和边界框简介

    机器视觉之目标检测和边界框简介 在图像分类任务里,我们假设图像里只有一个主体目标,并关注如何识别该目标的类别.然而,很多时候图像里有多个我们感兴趣的目标,我们不仅想知道它们的类别,还想得到它们在图像中 ...

  8. 零信任|软件定义边界(SDP)功能及应用

    SDP是一套开放的技术架构,它的理念与零信任理念非常相似.国内国际很多安全大厂都在推出基于SDP技术的零信任产品.可以说SDP是目前最好的实现零信任理念的技术架构之一,使您能够在批准的用户,设备,应用 ...

  9. 开源SDP 软件定义边界环境的安装和搭建

    搭建Waverley Labs的开源sdp项目 一.前言 二.架构 三.环境搭建 1.SDP controller 2.SDP gateway 3.SDP client 三.最后 参考连接: 一.前言 ...

  10. 会话初始协议SIP与SDP简介

    SIP(Session Initiation Protocol,会话初始协议)是一个控制发起.修改和终结交互式多媒体(音视频.聊天.游戏等)会话的信令协议(RFC 3261).SIP是一个基于文本的协 ...

最新文章

  1. PLSQL基础语法二-流程控制,循环
  2. Fedora 下安装Mplayer(添加源和解决错误问题)
  3. c+和python哪个快-C/C++比python快是什么意思?
  4. leetcode 简单题合集(Java版)
  5. shell 脚本书写规范
  6. 福昕风腾pdf导出为html,福昕风腾PDF套件快速指引.pdf
  7. oracle数据库实例关闭步骤,Oracle 数据库实例起动关闭过程
  8. 借鸡生蛋,无需数据的知识蒸馏
  9. mysql scws_php利用scws实现mysql全文搜索功能的方法
  10. DCMTK3.5.4与3.6.0版本的区别
  11. IBM GTS部门或有重大调整,最快本周见分晓
  12. iTextSharp 生成pdf Form 实例
  13. 瑞友杯虚拟化征文---瑞友天翼应用虚拟化之实战演示
  14. CentOs7+安装ApacheOpenOffice实现DOC转PDF详解(解决乱码问题)
  15. Word2010图片组合
  16. 【数字信号调制】基于ASK+OOK+BPSK+8PSK+QPSK+AM多种算法实现信号调制解调含Matlab源码
  17. 你的支付授权失败。请核对你的信息并重试,或尝试其他支付方式。请联系你的银行了解更多信息。
  18. Programmer Study Guide-游戏程序员指南
  19. 计算机软件系统 七年级,系统软件作用大七年级信息技术教案(5页)-原创力文档...
  20. 最大似然函数、交叉熵和经验分布的关系

热门文章

  1. kotlin版贪吃蛇小游戏
  2. 戴尔服务器显示器接口类型,戴尔推出UltraSharp U4021QW显示器 采用雷电3接口和5K×2K曲面屏...
  3. 机器人阿郎_机械人阿郎
  4. 麦克纳姆轮(全向轮)
  5. android 加载图片进度条,实现微信图片加载显示进度的效果-LoadingProgress
  6. AI相关英语词汇(持续更新)
  7. mysql的配置文件(my.ini或者 my.cnf)所在位置
  8. Spirent TestCenter指定端口上配置OSPFv2 Router
  9. ffmpeg命令下载MP4视频)
  10. ajax 更新局部视图,使用Ajax局部更新Razor页面的实例代码