查看原文
其他

软件定义网络(SDN)安全浅析

徐国坤 田夫笔耕 计算机与网络安全 2022-06-01

一次性进群,长期免费索取教程,没有付费教程。

教程列表见微信公众号底部菜单

进微信群回复公众号:微信群;QQ群:16004488


信公众号:计算机与网络安全

ID:Computer-network

回顾:图解 SDN


随着信息化发展,传统网络逐步发展成提供多媒体业务的融合网络,但传统架构越来越无法满足高效灵活业务的承载需求,面临一系列困境。比如:管理运维复杂,缺少集中管控;新技术的引入严重依赖现网设备,网络技术创新困难;设备日益臃肿,技术演进实现的复杂度显著增加。


为了摆脱传统网络封闭架构的困境,增强网络灵活配置和可编程的能力,软件定义网络SDN(Software Defined Network)技术应运而生。相较于传统网络,SDN通过把网络的控制层和转发层分离,用集中控制器取代原来的路由协议自协商方式,极大提升了网络的管控效率和灵活性。

SDN 简介


SDN 起源于2008年美国斯坦福大学教授Nick McKeown等人的Ethane项目研究,研究团队在ACM SIGCOMM发表了题为“OpenFlow:Enabling Innovation in Campus Networks”的论文,首次详细介绍了SDN 的概念,其主要思想是将传统网络设备的数据平面和控制平面分离,使用户能通过标准化的接口对各种网络转发设备进行统一管理和配置。这种架构具有可编程可定义的特性,对网络资源的设计、管理和使用提供了更多的可能性,更容易推动网络的革新与发展。

图1 Nick McKeown的Ethane项目和SDN的发展


技术架构


如图2所示,SDN 采用控制与转发分离、软件可编程的网络体系架构,其架构由应用平面(Application Plane)、控制平面(Control Plane)和数据平面(Data Plane)组成。


图2 SDN架构图


数据平面:该平面由若干网元组成,每个网元可以包含一个或多个SDN Datapath。每个SDN Datapath是一个逻辑上的网络设备,单纯被用来转发和处理数据。数据平面主要负责数据的处理、转发和状态收集。


控制平面:该平面由SDN控制器组成,主要负责两个任务:一是将SDN应用的请求转换到SDN Datapath,二是为SDN应用层提供底层网络的抽象模型。一个SDN控制器包括北向接口代理(NBI)、SDN控制逻辑和控制平面接口驱动(CDPI驱动,也称南向接口驱动)三部分。CDPI 将转发规则通过SDN控制逻辑发送到网络设备,要求能够匹配不同厂商和型号的设备,不影响控制层及以上的逻辑。NBI 允许第三方开发个人网络管理软件和应用,为管理人员提供更多选择。


应用平面:该平面由SDN应用构成,SDN应用能够通过可编程方式把需要请求的网络行为提交给控制器,其包含多个北向接口驱动(NBI驱动),同时可对自身功能进行抽象、封装来对外提供北向代理接口。


图3 传统网络与SDN架构对比


技术优势


SDN的控制转发分离、逻辑集中控制、开放网络编程API被视为SDN 区别于传统网络技术的三个主要特征,同时也为SDN带来很多优势。


1、更高效的资源利用:相比传统网络,SDN控制器监控网络基础设施的状态,能够更加智能和灵活地调配网络资源,减少盲目的网络资源投资,提高资源利用率。


2、更弹性的资源调度:应用层可通过标准的北向接口制定符合其业务需求的网络策略,由SDN 控制器将策略配置到网络设备中,实现资源的弹性调度。


3、更灵活的集中管理:标准化的南向接口屏蔽了设备的异构性,实现了异构网络设备的集中化统一管控。另外,SDN 控制器能够实现网络的集中管控,网络运维人员能够基于完整的网络全局视图实施网络规划。


发展现状


2011 年,Google、Microsoft、Facebook、Yahoo 等企业推动成立了非营利性组织开放网络基金会 (ONF - Open Networking Foundation)。ONF 是目前推动SDN 发展和标准化的最有影响力的组织,其成员主要是网络服务提供商、电信运营商和科研机构。ONF推出了Open Flow协议及其后续版本,目前已推出 1.5版本。ONF对SDN 的南向接口协议也做出了贡献,推出了支持 Open Flow协议的交换机的配置协议 OF-Config,目前已经发展到 1.2版本。



2013 年,18 家企业共同成立了ODL(Open Day Light)组织,主要目标是推动SDN控制器的发展,但并不指定SDN标准。ODL要打造从南向接口开始的全方位网络操作系统,包括中心控制平台、北向接口、服务、网络应用,但不包括转发层面,允许全世界的开发人员基于他们的系统进行二次开发。ODL从2014 年 2 月 开始,先后发布了SDN 控制器版本 Hydrogen、Helium、Lithium、Beryllium 等多个版本。


在运营商方面,SDN与 NFV(Network Function Virtualization,网络功能虚拟化)结合,实现以通用硬件以及虚拟化技术实现网络功能的方案,这种方案可以降低网络成本,使业务对硬件的依赖性降低,业务部署速度也大大提升。



SDN对安全的影响


SDN控制器对网络流量具有极强的控制能力,在各项配置策略的细粒度、实时推送等方面具有独特优势,但这种工作模式也给网络的安全模型带来了较大冲击,主要体现在两个方面。


1、数据控制方式不同:传统网络环境中防火墙等安全设备被部署在关键位置,信息流被强制从安全设备中流过,以便安全设备进行实时监控和检测。而SDN是个流规则驱动型网络,信息流是否流过安全设备均由控制器下发的流规则决定,安全设备自身没有决定权。


2、信息获取方式不同:在传统网络中,管理员需要同时向多个设备发送状态请求信息,综合评估收到的信息后,才能得到网络当前的安全态势。而SDN架构中的控制器作为整个网络的“指挥控制中心”,可以为整个网络建立全局实时的安全态势视图。然而,这种便捷的网络态势信息获取方式也极易被攻击者重点攻击和利用。


SDN自身的安全


图4 结构示意图


SDN 架构可以解决数据中心网络管理、运营维护和成本等问题,但SDN自身的安全问题将成为制约其商用化和推广的一个重要因素,SDN的控制平面、应用平面、数据平面和标准接口等方面都将面临安全挑战。


1、控制平面安全:集中化的控制平面承载网络环境中的所有控制流,是网络服务的中枢,直接关系网络服务的可用性、可靠性和数据安全性,面临网络监听、IP 地址欺骗、DoS/DDoS 攻击和病毒木马攻击的威胁。


2、应用平面安全:随着SDN的推广和发展,应用层将提供各种复杂的网络服务,恶意应用和应用安全规则混乱的安全问题也将随之而来。


3、数据平面安全:基础设施层的交换机等设备主要负责数据处理、转发和状态收集,对控制器下发的流规则绝对信任,该层面临恶意/虚假流规则注入、DoS/DDoS攻击、非法访问、身份假冒等问题,还可能面临由虚假控制器的无序控制指令导致的交换机流表混乱等威胁。


4、南向接口安全:OpenFlow协议是ONF标准化组织唯一确定的SDN 南向接口通信规范,OpenFlow安全通道采用SSL/TLS 对数据进行加密,OpenFlow 1.3.0 版本之后的规范将TLS设为可选项,允许控制通道不采取任何安全措施,南向接口面临窃听、控制器假冒等安全威胁。


5、北向接口安全:北向接口对应用程序的认证方法和粒度尚没有统一的规定。相对南向接口,北向接口在控制器和应用程序之间建立的信赖关系更加脆弱,攻击者可利用北向接口的开放性和可编程性,对控制器中的某些重要资源进行访问,使得攻击北向接口的门槛更低,面临非法访问、数据泄露、消息篡改、身份假冒、应用程序自身的漏洞等问题。

图5 SDN安全架构示意图


SDN的管理集中性、可编程性和开放性等为网络安全管理带来了机会(Security by SDN),但SDN自身的安全也受到挑战(Security for SDN)。随着技术发展,无论是by SDN还是for SDN的安全问题在一定程度上得到缓解,但关键问题仍然存在。SDN的稳健发展,需要持续关注和解决这些安全问题。

SDN 的安全误区


当云计算刚开始的时候一样,人们对有很多疑问,如客户对云计算系统的数据隐私顾虑,虚拟化性能的约束,诸如此类。SDN概念被提出后,业界也同样出现了很多讨论,不可避免的出现了一些观点。


误区1: SDN对网络做了一次天翻地覆的革命,我们的传统安全设备和安全解决方案无法部署了。


当客户问售前或销售同事:“我们部署了SDN环境,你们有没有相应的安全防护方案”

同事心想:我对SDN不了解,只知道SDN跟传统组网技术完全不同,所有的路由协议都变了。那我们的安全方案,特别是安全设备的部署和工作模式,是与网络紧密相关的,所以估计就不能正常工作吧。


其实了解SDN的工作原理后,那我们就不会有此疑问了。SDN虽然改变了网络架构,将控制平面上移,接管了以往分布在各处网络设备上的路由协议,取而代之的是集中的拓扑、路由和转发控制,但网络设备的数据包处理对外表现并没有特别的变化。例如原来一个TCP数据包,从交换机某个端口进入,再从另一个端口输出,这个数据包的头部和载荷都没有变化。安全设备作为中间设备(middlebox)或端点设备连接到网络设备,接收和发送的还是一样的TCP数据包,所以内部的处理引擎不必有什么特殊的改动,这跟普通服务器连接到SDN网络中不需要做什么改动一个道理。也就是说,一般情况下,普通安全设备理论上可以直接部署到SDN网络中,与传统网络没有区别。


图6 数据包经过安全设备本身没有发生变化


当然需要看到的是有一些SDN控制器只支持路由,而不支持二层交换,这种模式下对工作在二层的IDS、IPS等设备带来了挑战。不过一种可行的办法是在这些设备前面部署一个支持隧道的交换机(如Openvswitch),通过GRE隧道可以通过IP实现与对端连接,这样SDN控制器可以将数据传输到交换机的隧道端口,交换机将数据包的隧道头解掉后,转发给安全设备,这样就实现了二层设备“支持”隧道的功能。

图7 在只提供路由的SDN控制器下,

可加一个带隧道的网络设备做代理


从本质上看,SDN从功能上并没有做出革命性的改变,只是实现了自动化和高效率,理解了这一点,就应明白安全设备部署到SDN网络是完全可信的。


误区2:既然SDN只是针对网络的革命,跟安全没什么太大的关系,安全厂商不需要关心。


我们在解释了误区1时提到,SDN是网络世界的革命,不会对安全设备和安全解决方案的部署造成太大的困扰,那有同学就会下一个结论,就是双方互不相扰,我也不用关心SDN技术的细节。


这个误区有两点需要阐明:

(1)SDN本身有安全问题,SDN应用和SDN控制器的可用性、实现方式,南北向协议的安全性等,都可能有安全隐患,所以保护SDN体系各组件就是安全机制所需要考虑的问题。这是一个很大的话题了,后续可以继续展开讲。


(2)SDN对网络流量灵活的操作,SDN控制器具有全局网络的视图,这些对安全管理和控制系统,都是非常大的利好。如果能借助SDN对整体网络的实时、全局洞察力和控制力,安全应用就能很灵活的部署和调度安全资源,结合软件定义安全架构,就能建立非常强大的安全运营能力和应急响应机制。


比如在流量可视化方面,可以借助xFlow实现基于流量的异常检测,可适用于DDoS攻击的检测和企业内网APT攻击的发现。 在流量调度方面,可借助快速调整路由和转发规则的能力,实现多个安全设备按需防护的服务链,异常流量的清洗;借助细粒度流控制能力,实现多个安全设备灵活堆叠的负载均衡方案;借助网络设备天然的数据转发平面,实现2-4层的访问控制,诸如此类。


(3)SDN本身是一种敏捷的网络运营理念,对目前的安全机制和安全体系都有很好的借鉴意义。软件定义安全的概念在业界也越来越引起重视,当然这又是一个非常大的话题,可参考《2015软件定义安全SDS白皮书》。


可以说,安全是SDN的重要应用,目前可以看到大部分SDN控制器厂商,都乐见与安全厂商的合作,推出可展示利用SDN技术加速安全防护的案例。


误区3:SDN与安全结合,目前还没有什么安全方案的实际案例。


既然我们解释了误区2,误区3应该不是什么大问题。目前大家看到SDN和安全结合的案例少,不是因为两者缺乏化学反应,只是因为SDN技术的发展尚待时日,君不见SDN本身的成功案例还比较少么。不过既然VMWare都宣布,NSX的发展已经超过了当年的Vsphere,Garnter去年预测SDN技术将在5-10年左右落地(OpenFlow将在2-5年落地),我们相信SDN在安全领域的应用会更早。 一个例子是SDN在抗拒绝服务的应用,因为流量型拒绝服务在流量特征上有明显的模式,并且可以通过流量牵引的方式进行清洗,所以SDN技术有了用武之地。业界有不少友商正在做这方面的尝试。


Radware在开源的SDN控制器平台Opendaylight(ODL)上集成了一套抗DDoS的模块和应用,称为Defense4ALL。其架构如图所示,主要有两部分:控制器中的安全扩展,包括如接收到流信息后的统计服务,做清洗的流量重定向服务;独立的北向安全应用,包括如异常检测引擎和流量清洗的管理器。


图8 Defense4ALL 架构


Brocade公司提出的实时DDoS缓解的SDN分析方案(Real-Time SDN Analytics for DDoS Mitigation)获得了ONS(Open Networking Summits)2014 IDOL,这是一个了不起的奖项。因为ONS是业界在SDN和NFV领域最有影响力的会议,而ONS IDOL奖最体现能推动该行业发展的方向。


云计算系统通过虚拟化技术,可以在相当短的时间内准备好计算、存储和网络资源,而SDN技术可以灵活地将流量调整,一起实现业务的上线。所以SDN在云计算和虚拟化场景中,有天然的优势,所以如Openstack+Opendaylight,以及VMWare Vsphere+NSX,都是上述场景的应用。但如果只看到这些,就得出SDN只适用于云计算场景,那就有所偏颇了。 先不说误解3中的抗D需求绝大多数都是在传统环境物理网络中,就说我们做的软件定义的BYOD安全防护体系就是一个很好的例子。通过硬件和软件SDN交换机结合,可以在传统IT环境中,灵活部署无线接入,实现统一身份认证和基于身份的访问控制,比传统的NAC方式更加灵活。在ShadowIT和混合IT环境的企业有非常好的管理效果。

图9 BYOD环境下的访问控制,

中间SDN交换机为硬件设备,

而右侧OVS bridge则为软件设备


总而言之,目前SDN的发展速度很快,一方面,当前安全机制可在SDN环境中正常部署;另一方面,SDN技术也给安全防护机制带来了很大的想象空间。希望本文能给大家带来帮助,在新型网络环境中讨论安全方案的时候,不会心存顾虑,大胆尝试。

微信公众号:计算机与网络安全

ID:Computer-network

【推荐书籍】

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存