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

文档序号:9814188阅读:来源:国知局
个会话,则
[0098]Cft — Chs X Ccam
[0099]当虚拟防火墙实例收到报文后,首先,会检索FT表。如果检索失败,则查找虚拟防火墙实例表和ACL规则组,根据匹配的安全服务参数建立流表。如果检索成功,则直接取出流表。然后,根据流表中的信息,对报文执行相应的安全策略。
[0100]本实施例通过根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识;在根据所述数据流量的第二信息无法查找到与所述数据流量匹配的会话表项的情况下,根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;根据所述数据流量、所述虚拟防火墙的配置参数以及所述ACL规则组生成会话表项,并将所述数据流量中的会话的相关安全服务参数保存在所述会话表项中,从而可以实现通过它可将一个物理防火墙划分为多个逻辑防火墙来用,每个逻辑防火墙可以独立申请资源,并配置不同的安全策略,以满足用户不同的安全需求;同时,本发明提供了一种在一个单一的硬件平台上实现多个虚拟防火墙实例的方法,解决了传统防火墙部署的缺陷。可以在大大降低维护和管理成本的前提下,同时为不同用户提供独立的安全服务策略。
[0101]参照图2,图2为本发明实现虚拟防火墙的方法第二实施例的流程示意图。
[0102]在第二实施例中,该步骤101之后还包括:
[0103]步骤104,根据所述第二信息查找与所述数据流量匹配的会话表项。
[0104]所述根据所述第二信息查找与所述数据流量匹配的会话表项,包括:
[0105]对所述第二信息进行HASH运算得到值H,所述值H的低N比特用于查找CAM表的索引,所述值H的高N比特用于查找所述CAM表的标识;
[0106]若能与预先存储的CAM表匹配,则获取匹配到的所述CAM表的内容,并根据所述内容与所述第二信息进行匹配,若相同,则确定根据所述第二信息能查找与所述数据流量匹配的会话表项;若不同,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项;
[0107]若无法与预先存储的CAM表匹配,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项。
[0108]具体的,首先,将报文中的五元组(源IP、目的IP、源端口、目的端口、协议)和VPN索引VPN-1D等关键字做128比特的HASH运算得到HASH值H。然后,取值H的O?N-1比特位作为FT表项对应的CAM表索引IDXeAM,取值H的剩余比特位查找IDXmm对应的CAM表。如果没有匹配的CAM表项,则说明查找失败,FT表中不存在该会话。如果存在匹配的CAM表项IDXENTRY,则计算出对应的会话索引S-1D
[0109]S-1D — IDXcam X Ccam+I DXentry
[0110]这里,因为可能存在HASH冲突,所以取出会话表项后,要也查找关键字进行精确匹配来确认是否为实际需要的表项。
[0111]参照图3,图3为本发明实现虚拟防火墙的方法第三实施例的流程示意图。
[0112]在第三实施例中,以步骤103之后为例,但不限于步骤103之后,所述方法还包括:
[0113]步骤105,在创建虚拟防火墙实例VFWv时,将总资源池PA中的资源总队列QA中的资源对象先执行出队操作,再入队操作到资源队列Qv ;
[0114]在删除所述虚拟防火墙实例VFWv时,将资源池Pv中的资源队列Qv中的资源对象先执行出队操作,再入队操作到资源总队列QA ;
[0115]其中,所述Qv为所述虚拟防火墙实例的资源池的每一个类型中的一个队列或者栈;所述QA为所述虚拟防火墙实例的资源池的每一个类型对应的资源;所述PA为所述虚拟防火墙实例的总资源池;所述Pv为所述虚拟防火墙实例VFWv对应的资源池中的资源。
[0116]具体的,资源池机制,是指每个虚拟防火墙实例对应单独的资源池,虚拟防火墙实例只允许操作自己的资源池中的资源对象。即由虚拟防火墙实例独立负责资源池中资源对象的申请、回收、老化等。这里的资源对象包括单不限于地址资源、安全域资源、服务资源、会话资源等。
[0117]采用资源池的好处是,能充分利用系统的资源,并且灵活的控制每个虚拟防火墙实例占用的资源;同时独立的资源池管理,也大大降低虚拟防火墙实例之间的耦合度,减少虚拟防火墙实例之间的相互影响,更便于使用。
[0118]由于系统的资源总数是有限的,所以分配到每个虚拟防火墙实例的资源池中的资源也是有限的。比如系统最多支持32M条会话(Sess1n),最多支持256个虚拟防火墙实例,那么每个虚拟防火墙实例平均最多能支持128K条会话。
[0119]虚拟防火墙实例VFWv对应的资源池Pv中的资源对象可以按照类型分开管理,每个类型采用一个队列(或者栈)Qv来管理,即该类型的每个资源对象对应Qv中的一个成员。而系统资源可以看做一个最大的总资源池PA,其中每个类型的资源对应一个总队列QA0
[0120]当超级管理员创建虚拟防火墙实例VFWv时,会分别指定资源池Pv中的每个资源队列Qv所包含的资源对象的个数,也就是先将总资源池PA中的资源总队列QA中的资源对象先执行出队操作,再入队操作到资源队列Qv。当超级管理员删除虚拟防火墙实例VFWv时,会回收资源池Pv中的所有资源队列Qv中包含的资源对象,也就是将资源池Pv中的资源队列Qv中的资源对象先执行出队操作,再执行入队操作到资源总队列QA。
[0121]虚拟防火墙管理员对资源池Pv中资源对象的申请、回收、老化,也就是对相应的资源队列Qv中的资源对象的出队、入队、入队操作。
[0122]参照图4,图4为本发明实现虚拟防火墙的方法第四实施例的流程示意图。
[0123]在第四实施例中,以步骤105之后为例,但不限于步骤105之后,所述方法还包括:
[0124]步骤106,为每一个虚拟防火墙实例配置第一管理员,为所述第一管理员配置第二管理员。
[0125]具体的,分级管理机制,是指采用二级管理的方式实现虚拟防火墙实例的独立配置管理,即由超级管理员来创建或删除虚拟防火墙实例,并指定对应的虚拟防火墙管理员;由虚拟防火墙管理员来独立管理虚拟防火墙实例。
[0126]超级管理员创建或删除虚拟防火墙实例时,要为该虚拟防火墙实例分配或回收对应的资源池,即前面的“资源池”模块;同时,超级管理员还要指定哪些数据流量送入或不送入该虚拟防火墙实例处理。即前面的“分流”模块。
[0127]虚拟防火墙管理员管理虚拟防火墙实例,即根据用户的安全需求,配置私有的ACL安全规则,管理资源池中的资源对象。这里,我们维护一个虚拟防火墙实例表,来保存虚拟防火墙实例的相关配置信息。虚拟防火墙实例表采用线性表,该表的关键字是虚拟防火墙实例的索引VFW-1D,结果是该虚拟防火墙实例的相关配置参数,比如虚拟防火墙实例使能了哪些防攻击类型和相关的阈值参数,或者配置的黑名单参数等。当虚拟防火墙管理员配置相关的安全服务时,就更新相应的字段。
[0128]分级管理的好处是,超级管理员只关注需要为虚拟防火墙实例分配哪些系统资源,而虚拟防火墙实例的管理可以由虚拟防火墙管理员独立负责,使虚拟防火墙的管理更加灵活方便。
[0129]本发明进一步提供一种实现虚拟防火墙的装置。
[0130]参照图5,图5为本发明实现虚拟防火墙的装置第一实施例的功能模块示意图。
[0131]在第一实施例中,该实现虚拟防火墙的装置包括:
[0132]获取单元501,用于根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识;
[0133]其中,所述第一信息至少包括所述数据流量的报文中的五元组、VLAN信息或者IP信息。
[0134]优选地,所述获取单元501,用于:
[0135]判断是否能根据所述数据流量的接口信息和预先存储的接口映射表,获取所述虚拟防火墙实例的标识,所述接口映射表包括所述数据流量的接口信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
[0136]若否,则判断是否能根据所述数据流量的第一报文信息和预先存储的VLAN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述VLAN映射表包括所述数据流量的VLAN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
[0137]若否,则判断是否能根据所述数据流量的第一报文信息、预先存储的第一 VPN映射表和预先存储的第二 VPN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述第一 VPN映射表包括所述VLAN信息和VPN信息的对应关系,所述第二VPN映射表包括所述VPN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
[0138]若否,则判断是否能根据所述数据流量的第二报文信息和所述预先存储的IP映射表,获取所述虚拟防火墙实例的标识,所述第二报文信息至少包括IP地址,所述IP映射表包括所述IP地址与所述IP地址经HASH运算得到的所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
[0139]具体的,系统上电后,首先,启动分流模块,即初始化映射表;然后,启动会话管理模块,即初始化会话表;再然后,启动资源池模块,即初始化系统资源队列;最后,启动分级管理模块,即初始化虚拟防火墙表。
[0140]映射表的初始化:是指为接口映射表、VPN映射表、VLAN映射表、IP映射表申请相应的地址空间,并将申请的空间清O。其中的线性表,如接口映射表、VPN映射表、VLAN映射表,可以根据系统实际支持的接口个数、VPN个数、VLAN个数计算出需要申请的地址空间的大小;而IP映射表是HASH表,则根据系统支持的配置规格申请相应的地址空间,如果IP映射表需要CAM表支持,则还要为CAM表申请相应的地址空间。
[0141]会话表的初始化:是指为会话HASH+CAM表申请相应的地址空间,并将申请的空间清O。
[0142]系统资源池初始化:将系统的所有资源按照资源类型T分别入队到对应的资源队列QT0即系统资源池PA = {QA,QB...QT}。
[0143]虚拟防火墙实例表初始化:根据系统最多支持的虚拟虚拟防火墙实例的个数申请相应的地址空间,并将申请的空间清O。
[0144]分流机制,是指将系统收到的数据流量分别送入对应的虚拟防火墙实例。即根据接收数据流量的接口信息或者数据流量的报文信息(比如报文中的VPN、VLAN或者IP信息等)与虚拟防火墙实例的配置信息进行匹配,将数据流量送入对应的虚拟防火墙实例,由虚拟防火墙实例提供相应的安全服务。
[0145]通过维护接口映射表、VLAN映射表、VPN映射表、IP映射表来实
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1