实现虚拟防火墙的方法及装置的制造方法_4

文档序号:9814188阅读:来源:国知局
现分流机制。
[0146]接口映射表,采用线性表,保存的是接口与虚拟防火墙实例的对应关系。该表的关键字是接口索引(IF-1D),结果是该接口所属的虚拟防火墙实例的索引(VFW-1D)。
[0147]VLAN映射表,采用线性表,保存的是VLAN属于哪个VPN或者虚拟防火墙实例。该表的关键字是VLAN索引(VLAN-1D),结果是该VLAN所属的VPN索引(VPN-1D)或者虚拟防火墙实例的索引(VFW-1D)。
[0148]VPN映射表,采用线性表,保存的是VPN与虚拟防火墙实例的对应关系。该表的关键字是VPN索引(VPN-1D),结果是该VPN所属的虚拟防火墙实例的索引(VFW-1D)。
[0149]IP映射表,采用HASH表,保存的是IP地址与虚拟防火墙的对应关系。该表的关键字是IP地址经HASH运算得到的IP映射表索引(IP-1D),结果是该IP地址所属的虚拟防火墙实例的索引(VFW-1D)。这里,当允许IP地址配置为掩码地址,则要将掩码地址覆盖的所有IP地址保存到HASH表。这样就可能因为IP地址太多而导致HASH表空间不够。所以,这种情况可以考虑使用CAM表来保存IP掩码地址,从而避免表空间问题,且提高IP检索的效率。
[0150]当超级管理员配置虚拟防火墙实例负责处理哪些数据流量时,只要指定相应的接口映射表、VLAN映射表、VPN映射表、IP映射表中的VFW-1D字段即可。比如,要将特定的接口 IFa(对应IF-1D为a)收到的数据流量送入指定的虚拟防火墙实例VFWx (对应VFW-1D为X)来处理,则将接口映射表的第a条表项中的VFW-1D字段置为X即可。再比如,将目的IP地址是特定的IPb的数据流量送入指定的虚拟防火墙实例VFWy (对应VFW-1D为y)来处理。则首先将IPb做HASH运算得到HASH值b,然后将IP映射表的第b条表项中的VFW-1D字段置为y即可。
[0151]当系统运行时,根据接收数据流量的接口信息或者数据流量的报文信息,分别查找接口映射表、VLAN映射表、VPN映射表、IP映射表,得到该数据流量对应的虚拟防火墙实例索引,然后将数据流量送入该虚拟防火墙进行后续处理。当某数据流量匹配接口映射表、VLAN映射表、VPN映射表、IP映射表中的多个表时,需要根据映射表的优先级来决定该数据流量应送入哪个虚拟防火墙实例。一般来说,接口映射表的优先级最高,VLAN映射表次之,VPN映射表再次之,而IP映射表的优先级最低。
[0152]第一查找单元502,用于在根据所述数据流量的第二信息无法查找到与所述数据流量匹配的会话表项的情况下,根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
[0153]其中,所述第二信息至少包括所述数据流量的报文中的五元组。
[0154]具体的,会话管理机制,是指虚拟防火墙实例收到数据流量后,将数据流量与ACL规则组匹配生成对应的会话表项。虚拟防火墙实例可以根据会话表中的相关状态变化提供ASPF和NAT ALG等与会话状态相关的安全服务,也可以根据会话表的相关统计提供地址绑定、黑名单、地址转化、统计、攻击防范等安全服务。
[0155]生成单元503,用于根据所述数据流量、所述虚拟防火墙的配置参数以及所述ACL规则组生成会话表项,并将所述数据流量中的会话的相关安全服务参数保存在所述会话表项中。
[0156]具体的,会话管理机制的好处是,在虚拟防火墙实例收到会话的第一个报文后,可以根据虚拟防火墙实例表中的的配置参数,以及报文匹配的ACL规则组,自动生成会话表项,并将会话相关的安全服务参数保存在会话表项中。之后在虚拟防火墙实例收到该会话的后续报文时,就不需要重复查找虚拟防火墙实例表或ACL规则组,而直接读取会话表项的信息即可。这样,可以大大提高会话后续报文的处理效率。
[0157]这里一个“会话”,也叫一条“流”,包含由五元组唯一确定的正反两个方向的报文。比如A发给B的正向报文,即报文的源IP是IPA、目的IP是IPB、源端口是P0RTA、目的端口是P0RTB、协议是PR0X,以及由B返回给A的反向报文,即报文的源IP是IPB、目的IP是IPA、源端口是P0RTB、目的端口是P0RTA、协议是PR0X,这两个方向报文的五元组只是顺序颠倒,它们在这里属于一个会话。
[0158]虚拟防火墙实例独立管理自己的会话资源,即每个虚拟防火墙实例在逻辑上单独维护一个会话表(FT),FT表中的每个表项对应一个会话,保存着该会话相关的所有信息:
[0159]状态信息,比如TCP连接状态、FTP状态等,可以根据这些状态信息为会话提供ASPF状态跟踪服务,也可以根据所有会话的相关状态的统计提供相关的防攻击服务。
[0160]老化信息,比如会话的创建时间戳、更新时间戳等,可以根据时间戳计算会话的剩余老化时间,决定是何时老化该会话。
[0161]安全策略信息,比如会话的NAT策略、ACL策略、ASPF策略、ALG策略等,可以根据这些策略信息完成数据包转发、丢弃、上送、修改相应协议字段后转发等操作。
[0162]统计信息,比如会话的收发包个数等,可以这些统计信息提供会话监控服务。
[0163]转发信息,比如三层的路由信息、二层的转发信息等,可以根据这些转发信息提供数据流量转发服务。
[0164]在创建虚拟防火墙实例时会指定FT表中最多保存的会话条数CFT,一般CFT的值都比较大,比如128K条。所以FT表可以采用HASH+CAM的二级检索结构,以提高查找效率。其中,HASH表可以保存Chs = 2n条表项,每条HASH表项对应一个CAM表,每个CAM表可以保存Cmm条表项,每条CAM表项对应一个会话,则
[0165]Cft — Chs X Ccam
[0166]当虚拟防火墙实例收到报文后,首先,会检索FT表。如果检索失败,则查找虚拟防火墙实例表和ACL规则组,根据匹配的安全服务参数建立流表。如果检索成功,则直接取出流表。然后,根据流表中的信息,对报文执行相应的安全策略。
[0167]本实施例通过根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识;在根据所述数据流量的第二信息无法查找到与所述数据流量匹配的会话表项的情况下,根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;根据所述数据流量、所述虚拟防火墙的配置参数以及所述ACL规则组生成会话表项,并将所述数据流量中的会话的相关安全服务参数保存在所述会话表项中,从而可以实现通过它可将一个物理防火墙划分为多个逻辑防火墙来用,每个逻辑防火墙可以独立申请资源,并配置不同的安全策略,以满足用户不同的安全需求;同时,本发明提供了一种在一个单一的硬件平台上实现多个虚拟防火墙实例的方法,解决了传统防火墙部署的缺陷。可以在大大降低维护和管理成本的前提下,同时为不同用户提供独立的安全服务策略。
[0168]图6为本发明实现虚拟防火墙的装置第二实施例的功能模块示意图。
[0169]在第二实施例中,该实现虚拟防火墙的装置还包括:
[0170]第二查找单元504,用于:
[0171]根据所述第二信息查找与所述数据流量匹配的会话表项;
[0172]所述第二查找单元504,用于:
[0173]对所述第二信息进行HASH运算得到值H,所述值H的低N比特用于查找CAM表的索引,所述值H的高N比特用于查找所述CAM表的标识;
[0174]若能与预先存储的CAM表匹配,则获取匹配到的所述CAM表的内容,并根据所述内容与所述第二信息进行匹配,若相同,则确定根据所述第二信息能查找与所述数据流量匹配的会话表项;若不同,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项;
[0175]若无法与预先存储的CAM表匹配,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项。
[0176]图7为本发明实现虚拟防火墙的装置第三实施例的功能模块示意图。
[0177]在第三实施例中,该实现虚拟防火墙的装置还包括:
[0178]创建单元505,用于在创建虚拟防火墙实例VFWv时,将总资源池PA中的资源总队列QA中的资源对象先执行出队操作,再入队操作到资源队列Qv ;
[0179]删除单元506,用于在删除所述虚拟防火墙实例VFWv时,将资源池Pv中的资源队列Qv中的资源对象先执行出队操作,再入队操作到资源总队列QA ;
[0180]其中,所述Qv为所述虚拟防火墙实例的资源池的每一个类型中的一个队列或者栈;所述QA为所述虚拟防火墙实例的资源池的每一个类型对应的资源;所述PA为所述虚拟防火墙实例的总资源池;所述Pv为所述虚拟防火墙实例VFWv对应的资源池中的资源。
[0181]具体的,资源池机制,是指每个虚拟防火墙实例对应单独的资源池,虚拟防火墙实例只允许操作自己的资源池中的资源对象。即由虚拟防火墙实例独立负责资源池中资源对象的申请、回收、老化等。这里的资源对象包括单不限于地址资源、安全域资源、服务资源、会话资源等。
[0182]采用资源池的好处是,能充分利用系统的资源,并且灵活的控制每个虚拟防火墙实例占用的资源;同时独立的资源池管理,也大大降低虚拟防火墙实例之间的耦合度,减少虚拟防火墙实例之间的相互影响,更便于使用。
[0183]由于系统的资源总数是有限的,所以分配到每个虚拟防火墙实例的资源池中的资源也是有限的。比如系统最多支持32M条会话(Sess1n),最多支持256个虚拟防火墙实例,那么每个虚拟防火墙实例平均最多能支持128K条会话。
[0184]虚拟防火墙实例VFWv对应的资源池Pv中的资源对象可以按照类型分开管理,每个类型采用一个队列(或者栈)Qv来管理,即该类型的每个资源对象对应Qv中的一个成员。而系统资源可以看做一个最大的总资源池PA,其中每个类型的资源对应一个总队列QA0
[0185]当超级管理员创建虚拟防火墙实例VFWv时,会分别指定资源池Pv中的每个资源队列Qv所包含的资源对象的个数,也就是先将总资源池PA中的资源总队列QA中的资源对象先执行出队操作,再入队操作到资源队列Qv。当超级管理员删除虚拟防火墙实例VFWv时,会回收资源池Pv中的所有资源队列Qv中包含的资源对象,也就是将资源池Pv中的资源队列Qv中的资源对象先执行出队操作,再执行入队操作到资源总队列QA。
[0186]虚拟防火墙管理员对资源池Pv中资源对象的申请、回收、老化,也就是对相应的资源队列Qv中的资源对象的出队、入队、入队操作。
[0187]图8为本发明实现虚拟防火墙的装置第四实施例的功能模块示意图。
[0188]在第四实施例中,该实现虚拟防火墙的装置还包括:
[0189]配置单元507,用于为每一个虚拟防火墙实例配置第一管理员,为所述第一管理员配置第二管理员。
[0190]具体的,分级管理机制,是指采用二级管理的方式实现虚拟防火墙实例的独立配置管理,即由超级管理员来创建或删除虚拟防火墙实例,并指定对应的虚拟防火墙管理员;由虚拟防火墙管理员来独立管理虚拟防火墙实例。
[0191]超级
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1