关于SDN技术的分布式应用防火墙研究

2023-09-17 22:32袁超
中国新通信 2023年13期
关键词:技术

关键词:应用防火墙;SDN 技术;分布式结构;DPI 技术;虚拟机部署

在“互联网+”技术应用推广的背景下,以HTTP、TCP/IP 为代表的各类应用协议被广泛应用于计算机网络应用层中,这不仅增加了应用层遭受恶意代码、病毒等攻击的概率,同时也对系统防火墙的安全防护性能提出了更高要求。然而传统防火墙多采用集成结构设计,流量数据包解析的范围受限,流量检测、过滤等处理负载明显增大,增加防火墙故障发生概率,会诱发网络通信中断、信息丢失及提高泄密风险。基于此,为满足面向企业级网络结构的防火墙部署需求,建立一种适应虚拟化环境的分布式应用防火墙部署方案是亟待解决的问题。

一、研究基础

(一)应用防火墙与DPI 技术

应用防火墙是一种部署在计算机网络Web 应用层的防火墙,其作用是解决传统部署在网络出口的防火墙基于IP 数据包的源/ 目的地址、源/ 目的端口建立过滤机制,无法对应用层进行安全防护的技术难题[1]。为了解决这一问题,应用防火墙采用深度包检测技术(DPI)对网络流量进行检测分析,并通过捕捉网络数据包的包头、载荷,判断网络数据流量是否存在恶意垃圾邮件、病毒攻击、恶意代码等攻击行为。同时,利用DPI 技术建立对报文的深度分析,按由下至上的顺序将数据分析范围由数据链路帧头、网络层包头、传输层包头扩展至应用层,判定数据流量的类型及其承载的内容等[2]。

(二)SDN 技术与OpenFlow协议

SDN 技术是一种基于软件系统的可编程网络架构,该技术将原交换机、路由器的处理逻辑分离设计,利用统一软件系统实现对数据转发、路由控制功能的集中控制,从而满足网络规模扩展与业务结构调整需求[3]。基于SDN 的网络架构由数据层、控制层、业务层三个层级组成。在数据层设有多个网络设备,利用OpenFlow关于SDN 技术的分布式应用防火墙研究实现网络数据传输功能。在控制层部署SDN 控制器与NOS 操作系统,经API 接口与业务层建立连接,实现业务应用功能[4]。基于SDN 技术建立的网络架构主要借助OpenFlow 协议实现网络通信功能,通过控制器提供的API 接口实现对底层网络设备的集中配置与科学管理,使得网络架构可以适应不同的业务需求,实现灵活的调整与配置。因此,将SDN 技术应用于应用层防火墙部署中,能够为虚拟化、云计算平台下的网络安全防护提供强有力的技术支持[5]。

二、基于SDN 与DPI 技术的分布式应用防火墙系统设计方案

(一)系统架构

1. 物理拓扑架构

其一,采用扩展的负载均衡技术(LB)实行应用防火墙的分布式部署,采用OpenFlow 控制器对数据层的多个网络设备实行集中管控,在OpenFlow 控制器内集成LB 模块与Web 流量重定向模塊,可根据系统需求将数据包分配至应用层不同IP 的防火墙处,实现对数据流量、内部流量的检测、分析及过滤等处理。其二,引入Linux 网络级防火墙技术与应用防火墙有机结合,利用Netfilter、Iptables 等工具对通过防火墙的TCP、UDP等连接方式执行动态追踪,将上传至系统中的IP 报文经由网络层过滤部分流量,再送至应用层实现对数据流量的快速检测与深度过滤,降低组件运行负载。其三,采用DPI 技术将应用层分散分布的各数据包基于数据关联性实现整合设计,保证不同数据包之间建立一定联系,在此基础上完成数据流量检测,有效识别各数据包中携带的攻击特征,增强防火墙系统对网络攻击行为的防御能力。基于以上技术思路设计防火墙系统,采用分布式结构部署服务器、工作站、网络设备、主机与便携式电脑,根据接收到的数据执行业务处理。

2. 软件系统结构

基于SDN 技术、DPI 技术部署分布式防火墙系统,系统整体由Web 界面、控制器、流量重定向、后台用户态程序、后台内核态程序等模块组成,在Web 界面设有API 接口与数据库读写接口,向控制器下发数据配置任务,在后台用户态程序中由主程序模块将流量数据分别传递至流量统计、应用检测与防火墙配置模块,将事件记录后通过数据包队列传递至传统防火墙模块,最终将数据检测结果与负载均衡、流量重定向模块的检测结果比较分析,实现双重过滤与安全防护功能(软件系统结构具体设计情况如图1 所示)。

(二)应用模块设计

1. Web 界面模块

基于Tomcat 服务器提供的Web 前台服务设计防火墙系统Web 界面,在界面中设有控制器配置、传统防火墙、应用过滤、流量查看、安全审计、日记管理、数据库读写及可视化接口模块。当用户在浏览器中输入网址,即可自动跳转至Web 界面,执行控制器配置、应用防火墙组件控制等操作。

2. 控制器模块

该模块设有负载均衡、流量重定向两个功能模块:①负载均衡模块内设有若干NOX 开源负载均衡器,通过建立负载均衡组件实现引流,用于维护系统中任意一个支持对外提供服务的防火墙IP 地址的循环链表,当系统中进入新的数据流量时,利用NOX 负载均衡器将相应数据任务分发至具体防火墙,可实现安全防护机制的循环运行。②流量重定向模块主要采集通过交换机的数据流量与链路信息,根据链路利用率计算结果实现对数据流的优化调度,结合数据流的源/ 目的地址建立服务链并完成优先级排序,以流指令形式发挥对数据流的重定向功能。基于上述原理,利用流量重定向模块识别从负载均衡器处流出的数据流分配结果,可以生成面向指定防火墙的流条目并下发至交换机。同时,该模块可从控制器处接收具体配置信息,将生成的流条目下发至交换机,最终将系统内部流量转发至指定防火墙。

3. 后台用户态程序

在用户态程序中设有主程序、流量统计、应用检测、防火墙配置与事件记录等模块:①主程序模块,该模块直接面向分布式防火墙软件系统设计,用于加载不同防火墙的具体配置信息,生成防火墙内部各模块实例,并完成初始化处理。在主程序模块中设有网络接口,支持与Web 页面建立通信连接,获取Web 前台服务层提供的配置信息,经信息分析、检测后调用相应函数模型,实现应用层防火墙的具体功能。②流量统计模块,该模块主要采集通过防火墙的网络流量,经由数据整理、统计等流程,获取OpenFlow 类协议流量、防火墙流入/流出流量等流量统计结果。③应用检测模块,该模块采用DPI 技术对数据流量包执行检测分析,优化原本开源DPI 架构下的使用功能,支持对应用层协议筛选与识别,完成数据检测、过滤处理等。④防火墙配置模块,该模块主要为包过滤防火墙配置提供服务,利用Linux 提供的防火墙组件解析配置命令,分别定义配置命令的地址、服务、时间等对象,提供实现防火墙功能的过滤规则,并将防火墙配置结果在界面中可视化呈现。⑤事件记录模块,该模块主要为Web 页面中的安全审计、日志管理等功能模块提供服务,用于完善系统规则配置,并提供系统安全预警事件的存储及日志检索等服务。

4. 后台内核态程序

内核态程序以传统防火墙模块为主,该模块利用基于Linux 的网络级防火墙技术,运用传统防火墙下的组件工具实现对数据包的分析与初步过滤,减轻应用防火墙的处理负荷,提高数据包过滤与分析速率。

三、實验环境建构与测试

(一)实验环境

在实验环境设计上,采用VShere 软件提供的开发环境,建立一种在轻量级虚拟机中部署服务器的虚拟化解决方案。首先,在实体服务器的基础上建立多台虚拟机服务器,确保它们之间保持独立运行。虚拟机服务器作为控制器运行载体,通过客户机来实现对服务器的访问与数据配置功能,从而提高实验效率和节约实验成本。在本次实验中,基于Ubuntu 操作系统部署了两台虚拟服务器, 并将它们的IP 地址依次设为192.168.1.0 和192.168.1.1。这两台虚拟服务器的运行内存分别为1GRAM 和40G ROM。同时,还配置一台基于WindowsXP系统的客户机,并采用Chrome 浏览器进行测试。客户机运行内存为12G,磁盘存储空间为500G。在系统测试前,将SDN 控制器分别安装在两台虚拟服务器中,并基于分布式结构在各服务器端创建了虚拟网桥、设置网卡端口,并安装了应用防火墙。同时,在客户机中也安装了SDN 控制器,并将其端口与虚拟服务器网卡端口连接起来,以进行后续的测试。

(二)测试结果

1. 应用防火墙基本操作

基于控制器规则分别在IP 地址为98.0.8.9 和98.0.8.10 的服务器端创建防火墙资源,根据创建资源分配的地址实现访问,在请求输入框内输入创建防火墙资源的字符串,生成128 比特位长度、32 位数字的资料显示结果,确认接口请求成功后系统自动将防火墙资源以字符串形式返回,同时返回HTTP 请求的响应码。

观察防火墙测试结果可以发现,在更新防火墙配置的情况下,指定防火墙UUID、租户ID、状态字段、防火墙模式字段等均显示配置更新不成功、提示信息不可更新错误,这表明防火墙更新功能符合测试要求;在创建防火墙配置测试上,系统支持随机生成UUID 并创建配置,在创建配置资源时指定租户不存在、路由资源不存在等情况下,测试结果均显示配置创建不成功,并提示相关资源错误,证明创建防火墙符合测试要求;在获取防火墙配置测试上,以防火墙资源ID 作为接口参数,按防火墙UUID 成功获取配置资源,当获取配置指定的UUID 不存在时自动提示获取失败并显示“资源ID 不存在”提示,证明防火墙的获取功能符合测试要求;在删除防火墙配置测试上,同样利用防火墙资源ID 配置接口参数,在按防火墙UUID 删除资源时成功删除,在指定UUID 不存在情况下显示删除失败并做出提示,证明防火墙配置删除功能符合测试要求。

2. 应用场景下的测试结果

为证明本文建立的分布式应用防火墙系统能够有效克服传统防火墙系统面临的各项约束条件,拟基于现有实验环境提出以下取证逻辑:①模拟传统防火墙系统结构,设计禁止虚拟机1 访问虚拟机2 的安全控制策略;②检验防火墙是否发挥安全控制功能,当确认虚拟机1无法访问虚拟机2 时,将虚拟机迁移至客户机处判断原安全控制策略是否实效,当发现原防火墙系统中安全控制策略实效,则说明虚拟1 支持访问任意虚拟机;③将虚拟机迁移至原位,在实验环境中部署分布式防火墙结构,并沿用安全控制策略实现分布式防火墙结构下的网络安全部署;④重新使虚拟机1 访问虚拟机2,判断两虚拟机之间能否建立通信连接。

在执行上述取证逻辑构成中,当基于传统防火墙的集成式结构体系中完成安全控制策略部署后,使虚拟机1 恰好位于物理机上,观察到虚拟机1 在访问虚拟机2时出现访问失败现象,由此说明原防火墙系统中安全控制策略发挥实效;此时,将虚拟机1 迁移至虚拟机2 所在的物理主机上,重新观察虚拟机1 能否正常访问虚拟机2,从中发现访问成功,说明原防火墙结构下的安全控制策略实效失效。针对上述现象原因分析可知,在虚拟机1 迁移后两台虚拟机之间的数据流量传递不再通过防火墙,导致原防火墙失去拦截、过滤效果,未能及时检测到两虚拟机之间建立通信连接,造成系统安全风险,究其原因在于传统防火墙系统将虚拟机部署的安全区域与网络拓扑结构实行耦合设计。而在分布式应用防火墙系统中,重新配置禁止两虚拟机访问的安全控制策略,将虚拟机部署的安全区域与原物理拓扑结构实现解耦,保证在虚拟机1 迁移至网络结构中的任意位置时,始终受应用层防火墙安全控制策略的保护,无法在不经过防火墙的情况下访问虚拟机2,由此克服传统防火墙结构在安全防护功能实现上所受的限制条件,实现对数据流量包的深度检测与过滤。

四、结束语

通过结合虚拟化、云计算环境下传统防火墙体系存在等技术瓶颈,本文提出了一种基于SDN 与DPI 技术的分布式防火墙系统设计方案。该方案面向系统应用层规划了安全控制策略,并通过搭建虚拟化实验环境对新型防火墙系统开展了性能测试。测试结果表明,在配置安全控制策略情况下,两个虚拟机之间无法正常访问,有效地发挥了分布式应用防火墙的安全防护功能,支持阻断HTTP、FTP 等多种通信协议下的数据传输,实现了数据流量的有效检测及过滤。然而,现有设计方案仍存在一定性能缺陷,在控制器发生单点故障情况下不支持分布式防火墙组件之间的灵活切换,未来还围绕自动切换功能、接口调用模式、人机界面设计等层面采取相应技术优化措施,为系统安全防护与通信传输安全保障提供良好示范经验。

作者单位:袁超 四川职业技术学院

猜你喜欢
技术
探讨电力系统中配网自动化技术
移动应用系统开发
北京市中小企业优化升级