一种基于高速网络数据处理平台的防火墙方法和系统转让专利

申请号 : CN200610039896.X

文献号 : CN100596351C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 金毅李论蔡圣闻谢俊元谢立

申请人 : 南京大学江苏南大苏富特软件股份有限公司

摘要 :

基于高速数据处理平台的防火墙方法,由系统数据交换支持系统、数据接入及预处理板卡、防火墙数据处理板卡组成;数据接入板实现千兆线速转发,以及数据预处理,通过对需要进一步分析的数据包计算HASH,将它们动态负载均衡的发到多块防火墙处理板卡上进行处理;防火墙数据处理板并行运行,对数据包进行更深入的检查;采用梯度过滤机制:利用策略树和协议栈策略传递机制,将攻击检测、报文分拣、IP过滤、连接状态监控、用户认证、应用协议报文分析、应用协议通信状态检查、内容安全检查等动作,依次组织成一个力度递增的过滤体系:对传统防火墙软件体系的结构进行了调整和优化,达到了较高的网络处理性能。

权利要求 :

1.一种基于高速数据处理平台的防火墙方法,基于高速数据处理系统的硬件平 台由系统数据交换支持系统、数据接入及预处理板卡、防火墙数据处理板卡 组成;其中,数据接入及预处理板实现千兆线速转发,以及数据预处理,通 过对需要进一步分析的数据包计算HASH,将它们动态负载均衡的发到多块 防火墙处理板卡上进行处理;防火墙数据处理板并行运行,对数据包进行更 深入的检查;其特征是采用梯度过滤机制:利用策略树和协议栈策略传递机 制,将攻击检测、报文分拣、IP过滤、连接状态监控、用户认证、应用协 议报文分析、应用协议通信状态检查、内容安全检查动作,依次组织成一个 力度递增的过滤体系:高速数据处理系统具体工作流如下:

101:系统启动时,多块防火墙数据处理板协商选举出防火墙数据主处理板, 负责与系统数据交换支持系统管理用户交互,并对其他板卡进行配置与 管理,启动整个高速数据处理系统;

102:当数据包从WAN/LAN/DMZ进入数据接入及预处理板时,主要进行经 过策略查找、简单过滤、流量控制、地址转换和基于网络协议攻击行为 的检测;通过检查由防火墙策略编译成的规则表,进行高速数据处理系 统内的路由交换,结果有Transfer/Drop/Redirect三种动作,其相应处理 结果如下:Transfer:不受限制的数据包,直接在数据接入及预处理板进行路由转发;

Drop:明确拒绝的数据包,直接丢弃;

Redirect:需要防火墙进一步检查或者需要进行NAT的数据包,根据其 源IP地址、目的IP地址、源端口和目的端口等特征计算HASH,根据 此HASH值负载均衡的重定向到防火墙数据处理板即x86Node板对应 的逻辑接口;

103:当数据包到达防火墙数据处理板即x86Node板后,对数据包进行应用 层安全检查和状态检查、内容安全检查、路由选择,经处理之后的数据 包,仍发回数据接入及预处理板进行路由转发。

2.由权利要求1所述的基于高速数据处理平台的防火墙方法,其特征是所述防 火墙数据处理板同步及选举防火墙数据主处理板的方法及步骤是:

201:各防火墙数据处理板根据其插入的槽位获得自己的id;

202:各防火墙数据处理板广播自己的id,id最小者获得防火墙数据主处理 板身份;

203:系统初始化,防火墙数据主处理板配置接入板路由转发规则,使管理 数据以及认证数据重定向到该防火墙数据处理板,因而所有管理连接都 经由防火墙数据主处理板处理,通过防火墙数据主处理板管理整个高速 数据处理系统的工作;

204:防火墙数据主处理板动态检查防火墙数据处理板的可用性,如发现出 现问题的,则动态调整系统负载均衡策略,重新配置接入板的HASH计 算规则,不再将数据发往出问题的防火墙数据处理板;

205:若主防火墙数据处理板出现问题,其他防火墙数据处理板在失去与防 火墙数据主处理板的通讯后,重新进行选举,使新选举的防火墙数据处 理板承担原防火墙数据主处理板的工作,系统重新初始化;

206:当有新防火墙数据处理板接入时,广播自己的id,若比防火墙数据主 处理板id小,则接替原防火墙数据主处理板的工作,系统重新进行初始 化;若比防火墙数据主处理板大,则由防火墙数据主处理板对其进行配 置,并动态调整系统负载均衡策略,重新配置接入板的HASH计算规则, 将部分数据发往新防火墙数据处理板处理。

3.由权利要求1所述的基于高速数据处理平台的防火墙方法,其特征是根据数 据包的源IP地址、端口和目的IP地址、端口计算HASH,根据该HASH值 决定将其送往哪个防火墙数据处理板进行处理;进行网络地址转换NAT时, 由于对IP地址和端口进行了转换,用传统的NAT方法,可能导致转换前后 的HASH值不同,使同一连接的数据包发往了不同的处理板,这样NAT将 无法正常进行工作;对NAT算法改进方法的步骤是:

301:防火墙数据主处理板配置接入板负载均衡策略,将HASH可能的结果 值平均的分配到设有的四块防火墙数据处理板;HASH结果为0~7,则 防火墙数据处理板与HASH值得对应关系可为A(0、1),B(2、3), C(4、5),D(6,7),即当计算数据包的HASH结果为0和1时,该 数据包送交防火墙数据处理板A进行处理;

若需要进行源NAT:

302:当内网主机尝试访问外网的某个服务时,设有的交换板收到数据包后, 根据这个四元组进行HASH得到X,进而将这条连接的数据包转发到 HASH值X对应的防火墙数据处理板N上进行处理;

303:防火墙数据处理板N收到数据包后,根据NAT规则发现该数据包需要 进行源NAT,即四元组中的目的IP地址和目的端口不变,源IP地址替 换为NAT规则中的相应IP地址,NAT地址往往是防火墙的外网卡,源 端口则替换为某个数字,这个数字在传统的NAT算法中可能是随机的, 但在这里它必须选用一个与其他三个参数的HASH值也为X的数字即 NAT端口;

304:防火墙数据处理板N经过上述NAT处理之后,将数据包发往数据接入 及预处理板向外网转发;所述数据包包括NAT地址和NAT端口,以及 目的IP地址和目的端口:

305:外网服务器收到数据接入及预处理板转发来的数据包时,发出应答数 据包,并到达交换板,因为步骤303中的操作,使得交换板计算的HASH 值仍然为X,该数据包,仍送交防火墙数据处理板N进行处理;应答数 据包包括目的IP地址和目的端口,以及NAT地址和NAT端口;

306:防火墙数据处理板N根据内存中的NAT记录,对数据包进行NAT转 换,将应管数据包变为目的IP地址和目的端口,源IP地址+源端口;

307:防火墙数据处理板N经过上述NAT处理之后,将数据包目的IP地址+ 目的端口和源IP地址和源端口发往数据接入及预处理板向内网转发;

308:内网主机收到外网服务的应答数据包,并重复上述步骤进行通讯,直 到服务完成;

若需要进行目的NAT:

309:当外网主机尝试访问内网某个服务时,交换板收到数据包后,根据这 个四元组进行HASH得到X,进而将这条连接的数据包转发到HASH 值X对应的防火墙数据处理板N上进行处理;

310:防火墙数据处理板N收到数据包后,根据NAT规则发现该数据包需要 进行目的NAT,即将目的IP地址和目的端口转化为内部实际提供服务 的主机的内网NAT地址和内网NAT端口,在传统的NAT算法中,其他 两项保持不变,但在这里需要同时将源IP地址替换为NAT源IP地址, 这个值与其他三个参数的HASH值也为X;

311:防火墙数据处理板N经过上述NAT处理之后,将数据包发往数据接入 及预处理板向内网转发;所述数据包包括NAT源IP地址和源端口,以 及内网NAT地址和内网NAT端口;

312:内网服务器收到接入板转发来的数据包时,发出应答数据包,并到达 交换板,因为步骤303中的操作,使得交换板计算的HASH值仍然为X, 该数据包,仍送交防火墙数据处理板N进行处理;所述应答数据包包括 内网NAT地址和内网NAT端口以及NAT源IP地址和源端口;

313:防火墙数据处理板N根据内存中的NAT记录,对数据包进行NAT转 换,将应答数据包变为目的IP地址和目的端口,源IP地址和源端口;

317:防火墙数据处理板N经过上述NAT处理之后,将数据包发往数据接入 及预处理板向外网转发;

318:外网主机收到内网服务的应答数据包,并重复上述步骤进行通讯,直 到服务完成。

说明书 :

技术领域

本发明涉及高速网络环境中的网络防火墙技术,对高速网络环境中的数据进 行分布处理,实现负载均衡,属于计算机安全领域。

背景技术

随着互联网的迅猛发展,互联网的强大作用在人们的日常工作、生活和娱乐 中都在发挥着其不可替代的地位。由于技术的不断更新,现在的网络速度越来越 快,带宽也从十兆发展到百兆、千兆,乃至万兆的带宽。高速度、高性能的网络 确实为我们使用网络提供了更好的条件,也提高了我们的效率。但是,在我们享 受高速网络给我们带来的便利时。一些别有用心的不法分子,和网络上泛滥的各 类网络病毒,也借助现在的高速网络以几何级的速度在传播和破坏我们的系统。 面对千兆的带宽,传统的百兆防火墙以及部分准千兆的防火墙都无法为目前的千 兆网络提供有效的保护措施。

发明内容

本发明提供了一种基于高速数据处理平台的防火墙系统的实现方式,这种方 式充分利用了硬件数据处理的高性能和软件功能的高扩展性,构建了一个性能优 良,功能强大,可靠性,可扩充性良好的防火墙系统。
系统的硬件平台,由系统数据交换支持系统、数据接入及预处理板卡、防火 墙数据处理板卡组成。其中,接入板可实现千兆线速转发,以及数据预处理,通 过对需要进一步分析的数据包计算HASH,将它们动态负载均衡的发到多块防火 墙处理板卡上进行处理;防火墙数据处理板并行运行,以使整个系统达到千兆线 速所需的处理效率;系统数据交换支持系统,则负责在各系统部件之间进行数据 传送。
一种基于高速数据处理平台的防火墙系统和方法,基于高速数据处理系统的 硬件平台,由系统数据交换支持系统、数据接入及预处理板卡、防火墙数据处理 板卡组成。其中,接入板可实现千兆线速转发,以及数据预处理,通过对需要进 一步分析的数据包计算HASH,将它们动态负载均衡的发到多块防火墙处理板卡 上进行处理;防火墙数据处理板并行运行,对数据包进行更深入的检查。其特征 是采用梯度过滤机制:利用策略树和协议栈策略传递机制,将攻击检测、报文分 拣、IP过滤、连接状态监控、用户认证、应用协议报文分析、应用协议通信状 态检查、内容安全检查等动作,依次组织成一个力度递增的过滤体系。
高速数据处理平台是一种结合硬件系统平台及软件分布实施组件技术的系 统平台,该平台包含多个异构的处理单元,异构的处理单元采用不同的芯片技术 和硬件架构,多个处理单元构成一个基于以太网的协作集群,防火墙的软件系统 在集群上进行并行计算,在各处理单元间实现高效的通信和高效的处理同步机 制,从而提供了另一种高性能防火墙系统的解决方案,在应对大量应用数据分析 处理时,由于数据包被分配到不同的数据处理存储单元进行处理,避免了单一 NP的ASIC芯片的防火墙系统负载过高而性能下降的问题。
本发明采用梯度过滤机制。这一机制根据不同主体安全需求的差异性划分安 全需求,利用策略树和协议栈策略传递机制,将攻击检测、报文分拣、IP过滤、 连接状态监控、用户认证、应用协议报文分析、应用协议通信状态检查、内容安 全检查等动作,组织成一个力度递增的过滤体系。通过性能测试,我们发现梯度 过滤策略使得防火墙的安全防护能力大大提高。
具体工作流如下:
101:系统启动时,多块处理板协商选举出主处理板,负责与系统管理用户 交互,并对其他板卡进行配置与管理,启动整个系统;
102:当数据包从WAN/LAN/DMZ进入接入板时,主要进行经过策略查找、 简单过滤、流量控制、地址转换和基于网络协议攻击行为的检测。通过 检查由防火墙策略编译成的规则表,进行系统内的路由交换,结果有 Transfer/Drop/Redirect三种动作,其相应处理结果如下:
Transfer:不受限制的数据包,直接在接入板进行路由转发;
Drop:明确拒绝的数据包,直接丢弃;
Redirect:需要防火墙进一步检查或者需要进行NAT的数据包,根据其 源IP地址、目的IP地址、源端口和目的端口等特征计算HASH,根据 此HASH值负载均衡的重定向到x86Node板对应的逻辑接口;
103:当数据包到达x86Node板后,对数据包进行应用层安全检查和状态检 查、内容安全检查、路由选择,经处理之后的数据包,仍发回接入板进 行路由转发。
本发明还改进实现了一些算法。
X86板同步及选举:
201:各Node板根据其插入的槽位获得自己的id;
202:各Node板广播自己的id,id最小者获得主Node板身份;
203:系统初始化,主处理板配置接入板路由转发规则,使管理数据以及认 证数据重定向到该Node板,因而所有管理连接都经由主处理板处理, 通过主处理板管理整个系统的工作;
204:主处理板动态检查处理板的可用性,如发现出现问题的,则动态调整 系统负载均衡策略,重新配置接入板的HASH计算规则,不再将数据发 往出问题的处理板;
205:若主处理板出现问题,其他处理板在失去与主处理板的通讯后,重新 进行选举,使新选举的处理板承担原主处理板的工作,系统重新初始化;
206:当有新处理板接入时,广播自己的id,若比主处理板id小,则接替原 主处理板的工作,系统重新进行初始化;若比主处理板大,则由主处理 板对其进行配置,并动态调整系统负载均衡策略,重新配置接入板的 HASH计算规则,将部分数据发往新处理板处理。
NAT也做了相应的改进。NAT(网络地址转换)是防火墙必备功能之一。它 不但对内网地址实现了屏蔽防止外网黑客攻击,而且提高了公网地址的利用率, 大大缓解了公网地址不足的问题。考虑到在现有的硬件平台上,所有数据包在转 发到防火墙处理板进行分析前都要经过交换板的负载分配处理。如果沿袭传统地 对NAT的处理过程,那么可能会造成数据的回应包与源数据包不是由同一块处 理板处理,而导致NAT功能无法实现。为此,本发明考虑采用以下方案:
301:主处理板配置接入板负载均衡策略,将HASH可能的结果值(基本) 平均的分配到多块处理板,例如:HASH结果为0~7,有四块处理板, 则处理板与HASH值得对应关系可为A(0、1),B(2、3),C(4、5), D(6,7),即当计算数据包的HASH结果为0和1时,该数据包送交 处理板A进行处理;
若需要进行源NAT:
302:当内网主机(源IP地址+源端口)尝试访问外网的某个服务(目的IP 地址+目的端口)时,交换板收到数据包后,根据这个四元组进行hash 得到X,进而将这条连接的数据包转发到hash值X对应的处理板N上 进行处理;
303:处理板N收到数据包后,根据NAT规则发现该数据包需要进行源NAT, 即四元组中的(目的IP地址+目的端口)不变,源IP地址替换为NAT 规则中的相应IP地址(NAT地址,往往是防火墙的外网卡),源端口则 替换为某个数字,这个数字在传统的NAT算法中可能是随机的,但在 这里它必须选用一个与其他三个参数的hash值也为X的数字(NAT端 口);
304:处理板N经过上述NAT处理之后,将数据包(NAT地址+NAT端口, 目的IP地址+目的端口)发往接入板向外网转发;
305:外网服务器收到接入板转发来的数据包时,发出应答数据包(目的IP 地址+目的端口,NAT地址+NAT端口),并到达交换板,因为步骤303 中的操作,使得交换板计算的HASH值仍然为X,该数据包,仍送交处 理板N进行处理;
306:处理板N根据内存中的NAT记录,对数据包进行NAT转换,将应答 数据包变为(目的IP地址+目的端口,源IP地址+源端口);
307:处理板N经过上述NAT处理之后,将数据包(目的IP地址+目的端口, 源IP地址+源端口)发往接入板向内网转发;
308:内网主机收到外网服务的应答数据包,并重复上述步骤进行通讯,直 到服务完成;
若需要进行目的NAT:
309:当外网主机(源IP地址+源端口)尝试访问内网某个服务(目的IP地 址+目的端口)时,交换板收到数据包后,根据这个四元组进行hash得 到X,进而将这条连接的数据包转发到hash值X对应的处理板N上进 行处理;
310:处理板N收到数据包后,根据NAT规则发现该数据包需要进行目的 NAT,即将目的IP地址+目的端口转化为内部实际提供服务的主机的内 网NAT地址和内网NAT端口,在传统的NAT算法中,其他两项保持不 变,但在这里需要同时将源IP地址替换为某个值(NAT源IP地址), 这个值与其他三个参数的hash值也为X;
311:处理板N经过上述NAT处理之后,将数据包(NAT源IP地址+源端口, 内网NAT地址+内网NAT端口)发往接入板向内网转发;
312:内网服务器收到接入板转发来的数据包时,发出应答数据包(内网NAT 地址+内网NAT端口,NAT源IP地址+源端口),并到达交换板,因为 步骤303中的操作,使得交换板计算的HASH值仍然为X,该数据包, 仍送交处理板N进行处理;
313:处理板N根据内存中的NAT记录,对数据包进行NAT转换,将应答 数据包变为(目的IP地址+目的端口,源IP地址+源端口);
307:处理板N经过上述NAT处理之后,将数据包(目的IP地址+目的端口, 源IP地址+源端口)发往接入板向外网转发;
308:外网主机收到内网服务的应答数据包,并重复上述步骤进行通讯,直 到服务完成。

附图说明

图1为本发明防火墙软件体系分布结构图。
图2为本发明防火墙系统数据处理流程图。
图3为本发明方法示意图

具体实施方式

以下结合附图和具体实施例对本发明做进一步说明:
如图1所示,整个防火墙软件系统由远程GUI模块(包括系统配置1、策略 及日志审计配置2、日志分析3、实时监控4、示警5)、认证模块(包含客户端6 和服务端7)、控制管理模块8、Node板同步模块9、交换板管理模块10、功能模 块(包括包过滤11和代理12)、日志服务器模块13组成。
防火墙系统位于企业与Internet数据交换的核心节点处,基于高速数据处理 平台的防火墙系统的部署位置与传统防火墙类似,对外防火墙提供2个以上接 口,分别对应于Lan、Wan和DMZ区域(如果有的话)。
如图2所示,网络数据包通过对外接口进入防火墙系统,防火墙系统的数据 接收模块对这些数据包进行第一层的过滤,判断数据包是否合法,是否满足接入 数据处理板的合法性规则,如果数据包合法,则将数据包传递给数据分发模块。 数据分发模块根据数据包的源地址、源端口、源Mac地址、目的地址、目的端 口、目的Mac地址等属性进行Hash运算,根据运算结果将数据包转发至相应的 数据处理板进行正常的防火墙处理。防火墙根据内部的包过滤及代理策略对数据 包进行相应的处理后,根据状态表中记录的数据连接状态对数据包进行相应修改 后将数据包传给数据转发模块。数据转发模块则负责将数据包重新发回接入数据 板,根据数据包的信息转发给Lan或Wan区域。