【摘要】软件定义网络(software-definednetworking,简称SDN)技术把网络的控制层和数据层进行了分离,为下一代网络的发展提供了新的解决方案。本文论述了SDN的架构和目前基于传统网络架构下的网络安全的实现方式以及内在缺陷,并阐述了基于SDN架构下的网络安全的演进和优化,希望可以为相关从业人员提供一些借鉴和参考。
【关键词】SDN;网络安全;OPENFLOW;虚拟资源池
引言
在传统网络安全的设计思路下,网络安全设备作为一个富功能设备,往往部署在网络的边界节点,防火墙实现基本的包过滤机制和状态化监控,另外为了防止应用层的攻击和渗透,往往在防火墙之后还需要部署入侵防御系统、VPN设备、抗DDOS设备等多个不同的功能实体,以网络边缘进行安全加固。该方式虽然较为可靠,但增加了网络部署的难度,同时减弱了网络的灵活性,不利于现有业务的调整和业务的迁移。
1传统网络的缺陷
(1)多种安全设备采用不同模式接入网络边缘,如防火墙[1]往往采用二层透明模式桥接在三层链路中,或者采用三层旁观的方式实现引流对流量进行过滤;而IPS/IDS设备则往往采用流量镜像的方式旁路部署于网络边缘链路,上网行为管理设备则采用二层透明模式对WEB协议报文进行过滤或者采用代理的方式对内部员工流量实现HTTP/HTTPS流量重定向和代理,多种不同类型的安全设备的部署大大增加了网络的复杂性,同时也不易于管理和配置。(2)另外一方面,在部署安全设备的同时还需要考虑网络的冗余性和稳定性,因此需要考虑多种不同类型安全设备的高可靠性技术,比如防火墙的主备冗余切换、串联设备的硬件BYPASS功能等,以及实现这些功能和性能的协议设计。而不同厂家的设备实现这类功能的协议往往不一致,这也增加了网络设计和维护的复杂性。
2SDN架构介绍
2.1SDN技术南向接口控制层是SDN的思想所在[2],控制层负责对网络所有的物理资源进行探测、监控和管理,包括对物理层的设备资源进行探测和向上层应用提供抽象化的网络资源调用。在整个SDN的网络架构中,控制层作为物理层和应用层之间的枢纽,南向需要对整个网络的物理资源能够发现、管控、查询,对转发器进行调用;北向则需要对物理设备抽象化,为应用层提供网络的整体资源。南向接口的核心技术就是对网络物理层设备的探测和调度管理:包括从链路探测、遍历全网的资源信息;通过对网络拓扑的监测发现、控制网络物理拓扑和逻辑拓扑的变化,以及变化产生的信息更新;根据业务需求制定流表的转发策略,并对转发器的转发进行控制;控制器对转发器的实质控制是通过表项下发实现的。图1展示了SDN交换机[3]的结构及工作原理。2.2SDN技术北向接口控制层北向接口的核心技术是将网络的物理资源抽象化,使得业务只能请求抽象化的网络资源,而不必对使用的网络资源的物理结构进行设计和规划。业务的申请和网络资源的调用可以通过软件编程来实现,利用编程向控制器发出请求,从而对全网络的资源进行分配。控制器通过北向接口获得业务请求,接口的形式与业务需求应该是强相关的,不同的业务种类导致了种类繁多的接口标准。一个成熟的、标准化的泛用性接口必须面向全网用户,提供各种类型的业务,满足各类应用的需求,实现对网络资源的统一调度和高效利用。目前比较主流的接口标准是RESTAPI[4~5],而RESTAPI为发挥其优势应该具有可寻址性强、接口无状态、注重关联性、接口统一特点。2.3SDN业务资源编排层SDN的应用层通过控制层感知抽象化的网络资源,并根据业务需求用软件编程来调度控制器,从而获取资源并对资源进行编排。SDN技术的优势在于可以通过软件来辅助实现现在网络中部分硬件系统的功能,如防火墙、负载均衡等。以“硬件虚拟化”的方式使得网络结构更清晰:将应用与物理资源之间,因为效率低下需要通过硬件辅助的软件完全软件化,提供网络的快速部署、智能化感知、自动化运作等特性;通过控制器南向接口感知、调度网络;通过控制器北向接口获取业务需求;通过编程实现网络的虚拟化,构建业务和物理资源的关联,实现业务的全面开放。
3SDN应用方向
3.1流量控制SDN通过开放的接口使用户能够对综合数据网、调度数据网等通信承载网络的流量直接进行管控。管理员可以根据需求自定义流规则,以对不同的流量进行差异化的控制、管理和监测。3.2集中控制控制器可以感知全网资源信息,提供网络的物理拓扑和逻辑拓扑信息,根据集中的业务需求对资源调度进行全局优化,实现流量工程和负载均衡等高级应用。3.3QoS设置SDN基于业务需求定制流表的转发策略,能够为不同类型的数据流提供不同的Qos策略,对网络资源的编排进行全局优化。同时也能够基于不同于传统数据网架构的方式实现流量调度和QoS功能,提高网络服务质量和业务连续性。3.4可编程性控制器提供开放的接口,允许动态的网络编程,通过业务资源编排和控制层的北向接口实现业务的扩展和二次开发。3.5应用设置通过软件编程将防火墙、负载均衡等设备虚拟化,SDN可以对网络服务重新定义。应用程序通过控制器感知全网资源信息,并利用编程实现灵活的系统调用,提供各种类型的网络服务。
4基于SDN的网络安全实现
SDN架构可以通过南北向接口实现更为简洁高效的流量调度和安全防护,通过北向接口和业务资源编排层完成业务与网络功能的逻辑生成,通过南向接口完成流表的下发和流量的转发,从而实现传统的网络功能。采用SDN架构可以完成网络安全防护功能实体的上移,将防火墙、抗DDOS设备、IPS、WEB防火墙等功能实体采用SDN控制器内的内置功能模块实现相应的功能,该部分内置功能模块采用软件方式部署在Linux服务器或者基于x86架构的服务器上,采用软件图形界面的方式实现安全策略的制定和生成。而在网络边缘的交换机上,通过采用混合式设备(支持传统二三层功能及OPENFLOW协议栈),可以灵活地区分需要多种不同的流量,包括可以直接穿越网络边缘的可信任流量、需要通过安全设备进行过滤的流量,同时采用这种网络架构,由于各个功能模块集中部署在SDN控制器内,针对不同的业务流量,可以灵活地定制需要使用那些功能模块对流量实现过滤,在传统网络架构下,实现针对不同业务流量分类分级地进行流量过滤需要涉及到大量的网络配置和变动,部署周期长且配置难度大。本节中将展示其中一个典型的互联网出口的业务场景,并采用SDN架构实现业务的过滤和流量调度。如图2所示,内部局域网核心交换机作为内部局域网的核心交换机,通过静态路由或者动态路由协议将出口流量上传至出口核心交换机,出口核心交换机采用混合式交换机,同时支持OPENFLOW协议和传统的二层、三层协议栈,包括以太网协议、VRRP、生成树协议、802.1q等以及OSPF、BGP等路由协议,出口核心交换机作为边界设备,负责把需要进行流量过滤的业务通过OPENFLOW的安全隧道引流至SDN控制器内,由SDN控制器对该部分业务流量进行安全防护,实现防火墙、IPS、抗DDOS设备等各种安全功能,SDN控制器再将通过过滤后的流量转发至互联网出口交换机。该图中的边缘路由器用于OPENFLOW安全隧道的建立,同时该路由器与出口交换机建立BGP邻居,通过BGP路由灵活地实现过滤后流量的路由选路。
5总结与展望
通过上述传统安全防护思路和基于SDN架构的安全防护思路,我们可以看到基于SDN架构的安全防护体系具备以下优势:5.1高可用性通过集群式部署SDN控制器、冗余部署边缘路由器等设备,该架构可以实现N-1冗余,其可靠性和可用性不亚于传统架构。5.2网络简洁高效通过对比两种实现方式的拓扑图,我们可以直观地发现,采用SDN架构的网络安全防护可以大大简化网络结构,降低了部署难度和运维难度。5.3网络灵活性增加通过SDN架构,我们可以通过OPENFLOW协议灵活定义不同的业务流,并针对每业务流实现不同的安全策略,这种安全防护思路更为高效灵活,只需要在SDN控制器上下发相应的OPENFLOW流表即可。5.4网络可扩容性增加基于SDN架构的安全防护能力取决于x86服务器的性能指标,如果需要增加安全功能的性能和处理能力,只需要采用集群式的服务器部署或者基于IAAS架构云的方式对安全资源池的能力进行扩充即可。5.5综合成本下降通过SDN架构的部署,不再需要部署多种硬件设备,只需要部署功能模块和硬件青海职称服务器,同时考虑到运维和建设成本,SDN架构的安全模型相较于传统的安全防护模型具备更低的综合造价。
作者:刘淼 单位:中国南方电网有限责任公司超高压输电公司