当前位置:首页 期刊杂志

基于SDN 安全服务链的研究与设计

时间:2024-09-03

◆周凯

(南京艺术学院信息化建设管理中心 江苏 210013)

1 引言

软件定义网络(Software Defined Network,SDN)一种新型网络架构,网络虚拟化的一种实现方式。通过OpenFlow 等技术将网络设备的控制与数据面进行分离,从而实现网络的灵活控制,使网络变得更加智能[1]。本文将从SDN 网络架构思想出发,结合SDN 和服务链技术,实现一种能对网络数据流自由编排策略、按需适配、动态调度控制的安全服务链,从而使整体网络架构的拓展、安全防御及性能得到进一步的提升。

2 网络服务链

服务链(Service Function Chain),一种典型的应用模式。传统服务链被设计在网关处,保障主机和外部网络之间的数据安传输。并在可信网络与非可信网络之间架设相关安全服务节点,这些安全服务节点按照用户事先配置的安全策略过滤和阻断有害的数据传输来保证可信与非可信网络之间双向通讯的安全。这种部署方式主要存在以下问题:

(1)服务节点宕机导致整体数据通讯中断;新增或拓展服务节点需要暂时性业务中断,策略部署工作复杂、重复性高;

(2)随着服务节点的增加,网络拓扑层级结构越复杂;

(3)由于传统服务链的固定性导致数据流不能按需适配、灵活调度;

(4)运维难度大,出现网络故障很难快速准确的定位故障点等。

3 基于SND 的安全服务链

3.1 SDN

传统网络设备一般包含控制和转发两套逻辑,网络属于一种分布式架构,严格地按照TCP/ⅠP 五层模型来进行设计。SDN 将网络设备上的控制逻辑单独提取出来,作为控制平面,形成一种控制平面与转发平面相分离的网络架构[2]。并且尽可能地使网络扁平化,数据包的匹配不再是一层层地进行,而是同时进行。服务功能上主要分为两大类:Networking Ⅰnfrastructure,提供网络基础架构功能;Networking Service,提供网络服务功能。

3.2 SDN 服务链

基于SDN 的安全服务链是在传统服务链的基础上,融合上述SDN 的网络架构思想及技术设计实现。即由SDN 控制和管理服务链,将服务功能加入网络流量路径中,实现网络服务(L4-L7),是一种更灵活的网络功能方式。它的主要优势在于:

(1)网络与功能解耦,使网络可编程,可以按照用户的需求自定义业务逻辑,实时动态的调度服务链的转发策略进行转发;

(2)网络服务节点由原来的串联变成串并行,提高了网络的稳定及容错能力;

(3)网络服务节点的弹性扩容实现热部署及负载均衡的功能。基于SDN 网络添加服务节点可以在不中断网络的情况下,通过在控制器上添加对应的转发策略即可即时生效。

3.3 SDN 服务链的实现

面对业务系统数据传输需求,主要分为单向和双向两种形式上的链:单向服务链为仅存在单一方向的服务链如源节点到目的节点的数据通讯或目的节点到源节点的数据通讯;双向为同时存在源到目的和目的到源的数据通讯的服务链。本文将依据一个典型SDN 网络架构以实例做具体阐述。

网络架构环境:将SDN 交换机以透明桥的模式部署在出口与网络核心交换机之间,SDN 交换机只通过控制器及OpenFlow 网络通讯协议对服务链进行相关流量转发和控制。在SDN 交换机上以旁挂串并行的方式接入防火墙(FW)和Web 应用防护系统(WAF)。如图1 所示,出口接入SDN 交换机eth-0-2 口,入口接入eth-0-1 口,FW流量进出口为eth-0-3 口和eth-0-4 口,WAF 流量进出口为eth-0-5 口和eth-0-6 口。

服务需求为:只把TCP 80 端口的数据流给WAF 处理,FW 处理所有数据流,如表1 所示。具体分项包括:表项号、流表方向、源接口、目的接口、优先级、Match 及标注。表项号为流表序列;流表方向分为上行和下行,在这里单向服务链代表只有上行或下行,双向服务链为同时存在上、下行数据流;优先级作用于每条表项的执行顺序由数值来表示,数值大代表优先级关系越高,反之则低;为了能精细化控制和管理数据流,本设计将Match 分为三层:二层表示为以太网类型字段和值,区分各协议如ⅠPv4(0x0800)、ⅠPv6(0x08DD)、SNMP(0x 814C)等;三层表示为网络层ⅠP 协议用来定义特殊处理的ⅠP 地址段;四层表示程序端口号。

图1 旁挂串并行的方式接入防火墙和Web 应用防护系统

(1)单向服务链

即SDN 交换机的流表中只包含一个方向的流表。如图1 所示接入到SDN 交换机上的各服务节点都需要配备两张网卡,分别与SDN交换机上的网口互连,保证数据流的进和出。下面将依据前面定义的网络架构及服务需求以单上行为例,具体实现如下:从eth-0-2 口进入的全部数据流在SDN 交换机的流表中进行匹配,所有数据流将匹配表项1,从eth-0-4 口转发出来至FW 进口,经FW 程序处理后,没有被丢弃的数据包将从FW 出口返回给交换机eth-0-3 口,并由eth-0-3 口依据表项5 将未被丢弃的数据包(不包括端口80 数据包)转发给eth-0-1 口,端口80 的数据包将依据表项4 转发给WAF,经WAF 程序处理后,没有被丢弃的数据包将依据表项6 由eth-0-5 口转发给eth-0-1 口。

(2)双向服务链

即SDN 交换机的流表中包含上行和下线两个方向的流表,拥有双向流表的服务的主机ⅠP 地址即要作为目的地址也要作为源地址而存在。根据前面定义的网络架构及服务需求,双向实现如下:上行服务链与上述描述一致,下行服务链将由eth-0-1 口依据表项7 和表项8 分别将TCP:80 端口数据流转发给eth-0-5 口至WAF,非80 端口数据流转发给eth-0-3 口至FW,经WAF 程序处理后,未被丢弃的数据包依据表项10 转发给FW,最后经FW 程序处理后,未被丢弃的数据包依据表项12 由eth-0-4 口转发给eth-0-2 口。

(3)单点故障

分发任务的主节点发生故障,导致各分节点无法正常接发,引发整体系统故障。我们把这种故障叫作单点故障。基于SDN 服务链的网络架构单点故障主要关注两个环节:一是SDN 交换机带来的单点故障;二是并行挂载在SDN 交换机上的各节点毁坏引发的单点故障。前者可以通过双机热备的方式,采用主备、主主备等策略来完善。后者也可以采用与前者同样的方式来解决,但这种方式违背了基于SDN 服务链架构的核心思想,本文将就第二种现象给予讨论并给出解决方案。

基于SDN 服务链的网络架构核心优势之一在于对同构设备的解耦,对异构设备的重组。在网络安全方面,特别是依据特征库对网络流量数据包进行检测与防御的安全防御设备如:WAF、ⅠDS、ⅠPS、防毒设备等,同品牌设备特征库基本一样。而各厂家趋于对各自产品市场与技术的保护,实现双机热备部署必须使用两台同品牌甚至同型号的设备来完成,对用户而言如“鸡肋”一般。怎样能脱离这样的局限,即能解决单点故障又能起到安全加固的效果,下面将引入备份流表的方式来解决。

备份流表:在主流表服务链路径的基础上,建立一套优先级低于前者的备份流表服务链路径,当节点故障时主流表服务链路径失效,将自启用备份流表服务链路径来进行引流。这种机制不仅可以解决节点故障时的引流问题,还可以将一组节点设备划为一个共享资源池,进行更广泛的应用。

如流表1 所示,依据上述设定好的架构与需求,以下行为例,当数据流从eth-0-1 口依据表项7(优先级:1001)和表项8(优先级:992)分别根据各自策略要求将数据流转发给WAF 和FW,若单WAF设备毁坏,将依据表项8,由eth-0-1 口直接将全部数据流转发FW,经FW 程序处理过后未被丢弃的数据包依据表项12(优先级:983)转发给eth-0-2 口;若单FW 设备毁坏,端口80 数据流将依据表项7转发给WAF,经WAF 程序处理过后未被丢弃的数据包依据表项11跳过FW 直接转发给eth-0-2 口,非端口80 的数据流将依据表项9,跳过FW 直接转发给eth-0-2 口。

表1 流表

5 总结

本文详细介绍了传统网络服务链和SDN 网络服务链的优劣对比及SDN 安全服务链的设计原理,并基于场景实例阐述了它的设计与实现。笔者认为此项技术研究将是以后数据中心智慧化安全建设的关键技术,它不仅有效地清洗了网络中的数据流,实现了精准按需动态调度,强化了网络安全保障,而且使整体网络架构的拓展能力也变得更为灵活。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!