软件定义边界(SDP)工作组 SDP标准规范1.0 英文版2014年4月/中文版2019年5月 1 ©2014云安全联盟–版权所有 遵循下列要求,你可以下载、存储、显示在你的电脑上、浏览、打印并链接到云安全联盟网站https://cloudsecurityalliance.org:(a)该草案仅为个人使用、供参考、不用于商业用途;(b)该草案不得以任何方式修改或改变;(c)该草案不得分发;(d)不得删除商标、版权或其他通知。根据美国版权法合理使用的条款,在承认引用的部分属于云安全联盟SDP标准规范1.0的前提下,你可以引用的该草案的部分内容。 致谢 作者: BrentBilgerAlanBoehmeBobFloresZviGutermanMarkHooverMichaela IorgaJunaid IslamMarcKolenkoJuanitaKoilpillaGaborLengyelGramLudlowTed SchroederJeffSchweitzer 中文翻译版说明 由中国云安全联盟(C-CSA)秘书处组织CSA大中华区SDP工作组专家对《SDP标准规范1.0》(SDP_Specification_1.0)进行翻译。 参与本文档翻译的专家(排名不分先后): 组长:陈本峰(云深互联) 组员:靳明星(易安联)、李钠(奇安信)、吴涛(华云数据)、袁初成(缔安科技)、张泽洲(奇安信)、刘洪森、王贵宗、姚凯 C-CSA工作人员: 高健凯、朱晓璐 关于CSA大中华区SDP工作组: 随着云计算和移动互联网的发展,传统的基于边界防御的企业安全模型已经无法适应需求,取而代之是SoftwareDefinedPerimeter(软件定义边界,即SDP)安全模型。目前,SDP已经在国外逐渐被普遍采用,为了推动SDP在中国企业的应用,并根据本土市场需求制定出更适应中国市场的SDP实践指南,在中国云安全联盟的支持下,CSA大中华区成立SDP工作组。工作组于2019年3月成立,首批参与单位有:阿里云、腾讯云、京东云、奇安信、深信服、绿盟科技、Ucloud、顺丰科技、天融信、云深互联、中宇万通、华云数据、三未信安、上元信安、安全狗、易安联、联软科技、上海云盾、缔盟云、缔安科技等三十多家单位。 关于SDP工作组更多的介绍,请点击中国云安全联盟官网https://www.c-csa.cn/ruanjiandingyibianjieSDP.html查看,联盟联系邮箱:info@c-csa.cn。 序言 在云环境下,应用系统不断迭代,快速更新,安全边界的防护已不再是一成不变。 在边界内部的移动设备的增长,以及应用程序资源向外部的迁移已经扩展了企业使用的传统安全模型。现有的解决方案涉及将用户回传到数据中心以进行身份验证和数据包检查,无法很好地扩展。因此需要一种新方法,使应用程序所有者能够保护公共云或私有云中的基础架构,数据中心中的服务器,甚至保护应用程序服务器内部。SDP改变了传统的网络控制模式,原来通过网络TCP/IP、路由做寻址,现在通过身份寻址。SDP旨在使应用程序所有者能够在需要时部署边界,以便将服务与不安全的网络隔离开来。可以说,SDP是在网络边界模糊和消失趋势下给资源节点提供的隐身衣,它使网络黑客看不到目标而无法发动攻击。 在中国云安全联盟支持下,CSA大中华区完成《SDP标准规范1.0》的翻译工作。规范描述了云安全联盟(CSA)提议的软件定义边界(SDP)初始协议规格,旨在让更多终于从业者、供应商、推广者能够更进一步了解SDP的架构规范,指导日常生产工作。 在此,感谢CSA大中华区研究院与C-CSA专家委员会的专家们把白皮书翻译成中文,供大家学习。 李雨航YaleLi云安全联盟大中华区主席 中国云安全与新兴技术安全创新联盟执行理事长 目录 致谢3 中文翻译版说明4 序言5 文档声明9 摘要9 术语9 1介绍10 1.1目标读者10 2设计目标10 3系统概述10 3.1变化的边界10 3.2SDP概念11 3.3SDP架构11 3.3.1SDP控制器12 3.3.2SDP连接发起主机(InitiatingHost,即IH)12 3.3.3SDP连接接受主机(AccpetingHost,即AH)12 3.4SDP工作流13 3.5SDP协议实现14 3.5.1客户端—网关模型14 3.5.2客户端—服务器模型14 3.5.3服务器—服务器模型14 3.6SDP应用15 3.6.1企业应用隔离15 3.6.2私有云和混合云15 3.6.3软件即服务(SaaS)15 3.6.4基础设施即服务(IaaS)15 3.6.5平台即服务(PaaS)15 3.6.6基于云的虚拟桌面基础架构(VDI)16 3.6.7物联网(IoT)16 3.6.8SDP与IKE/IPsec和TLS的关系16 4术语汇编16 5SDP协议18 5.1服务启动18 5.2单包授权(SPA)18 5.3双向TLS或者IKE19 5.4设备验证20 5.5AH-控制器协议20 5.5.1登录信息请求20 5.5.2登录响应信息20 5.5.3登出信息请求21 5.5.4保活信息21 5.5.5AH服务信息21 5.5.6认证完成信息22 5.5.7保留的自定义信息22 5.6AH到控制器的序列图22 5.7IH-控制器协议23 5.7.1登陆请求信息23 5.7.2登陆响应信息23 5.7.3登出请求消息24 5.7.4Keep-Alive保活信息24 5.7.5IH服务信息24 5.7.6保留的自定义消息25 5.8IH到控制器序列图25 5.9动态隧道模式(DTM)下的IH-AH协议26 5.9.1保活消息26 5.9.2建立连接请求消息26 5.9.3建立连接响应消息26 5.9.4数据消息26 5.9.5连接关闭信息26 5.9.6自定义信息27 5.10IH到时序图(示例)27 5.11控制器确定IH可连接AH列表28 6日志28 6.1日志信息字段28 6.2操作28 6.3安全性30 6.4性能31 6.5合规性31 6.6安全信息和事件管理集成性(SIEM)31 7SDP标准规范31 文档声明 本文档概述了云安全联盟(CSA)为软件定义边界(SoftwareDefinedPerimeter,即SDP)规范发起的协议,并征求讨论和改进建议。本文档的分发无限制。本文档是基于RFC4301IP安全架构构建的。 摘要 本文档描述了“软件定义边界(SDP)协议”,旨在提供按需、动态配置的安全隔离网络。安全隔离网络是与所有不安全网络隔离的可信网络,避免受到网络攻击。SDP协议基于的工作流程是由美国国防部(DoD)发明并被一些联邦机构(FederalAgencies)使用。基于这些工作流程的网络提供了更高级别的安全性,但与传统企业网络相比,它们被认为非常难以使用。 软件定义边界(SDP)虽然基于广义的DoD工作流程,但已为商业用途而将其修改,使其能与现有的企业安全控制兼容。在适用的情况下,SDP遵循NIST关于加密协议的指南。SDP可用于政府应用,例如安全访问FedRAMP认证的云网络以及企业应用程序,或实现对公有云的安全移动访问。 术语 SoftwareDefinedPerimeter软件定义边界Air-gappednetworks安全隔离网络InitiatingHosts(IH)SDP连接发起主机AcceptingHosts(AH)SDP连接接受主机ControllerSDP控制器 DepartmentofDefense美国国防部IntelligenceCommunities美国情报体系Need-to-knowmodel需知模型 VirtualDesktopInfrastructure虚拟桌面基础架构 SinglePacketAuthorization单包授权 DynamicalTunnelMode动态隧道模式 1介绍 本文档定义了软件定义边界(SDP)兼容系统的基础架构。协议分为两部分:一部分描述控制平面,另一部分描述数据平面。控制平面描述了SDP连接发起主机(IH)和SDP连接接受主机 (AH)如何与SDP控制器通信。数据平面描述了SDP连接发起方如何与SDP连接接受方通信。 1.1目标读者 本文档的目标读者是SDP协议的实现者。 2设计目标 SDP协议的设计目标是为IPv4和IPv6提供可互操作的安全控制,包括控制器和受SDP连接接受方保护的服务的隐藏和访问控制,以及从SDP连接发起方到控制器和SDP连接接受方的通信机密性和完整性。 该规范提供了控制平面的协议和数据平面的一个选项。预计将为数据平面提供额外选项。 3系统概述 本节的目标是提供协议的整体概述并定义协议中涉及的组件。详细实现请见后文。 3.1变化的边界 纵观历史,企业通过在其数据中心部署边界安全解决方案,来防止对企业应用的外部威胁。然而,传统的边界模型正在迅速变得过时,原因有两个: 1.黑客可以轻松劫持边界内的设备(例如通过网络钓鱼攻击)并从内部攻击企业应用。此外,由于自带设备(BYOD)、外包工作人员和合作伙伴的存在,边界内部设备增多,导致漏洞不断增加。 2.除了传统数据中心,企业正在不断采用外部云计算资源,如PaaS,IaaS和SaaS。因此,边界安全网络设备在拓扑上并不能很好地保护企业应用基础设施。 在边界内部的设备的不断增长,以及企业应用程序不断向外部的迁移,已经破坏了企业使用的传统安全模型。现有的解决方案涉及将用户回传到数据中心以进行身份验证和数据包检查,无法很好地规模化。因此需要一种新方法,使应用程序所有者能够保护公共云或私有云中的基础架构,数据中心中的服务器,甚至保护应用程序服务器内部。 3.2SDP概念 SDP旨在使应用程序所有者能够在需要时部署安全边界,以便将服务与不安全的网络隔离开来。SDP将物理设备替换为在应用程序所有者控制下运行的逻辑组件。SDP仅在设备验证和身份验证后才允许访问企业应用基础架构。 SDP背后的原理并不是全新的。美国国防部(DoD)和美国情报体系(IC)内的多个组织已经实施了在网络访问之前进行身份验证和授权的类似网络架构。通常在分类或高端网络中使用(由美国国防部定义),每个服务器都都隐藏在远程访问网关设备后面,在授权服务可见且允许访问之前,用户必须对其进行身份验证。SDP利用分类网络中使用的逻辑模型,并将该模型整合到标准工作流程中(第2.4节)。 SDP保持了上述“需知模型”的优点,并去除了需要远程访问网关设备的缺点。在获得对受保护服务器的网络访问之前,SDP要求发起方进行身份验证并首先获得授权。然后,在请求系统和应用程序基础架构之间实时创建加密连接。 3.3SDP架构 最简单的形式是,SDP的体系结构由两部分组成:SDP主机和SDP控制器。SDP主机可以发起连接或接受连接。这些操作通过安全控制通道与SDP控制器交互来管理(请参见下页的图1)。因此,在SDP中,控制平面与数据平面分离以实现完全可扩展的系统。此外,为便于扩展与保证正常使用,所有组件都可以是多个实例的。 3.3.1SDP控制器 图1:SDP架构由两大组件组成:SDP主机以及SDP控制器 SDP控制器确定哪些SDP主机可以相互通信。SDP控制器可以将信息中继到外部认证服务,例如认证,地理位置和/或身份服务器。 3.3.2SDP连接发起主机(InitiatingHost,即IH) SDP连接发起主机(IH)与SDP控制器通信以请求它们可以连接的SDP连接接受方(AH)列表。在提供任何信息之前,控制器可以从SDP连接发起主机请求诸如硬件或软件清单之类的信息。 3.3.3SDP连接接受主机(AccpetingHost,即AH) 默认情况下,SDP连接接受主机(AH)拒绝来自SDP控制器以外的所有主机的所有通信。只有在控制器指示后,SDP连接接受主机才接受来自SDP连接发起主机的连接。 3.4SD