基于SDN网络的防火墙系统设计与实现
2024-06-18王玉婷
收稿日期:2024-01-27
基金项目:2022年嘉兴职业技术学院访问工程师校企合作项目(嘉职人〔2022〕93号)
DOI:10.19850/j.cnki.2096-4706.2024.07.032
摘 要:软件定义网络(SDN)作为新的网络技术,能很好地满足现在对网络规模和性能的要求。为了进一步提升SDN网络的安全性,文章对SDN网络的防火墙系统进行了研究,利用控制平面与数据平面分离的特点,采用控制平面对网络集中进行实时监控与网络管理,在SDN控制器中实现数据包过滤与入侵监测,通过自定义数据转发和安全策略,实现集中式安全控制,最终实现网络安全性能提升。
关键词:网络安全;软件定义网络;防火墙系统;数据包过滤;入侵监测
中图分类号:TP311 文献标识码:A 文章编号:2096-4706(2024)07-0161-05
Design and Implementation of Firewall System Based on SDN Network
WANG Yuting
(College of Internet, Jiaxing Vocational & Technical College, Jiaxing 314036, China)
Abstract: Software Defined Networking (SDN), as a new network technology, can well meet the current requirements for network size and performance. In order to further enhance the security protection for SDN network, this paper studies the firewall system of SDN network. By utilizing the separation characteristic of control plane and data plane, the control plane is used for real-time monitoring and network management of the network. The data packet filtering and intrusion monitoring are implemented in the SDN controller. By customizing data forwarding and security policies, centralized security control is achieved, ultimately improving network security performance.
Keywords: network security; SDN; firewall system; data packet filtering; intrusion monitoring
0 引 言
随着大数据、云计算、物联网等技术的兴起,网络技术得到了进一步的发展,人们对网络的需求越来越大,对网络的要求也越来越高,因此网络发展面临着巨大挑战。同时网络安全的理念日益深入人心,对网络安全的重视程度也在加强,也对网络安全性能进一步提出了更高要求。防火墙技术作为重要的网络安全机制,部署在网络边缘,能有效地区隔内外网,保护私有网络免受非法攻击。但传统网络设备以封闭硬件形态交付,软硬件强耦合,在传统架构上进行防火墙部署受硬件影响,缺乏灵活性也难以进行二次开发,不能很好地满足现在对网络软件化、自动化、协作化、智能化的要求[1]。网络中引入新的网络架构——软件定义网络(Software Defined Network, SDN)以适应网络发展要求并克服传统网络中存在的弊端[2],SDN网络具有可协同、软件可编程、具有开放接口的特点,可以很好地实现软硬件分离,数据平面与控制平面解耦,改变传统网络安全防护体系,数据平面中的网络设备(如路由器、交换机等)仅执行控制平面下发的防火墙策略,而控制平面实现防火墙策略部署,能够对网络进行网络全局监控和集中控制,实现安全策略的灵活部署和集中控制,有效提升网络防护效率。
本文将设计一种基于SDN网络的防火墙系统,通过控制平面集中收集网络信息,并自定义传输路由规则和防火墙策略规则,实现对网络安全策略的灵活部署与集中管理,能有效地对网络进行安全管理并提升网络防护效率。
1 基于SDN网络的防火墙系统
1.1 SDN网络
软件定义网络SDN是由美国斯坦福大学Clean-Slate课题研究组最先提出,是一种基于OpenFlow技术的新型网络创新架构[3],能够有效实现网络虚拟化。网络结构由原本的分布式控制转变为集中控制。该架构下将控制与转发分离,实现网络的转控分离、集中控制、开放接口三个主要特征[4]。SDN网络框架如图1所示,由转发设备和链路构成基础转发网络,位于SDN网络架构的转发层,主要负责执行用户数据的转发,而控制层生成在转发过程中需要的转发表项,并通过OpenFlow协议由南向接口下发。控制层是整个网络的控制中心,负责收集网络信息,实现链路发现、拓扑管理、策略制定、表项下发等支持SDN网络运行的基本操作[5]。应用层则是能承载体现用户意志的上层用户应用。
1.2 防火墙技术
防火墙常被部署在网络边缘,如在企业内部网络和不可信的外部公共网络间[6],是一种常见的网络安全保障措施,通过实施相关的安全策略(如允许、拒绝、监视、记录)来保护网络免受外界的干扰和破坏,从而确保网络安全。防火墙结构如图2所示,防火墙位于网络边缘,隔离需保护的内部网络与外部公共网络,对经过防火墙的每一个数据包均进行判断,允许通过合法的数据,否则将丢弃数据,从而实现对网络保护的作用。
按照防火墙的工作模式进行分类,防火墙技术可以分为包过滤防火墙、状态检测防火墙等[7]。包过滤防火墙是一种重要的防火墙技术,又称分组过滤路由器或网络层防火墙,主要工作于网络层,一般以路由器作为网络防火墙设备,过滤规则是在设备中预先设定的,将检测数据包与过滤规则进行匹配,主要检测地址、协议、端口等信息,通过匹配结果决定是否允许数据包通过,通常将过滤方式分为静态和动态两种。
包过滤防火墙简单、有效,可以实现对网络的保护和对网络流量的控制,但该技术不对数据包内容进行分析检测,无法实现复杂的控制,也容易被攻击者绕过。
1.3 SDN网络防火墙与传统网络防火墙对比
传统网络防火墙基本由硬件制造商制定相应防火墙策略,受硬件限制,难以根据用户需求设置自定义策略,缺乏扩展性和灵活度,网络的二次开发难度较大,当网络中多地需要进行防火墙部署时,受分布式控制网络结构影响会造成网络管理困难。与传统网络防火墙相比,SDN网络防火墙得益于软硬件解耦以及集中控制的网络结构,能通过控制层对网络进行全局监控,收集网络实时流量情况,并能根据收集到的网络情况进行防火墙规则的集中设计,同时自定义传输数据的路由规则和策略规则,具有灵活性,改变网络防护体系,提升网络防护效率。
2 系统设计
2.1 基于SDN网络的防火墙系统设计
基于SDN网络的防火墙网络部署图如图3所示,该结构下网络部署与传统网络不同,传统网络需在广域网与内部网络之间部署防火墙设备,将防火墙策略设置在防火墙设备上,防火墙策略与设备存在强耦合关系,如果需要对多地进行防火墙管理则需部署多个防火墙设备。但在SDN网络防火墙结构中可以在SDN控制器上集中部署防火墙策略,该控制器能够对网络中流量等信息进行实时监控,并通过数据流表的形式将安全策略下发给交换机等设备,交换机设备仅需执行SDN控制器的策略即可实现相应防火墙功能,在该部署情况下防火墙策略和传输策略等均可实现自定义,具有集中控制和灵活性,对多地的防火墙管理均可通过统一的控制器实现,能有效地提升网络防护和数据传输效率。
基于SDN网络的防火墙系统框架如图4所示,系统主要由数据层和控制层两部分组成。转发层由网络设备(如OpenFlow交换机等)组成,主要负责执行控制层制定的防火墙策略、转发数据包以及对网络流量的监控[8]。SDN控制器采用下发数据流表的方式对转发层设备进行管理[9]。数据流表分为转发流表和安全控制流表,转发流表实现网络二层转发功能,通过相应信息(如MAC地址信息、设备端口号等)明确数据转发路径。安全控制流表则根据转发层设备上传的网络流量信息对网络情况进行分析,并下发对应网络安全策略,根据该策略转发层网络设备进行策略执行。控制层由SDN控制器组成,主要负责根据网络情况制定防火墙策略、进行网络流量监控、网络日志管理、拓扑发现等。控制层实现防火墙策略有:1)数据包过滤:部署过滤规则,设置允许或拒绝的数据包源的信息(如源地址、目的地址、端口号、协议类型等),通过该策略规则实现数据包筛选;2)入侵监测:根据数据包状态及特征来判断是否有网络攻击等。
2.2 防火墙策略设计
在SDN网络中控制层包含安全策略模块,该模块配置防火墙规则以及入侵监测。SDN控制器以主动方式下发流表项对转发层设备进行管理,在产生新的防火墙规则时,则会通过OpenFlow流表转发给网络设备从而实现规则更新[10]。
包过滤防火墙对经过的数据包进行管理,管理依据为包过滤规则,防火墙规则如图5所示,其中NW_SRC表示数据包源IP地址,NW_DST表示数据包目标IP地址,NW_PROTO表示协议类型,STATUS表示执行动作(允许或拒绝),RULE_ID表示规则ID。
包过滤防火墙工作流程如图6所示,防火墙以事件为驱动,当监听到有事件时则会主动按照规则构建防火墙规则,构造完成的防火墙规则会进一步构造为流表项,再通过OpenFlow协议下发给转发层网络设备,网络设备根据规则对经过数据包执行相应操作。
SDN网络中入侵监测也是其防火墙系统的重要组成部分,入侵监测流程如图7所示。当有数据流输入时,控制器会抓取数据包并对数据进行预处理,处理后的数据流会跟事先定义的规则库进行比对,当数据流监测到正常数据流经过时则允许通过,但当被监测数据流为攻击数据时则通过流表下发至设备拒绝数据通过并更新对应规则。
3 实验与结果
3.1 实验环境
本实验使用MININET作为网络仿真平台来搭建SDN网络架构,控制器采用RYU,防火墙策略运行在SDN控制器上,控制器主要负责策略的制定与下发,OpenFlow交换机作为网络的主要组成单元,负责安全策略的执行。操作系统为Ubuntu 16.04。实验网络拓扑如图8所示,其中c0为集中控制器,掌握网络拓扑结构以及各链路数据传输速率等,集中管理整个网络,根据网络区域制定合适的安全策略,s1为OpenFlow交换机,负责执行SDN控制器制定的安全策略,允许或拒绝数据包的通过,h1~h3为网络用户,网络结构通常存在一个非军事区(Demilitarized Zone, DMZ),该区域主要用来解决外网设备需要对内网用户的访问,在实验网络结构中,h1用户处于DMZ区域,h2和h3用户处于内网区域。
3.2 实验结果
实验网络搭建结果如图9所示,通过MININET实现SDN控制器、OpenFlow交换机以及3个网络用户构建,h1用户处设置Web服务器对外端口为80,h1和h2将运行包过滤防火墙,对经过的数据包进行筛选,h3将运行入侵监测开启对经过h3数据的检测。
图10是防火墙运行情况,实验结果显示在该网络结构下构建防火墙成功,c0为控制器负责防火墙策略制定,s1为OpenFlow交换机负责防火墙策略执行。
用户h1处于DMZ区域,用户h2处于内网,通过在h1~h2之间增加包过滤防火墙,允许h1与h2之间通过ICMP数据包,用户间的防火墙策略如图11所示,在两个用户间增加允许通过的防火墙策略后,如图12所示,可以发现h1和h2用户可以执行ping指令。
用户h1位于DMZ区域,DMZ区域设置的目的是为了解决部署防火墙以后外网无法对内网进行访问的问题,是设立在安全区域与非安全区域之间的缓冲,图13结果显示在h1上部署了服务器,服务器对外端口为80,在h1上设立了包过滤防火墙允许外网用户访问DMZ区域的服务器。
用户h3位于内网区域,对目标地址为h3的数据进行入侵监测,当数据流为正常时数据通过,否则将拒绝数据通过,如图14所示对目标地址为h3的数据开启监测功能。
4 结 论
本文使用新型网络架构SDN网络,采用集中控制式网络,通过SDN控制器对网络进行全局监控,实时收集网络情况,并根据情况制定合适的防火墙策略,通过OpenFlow协议将数据转发和安全控制流表下发至交换机等网络设备,网络设备对防火墙策略进行执行,该方案下设计的防火墙策略有包过滤规则和入侵监测,能够对用户进行有效保护,有利于构建新型的网络安全防护体系,满足网络发展需求。
参考文献:
[1] 甘兴龙.综合网管系统中多agent模型与结构的研究和实现 [D].北京:北京交通大学,2009.
[2] 高东松.基于SDN控制器和流量调度的负载均衡策略研究 [D].合肥:安徽大学,2022.
[3] 何亨,蒋俊君,宋亚州.面向创新人才培养的《软件定义网络》课程建设研究 [J].创新创业理论研究与实践,2020,3(19):42-44.
[4] 陈松.基于SDN的故障检测及恢复研究 [D].东营:中国石油大学(华东),2019.
[5] 王瑞雪.面向数据中心的软件定义网络技术研究 [D].北京:北京交通大学,2017.
[6] 董宏勇.网络信息安全的管理与隐患防范研究 [D].呼和浩特:内蒙古大学,2011.
[7] 徐强.基于正则匹配和支持向量机的Web应用防火墙研究 [D].太原:中北大学,2019.
[8] 宋姝雨.基于软件定义安全的防火墙系统设计与实现 [D].杭州:浙江大学,2020.
[9] 周亚球,任勇毛,李琢,等.基于SDN的科学DMZ研究与实现 [J].信息网络安全,2019(9):134-138.
[10] 龚燕波,刘瑛,陈健林.基于OpenFlow流表的云网络异常行为主动监测和处理 [J].电信工程技术与标准化,2019,32(7):34-39.
作者简介:王玉婷(1991—),女,汉族,安徽池州人,助教,硕士,研究方向:大数据技术、5G技术。