用于分布式多重处理安全网关的系统和方法

文档序号:6618639阅读:232来源:国知局
专利名称:用于分布式多重处理安全网关的系统和方法
技术领域
本发明大体上涉及数据网络,更具体地,用于分布式多重处理 安全网关的系统和方法。
背景技术
随着越来越多的计算4几通过凄史据网络连4妄并且越来越多的应 用程序将数据网络用作它们的功能,数据网络活动性增大。因此, 避免数据网络违反安全性变得更加重要。
当前存在许多安全网关,例如,防火墙、VPN防火墙、父母控 制应用、电子邮件病毒4企测网关、用于网络钓鱼(phishing)和间 谍软件(spyware)的专用网关、入侵检测和防护应用、4妻入控制网 关、身份管理网关、以及许多其他类型的安全网关。这些产品通常 利用通用4效处理器(例如,Intel Pentium、 AMD处理器或SPARC 处理器)、或者基于^者:^MIPS架构、PowerPC架构、或ARM架构 的RISC架构的嵌入式孩先处理器来实现。
孩史处理器架构在其处理能力方面受到限制。通常它们能够处理 达到每秒千兆比特的带宽。在过去几年中,凝:据网络带宽利用以快 于微处理器能力的提高的速度在增加。今天,在许多介质和大的安 全公司数据网络中不难见到每秒几千兆比特的数据网络带宽利用。 期望提供一种使在包括小型商业数据网络、居民网络和服务提供商 数据网络的大多数数据网络中变得更加流行的方案。增加数据网络使用的趋势显示出了对更好和更高能力的安全 网关的需要,特别是在使用多个处理元件中(每个处理元件都是孩爻 处理器,或者基于微处理架构),以相互合作地工作来保护数据网 络。

发明内容
一种用于分布式多重处理安全网关的系统和方法创建主枳J则 会话,基于网络信息选择服务器的代理服务器网络地址,以及使用 该代理服务器网络地址创建服务器侧会话。选择代理服务器网络地
的数据包。网络信息包括安全网关网络地址和主才几网络地址。通过 以这种方式分配处理元件,提供了更高能力的安全网关。


图la示出了安全数据网络。
图lb示出了网络i也址專争」换(NAT)处理的扭兑略图。 图lc示出了用于TCP会话的NAT处理。 图2示出了分布式多重处理安全网关。 图3示出了调度处理。
图4示出了代理服务器网络地址选择处理。
具体实施例方式
图la示出了安全数据网络。安全网关170保护安全数据网络
199。
在一个实施例中,安全数据网络199是居民凝:据网症各。在一个 实施例中,安全数据网络199是企业网络。在一个实施例中,安全 数据网络199是区域企业网络。在一个实施例中,安全数据网络199 是服务l是供商网络。
在一个实施例中,安全网关170是居民宽带网关。在一个实施 例中,安全网关170是企业防火墙。在一个实施例中,安全网关170 是区域/>司防火墙或者部门防火墙。在一个实施例中,安全网络170 是企业虚拟专用网络(VPN)防火墙。在一个实施例中,安全网关 170是服务提供商网络的互联网网关。
当安全数据网络199中的主机130访问安全数据网络199外的 服务器110时,主机130通过安全网关170创建与服务器110的会 话。在会话中在主机130和服务器110之间交换的数据包通过安全 网关170进行传递。在会话中处理数据包期间,安全网关170应用 多个安全策略。安全策略的实例包4舌网络地址-f呆护、内容过滤、病 毒检测和侵袭防护、间谍软件或网络钓鱼阻止、网络入侵或拒绝服 务防护、lt据流量监控、或者凄t据流量截取(interception )。
图lb示出了网络i也址專t换(NAT)处理的冲既略图。
在一个实施例中,安全策略是保护主机130的网络地址。主才几 130在主才几130和月l务器110之间的会话160中^f吏用主才几网纟各;t也址 183。在一个实施例中,主4几网全各i也址183包4舌主才几130的IP i也址。 在另 一实施例中,主才几网3各地址183包4舌主才几130的会话端口 i也址。安全网关170通过不泄露主才几网络地址183来4呆护主才几130。 当主才几130将对会话160的会话请求发送到安全网关170时,会话 i青求包4舌主4几网络地址183 。
安全网关170创建与主才几130的主才几侧会话169。主才几130在 会话169中4吏用主才几网络地址183。
安全网关170选择代理服务器网络地址187。安全网关170使 用代理服务器网络地址187来创建与服务器110的服务器侧会话 165。
会话160
包括服务器侧会话165和主机侧会话169-
安全网关170对会话160执行网络地址转换(NAT)处理。安 全网关170通过以主机网络地址183代替代理服务器网络地址187 来对在服务器侧会话165上接收到的数据包执行网络地址转换处 理。安全网关170将转换的数据包传输到主机侧会话169上。类似 地,安全网关170通过以代理服务器网络地址187代替主机网络地 址183来对在主机侧会话169上接收到的数据包执行网络地址转换 处理。安全网关170将转换的数据包传输到服务器侧会话165上。
在一个实施例中,会话160是传输控制协议(TCP)会话。在 一个实施例中,会话160是用户数据报协议(UDP)会话。在一个 实施例中,会话160是网间控制才艮文协议(ICMP)会话。在一个 实施例中,会话160基于在IP协议上的传输会话协议。在一个实施 例中,会话160基于在IP协议上的应用会话协议。
图lc示出了用于TCP会话的NAT处理。主机130发送用于创建与服务器110的会话160的会话请求 192。会话160是TCP会话。会话请求192包括主机网络地址183 和服务器网络地址184。安全网关170接收会话请求192。安全网 关170 乂人会话_清求192中才是取主才几网络地址183。安全网关170确 定^^理"良务器网络地址187。在一个实施例中,主才几网络地址183 包括主才几的IP地址,并且安全网关170确定用^理服务器IP地址 来代替主才几的IP地址。在一个实施例中,主才几网络地址183包4舌主 机的TCP端口号,并且安全网关170确定用代理月l务器TCP端口 号来代替主机的TCP端口号。安全网关170从会话请求192中^是取 服务器网络地址184。安全网关170基于服务器网络地址184和代 理服务器网络地址187创建与服务器110的服务器侧会话165。月良 务器侧会话165是TCP会话。
安全网关170还通过响应于会话请求192来创建与主机130的 主才几侧会话169。
在创建服务器侧会话165和主机侧会话169之后,安全网关170 处理来自服务器侧会话165和主机侧会话169的数据包。
在一个实施例中,安全网关170接收来自月良务器侧会话165的 数据包185。数据包185包括月良务器网络地址184和代理服务器网 络地址187。安全网关170才是取月良务器网络地址184和^理月l务器 网络地址187。安全网关170基于所提取的网络地址来确定主才几侧 会i舌169。安全网关170还乂人主才几侧会话169中确定主才几网络;也址 183。安全网关170通过首先以主机网络地址183代替代理服务器 网络地址187来更改tt据包185。安全网关170更改凄t据包185的 其他部分,例如,TCP4交-验和、IP报头校-验和。在一个实施例中, 安全网关170通过以主机网络地址183代替任何使用的代理服务器 网络地址187来更改凄t据包185的有效载荷。在安全网关170完成更改tt据包185之后,安全网关17(M夸更 改后的lt据包185传输到主才几侧会话169上。
以类似的方式,安全网关170接收来自主机侧会话169的凝:据 包188。教:据包188包括服务器网络地址184和主机网络地址183。 安全网关170提取服务器网络地址184和主机网络地址183。安全 网关170基于所^是取的网络地址来确定服务器侧会话165。安全网 关170还从服务器侧会话165中确定代理服务器网络地址187。安 全网关170通过首先以代理服务器网络地址187代替主才几网络i也址 183来更改凄t据包188。安全网关170更改凄t据包188的其他部分, 例如,TCP校验和、IP才艮头冲交-验和。在一个实施例中,安全网关 170通过以代理服务器网络地址187代替任何使用的主机网络地址 183来更改凄t据包188的有效载荷。
在安全网关170完成更改凄史据包188之后,安全网关17(M寻更 改后的数据包188传输到服务器侧会话165上。
图2示出了分布式多重处理安全网关。
在一个实施例中,安全网关270是分布式多重处理系统。安全 网关270包括多个处理元件。处理元件272包括存々者才莫块。存々者才莫 块存储主机网络地址、代理服务器网络地址和用于使处理元件272 应用图1所描述的安全策略的其他信息。处理元件272具有处理元 件标识(identity ) 273。
安全网关270包括调度器275。调度器275接收数据包并确定 处理元件来处理ft据包。调度器275通常基于ft据包来计算处理元 件标识。基于计算出的处理元件标识,安全网关270将凄丈据包分配 纟合所标识的用于进4于处理的处理元件。在一个实施例中,调度器275接收来自主机侧会话269的凝:据 包288,并基于数据包288中的主机网络地址和服务器网络地址来 计算第一处理元件标识。在另一实施例中,调度器275接收来自服 务器侧会话265的数据包285,并基于数据包285中的代理服务器 网络地址和服务器网络地址来计算第二处理元件标识。
安全网关270包括网络地址选择器277。网络地址选择器277 基于网络信息选择代理服务器网络地址。网络信息包括在对会话 260的会话请求中获得的主机网络地址和安全网关网络地址。还可 以使用其他类型的网络信息。代理服务器网络地址被用于创建服务 器侧会话265。选择代理服务器网络地址,以使通过调度器275计 算出的第一处理元件才示识和第二处理元件标识4目同。^换句诏 说,分 配同一处理元件来处理来自月良务器侧会话265的凄t据包285和来自 主机侧会话269的数据包288。
图3示出了调度处理。
调度器375基于从会话360的数据包385中获得的两个网络地 址来计算处理元件标识。会话360包括主机侧会话369和服务器侧 会话365。主机侧会话369的两个网络地址是服务器网络地址和主 机网络地址。服务器侧会话365的两个网络地址是代理服务器网络 地址和服务器网络地址。调度器375计算用于主机侧会话369和月良 务器侧会话365的同一处理元件标识。
在一个实施例中,调度器375基于哈希函凄t来进^f亍计算。
在一个实施例中,调度器375通过将两个网络i也址相加来i十算 和。在一个实例中,调度器375通过对以二进制数表示的两个网络 地址执行二进制计算(例如,异或(XOR )二进制计算、或者与(AND ) 二进制计算)来计算和。在一个实例中,调度器375通过首先提取两个网络i也址的 一部分(例如,网绍_地址的前4 4立)并爿夸i者如二进 制运算的运算应用于所提取的部分来计算和。在一个实例中,调度 器375通过首先4吏两个网络地址与一个数字相乘并将i者如加法的运 算应用于该乘积来计算和。
在一个实施例中,调度器375通过处理该和来计算处理元4牛才示 识。在一个实施例中,在安全网关370中有4个处理元件。在一个 实例中,调度器375提取和的前两位,并将所^是取的前两位翻"i奪为 0到3之间的一个数字。在一个实例中,调度器375提取和的第一 位和最后一位,并将所提取的两位翻译为0到3之间的一个数字。 在一个实例中,调度器375将和除以4,并确定该除法的余婆t。该 余数是在0到3之间的数。
在一个实施例中,安全网关370包括8个处理元件。调度器375 提取和的3位,并将所提取的三位翻译为0到7之间的一个数字。 在一个实例中,调度器375将和除以8,并确定该除法的余凄丈。该 余凄t是O到7之间的凄史。
在一个实施例中,网络地址包括IP地址和会话端口地址。调 度器375计算两个网结d也址的IP i也址和会i舌端口地JaL的和。
尽管上述教导基于上述哈希函数,但是对于本领域技术人员来 说,实现用于调度器375的不同哈希函数应当是显而易见的。
图4示出了代理月良务器网络地址选择处理。
网络地址选择器477为主机网络地址483选择代理服务器网络 ;也址487。在一个实施例中,主冲几网络地址483包4舌主才几IP i也址484 和主机会话端口地址485;代理服务器网络地址487包括代理月良务 器IP地址488和代理服务器会话端口地址489。选择代理服务器网络地址487,以^f吏调度器475计算对于主机侧会话469和服务器侧 会话465的同 一处理元件标识。
在一个实施例中,选择处理基于图3所示的调度处理。在一个 实例中,调度器475使用计算两个IP地址以及两个会话端口地址的 和的方法,然后将和除以4。在一个实施例中,网络地址选择器477 首先选择^理力良务器IP地址488。然后,网纟各地址选4奪器477选择 代理服务器会话端口地址489,以使当对服务器网络地址490和主 机网络地址483使用该方法时,与当对服务器网络地址490和代理 服务器网络地址487使用该方法时一样,调度器475计算同一处理 元件标识。
在一个实例中,调度器475根据两个网络地址的二进制蓮算符 XOR来计算和,并提取该和的后3个数字。网纟各地址选择器477 选择后3个数字与主机会话端口地址485的后3个数字相同的代理 服务器会话端口地址489。
在一个实施例中,安全网关470执行用于多个现有会话的网络 地址转换处理。网络地址选择器477 4企查所选4奪的代理月良务器网结_ 地址487是否未被用在多个现有会话中。在一个实施例中,安全网 关470包括数据存储器(datastore ) 479。数据存储器479存储用在 多个现有对话中的多个^理月艮务器网络地址。网全各地址选择器477 通过比较所选择的代理服务器网络地址487与所存储的多个代理月良 务器网络地址并且没有发现匹配来确定所选择的代理服务器网络 地址487未祐 使用。
在一个实施例中,处理元件包括网络地址选择器。处理元科^妄 收由安全网关基于由调度器计算的处理元件标识所分配的翁:才居包。 在一个实施例中,处理元件确定凄t据包包括会话:清求。处理元4牛中的网络地址选择器基于如图4所示的会话请求中的主机网络地址来 选择^理月l务器网络地址。
在一个实施例中,特定的第 一处理元件包4舌网络地址选择器。 没有网络地址选择器的第二处理元件接收凄t据包并确定该ft才居包 包括会话请求。第二处理元件使用例如远程函数调用将该数据包发 送到第一处理元件。第一处理元件4妄收该数据包。网络地址选才奪器 基于会话请求中的主才几网络i也址来选择代理月良务器网绍d也址。
在一个实施例中,在处理元件的存储模块中实现数据存储器。 在一个实施例中,在翁:据存々者器中的多个代理月良务器网全各地址^皮存 储到每个处理元件的每个存储模块中。在一个实施例中,利用在存 储在处理元件的存^f诸才莫块中的由处理元件处理的会话中4吏用的 理服务器网络地址,以分发的方式将数据存储器中的多个代理服务 器网络地址存储到存储模块中。
在一个实施例中,安全网关包括由多个处理元件共享的存4诸 器。安全网关将共享的存储器划分为多个存储区。处理元件对专用 存4诸区进^f亍"i方问,而不乂于其4也存+者区进4iS方问。
在一个实施例中,安全网关包括中央处理单元。在一个实施例 中,中央处理单元包括多个处理线程,例如,超线程、孩史引擎、或 者在诸如特定用途集成电路(ASIC)或现场可编程门阵列(FPGA) 的电路中实现的其他处理线程。 一个处理元件为一个处理线程。
在一个实施例中,中央处理单元包括多个樣i处理器核心。 一个 处理线^f呈为一个孩i处理器核心。
在一个实施例中,安全策略用于病毒4企测或阻止。在一个实施 例中,安全策略用于网络钓鱼检测或阻止。在一个实施例中,安全策略用于流量定额强制。在一个实施例中,安全策略用于合法凝:才居 截取。
在一个实施例中,NAT处理用于UDP会话。在一个实施例中, 安全网关接收UDP包。在一个实施例中,安全网关确定UDP包不 是来自现有会话。安全网关将UDP包作为会话请求进行处理。
在一个实施例中,NAT处理用于ICMP会话。以相同的方式, 安全网关将来自非现有会话的ICMP包作为会话请求进行处理。
权利要求
1.一种用于提供包括多个处理元件的安全网关的方法,包括以下步骤(a)创建主机侧会话;(b)基于网络信息为服务器选择代理服务器网络地址;以及(c)使用所述代理服务器网络地址来创建服务器侧会话,其中,选择所述代理服务器网络地址,以分配同一处理元件来处理来自所述服务器侧会话和所述主机侧会话的数据包。
2. 根据权利要求1所述的方法,其中,所述网络信息包括安全网 关网纟各i也i止和主才几网纟各i也i止。
3. 根据权利要求1所述的方法,还包括(d)接收来自所述主机侧会话的数据包;(e )才艮据所述凄t提包中的月l务器网结-地址和主才几网络地 址来计算所述处玉里元4牛的标i只;以及(f) 将所述凄t据包的处理分配给所述处理元件,其中, 才艮据安全策略对所述凄t据包进4亍处理。
4. 根据权利要求3所述的方法,还包括(g) 接收所处理的数据包;(h )以所述4<理"良务器网络地址来K替所述所处理的凄t 据包中的所述主才几网络地址;以及(i)将所述所处理的数据包发送到所述服务器侧会话。
5. 根据权利要求1所述的方法,还包括(d)接收来自所述服务器侧会话的数据包;(e )才艮据所述数据包中的服务器网络地址和代理服务器 网络地址来计算所述处理元件的标识;以及(f) 将所述lt据包的处理分配给所述处理元件,其中, 根据安全策略对所述数据包进行处理。
6. 根据权利要求5所述的方法,还包括(g) 接收所处理的数据包;(h) 以所述主才几网络地址来代/齐所述所处理的凝:寺居包中 的所述代理月l务器网络地址;以及(i) 将所述所处理的凄t据包发送到所述主才几侧会话。
7. 根据权利要求1所述的方法,其中,所述选择步骤(b)包括(bl )基于主机网络地址选择所述代理服务器网络地址;以及(b2 )通过将所述代理服务器网络地址与数据存储器的 地址进^f亍比專交来确定所述代理月良务器网络地址在现有会话中 未被使用。
8. —种安全网关,包4舌多个处理元件;网络地址选择器,用于接收对在主机和服务器之间的会 话的会话请求,并用于基于网络信息为所述服务器选择代理服 务器网络地址;以及调度器,用于分配处理元件来处理来自服务器侧会话和 主冲几侧会话的数据包,其中,通过所述网络地址选择器选择所述代理月艮务器网 络地址,以分配同 一处理元件来处理来自所述服务器侧会话和 所述主才几侧会话的数据包。
9. 根据权利要求8所述的安全网关,其中,所述网络信息包括安 全网关网^各i也iih和主才几网症各;也iit 。
10. 根据权利要求8所述的安全网关,其中,所述调度器用于接收来自所述主机侧会话的数据包;才艮据所述凄t据包中的月良务器网络地址和主才几网绍_地址来 计算所述处理元件的标识;以及将所述数据包的处理分配给所述处理元件,其中,才艮据 安全策略对所述凄t据包进4于处理。
11. 才艮据权利要求IO所述的安全网关,其中,所述调度器还用于*接收所处理的#1据包;以所述^R理月良务器网络地址来代替所述所处理的lt据包 中的所述主4几网绍d也址;以及将所述所处理的数据包发送到所述服务器侧会话。
12. 根据权利要求8所述的安全网关,其中,所述调度器用于接收来自所述服务器侧会话的数据包;才艮据所述数据包中的月良务器网络地址和代理月良务器网络 ;也址来计算所述处理元件的标识;以及将所述凄t据包的处理分配给所述处理元件,其中,才艮据 安全策略对所述数据包进行处理。
13. 根据权利要求12所述的安全网关,其中,所述调度器还用于*接收所处理的#:据包;以所述主才几网络地址来代卢夺所述所处理的凝:据包中的所 述代理服务器网络地址;以及将所述所处理的数据包发送到所述主才几侧会话。
14. 根据权利要求8所述的安全网关,还包括数据存储器,用于 存储现有会话的代理服务器网络地址,其中,所述网络地址选 择器通过将所述代理服务器网络地址与所述数据存储器中的 地址进行比较来确定所述代理服务器网络地址在现有会话中 未被使用,其中,所述网络地址选择器基于主机网络地址来选 择所述代理月良务器网络地址。
全文摘要
一种用于分布式多重处理安全网关的系统和方法创建主机侧会话、基于网络信息为服务器选择代理服务器网络地址、以及使用代理服务器网络地址来创建服务器侧会话。选择代理服务器网络地址,以分配同一处理元件处理来自服务器侧会话和主机侧会话的数据包。网络信息包括安全网关网络地址和主机网络地址。通过以这种方式分配处理元件,来提供更高能力的安全网关。
文档编号G06F15/16GK101495993SQ200780001807
公开日2009年7月29日 申请日期2007年6月21日 优先权日2006年8月8日
发明者司徒伟伦, 澧 陈 申请人:瑞科网信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1