CN105577628B - 实现虚拟防火墙的方法及装置 - Google Patents
实现虚拟防火墙的方法及装置 Download PDFInfo
- Publication number
- CN105577628B CN105577628B CN201410631667.1A CN201410631667A CN105577628B CN 105577628 B CN105577628 B CN 105577628B CN 201410631667 A CN201410631667 A CN 201410631667A CN 105577628 B CN105577628 B CN 105577628B
- Authority
- CN
- China
- Prior art keywords
- virtual firewall
- information
- identifier
- data traffic
- instance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种实现虚拟防火墙的方法,通过根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识;根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;根据所述数据流量、所述虚拟防火墙的配置参数以及所述ACL规则组生成会话表项,并将所述数据流量中的会话的相关安全服务参数保存在所述会话表项中。本发明还公开了一种实现虚拟防火墙的装置。从而可以实现通过它可将一个物理防火墙划分为多个逻辑防火墙来用,每个逻辑防火墙可以独立申请资源;同时,解决了传统防火墙部署的缺陷,可以在大大降低维护和管理成本的前提下,同时为不同用户提供独立的安全服务策略。
Description
技术领域
本发明涉及网络安全领域,尤其涉及一种实现虚拟防火墙的方法及装置。
背景技术
在传统的解决方案中,当系统需要多套防火墙防护时,一般是部署多台防火墙进行防护。传统的方式是在CE设备前各部署一台防火墙,各自进行管理及配置,比如在MPLSVPN网络中,各VPN之间需要做安全保护,传统的解决方案存在明显的不足:
企业需要部署和管理多台独立防火墙,导致拥有和维护成本较高,网络管理的复杂度较大;集中放置的多个独立防火墙将占用较多的机架空间,并且给综合布线带来额外的复杂度;由于业务的发展,MPLS VPN或者VLAN的划分可能会发生新的变化,MPLS VPN或者VLAN是逻辑的实现,仅仅改动配置即可方便满足该需求。而传统防火墙需要发生物理上的变化,对用户后期备件以及管理造成很大的困难。
发明内容
本发明提供一种实现虚拟防火墙的方法及装置,主要目的在于解决如何在单一的硬件平台上实现多个虚拟防火墙实例的技术问题。
为实现上述目的,本发明提供的一种实现虚拟防火墙的方法,所述方法包括:
根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识;
在根据所述数据流量的第二信息无法查找到与所述数据流量匹配的会话表项的情况下,根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
根据所述数据流量、所述虚拟防火墙的配置参数以及所述ACL规则组生成会话表项,并将所述数据流量中的会话的相关安全服务参数保存在所述会话表项中。
优选地,所述第一信息至少包括所述数据流量的报文中的五元组、VLAN信息或者IP信息;所述第二信息至少包括所述数据流量的报文中的五元组。
优选地,所述根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识,包括:
判断是否能根据所述数据流量的接口信息和预先存储的接口映射表,获取所述虚拟防火墙实例的标识,所述接口映射表包括所述数据流量的接口信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
优选地,所述若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组之后,还包括:
若否,则判断是否能根据所述数据流量的第一报文信息和预先存储的VLAN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述VLAN映射表包括所述数据流量的VLAN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
优选地,所述若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组之后,还包括:
若否,则判断是否能根据所述数据流量的第一报文信息、预先存储的第一VPN映射表和预先存储的第二VPN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述第一VPN映射表包括所述VLAN信息和VPN信息的对应关系,所述第二VPN映射表包括所述VPN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
优选地,所述若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组之后,还包括:
若否,则判断是否能根据所述数据流量的第二报文信息和所述预先存储的IP映射表,获取所述虚拟防火墙实例的标识,所述第二报文信息至少包括IP地址,所述IP映射表包括所述IP地址与所述IP地址经HASH运算得到的所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
优选地,所述根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识之后,包括:
根据所述第二信息查找与所述数据流量匹配的会话表项;
所述根据所述第二信息查找与所述数据流量匹配的会话表项,包括:
对所述第二信息进行HASH运算得到值H,所述值H的低N比特用于查找CAM表的索引,所述值H的高N比特用于查找所述CAM表的标识;
若能与预先存储的CAM表匹配,则获取匹配到的所述CAM表的内容,并根据所述内容与所述第二信息进行匹配,若相同,则确定根据所述第二信息能查找与所述数据流量匹配的会话表项;若不同,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项;
若无法与预先存储的CAM表匹配,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项。
优选地,所述方法还包括:
在创建虚拟防火墙实例VFWv时,将总资源池PA中的资源总队列QA中的资源对象先执行出队操作,再入队操作到资源队列Qv;
在删除所述虚拟防火墙实例VFWv时,将资源池Pv中的资源队列Qv中的资源对象先执行出队操作,再入队操作到资源总队列QA;
其中,所述Qv为所述虚拟防火墙实例的资源池的每一个类型中的一个队列或者栈;所述QA为所述虚拟防火墙实例的资源池的每一个类型对应的资源;所述PA为所述虚拟防火墙实例的总资源池;所述Pv为所述虚拟防火墙实例VFWv对应的资源池中的资源。
此外,为实现上述目的,本发明还提供一种实现虚拟防火墙的装置,所述装置包括:
获取单元,用于根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识;
第一查找单元,用于在根据所述数据流量的第二信息无法查找到与所述数据流量匹配的会话表项的情况下,根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
生成单元,用于根据所述数据流量、所述虚拟防火墙的配置参数以及所述ACL规则组生成会话表项,并将所述数据流量中的会话的相关安全服务参数保存在所述会话表项中。
优选地,所述第一信息至少包括所述数据流量的报文中的五元组、VLAN信息或者IP信息;所述第二信息至少包括所述数据流量的报文中的五元组。
优选地,所述获取单元,用于:
判断是否能根据所述数据流量的接口信息和预先存储的接口映射表,获取所述虚拟防火墙实例的标识,所述接口映射表包括所述数据流量的接口信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
优选地,所述获取单元,还用于:
若否,则判断是否能根据所述数据流量的第一报文信息和预先存储的VLAN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述VLAN映射表包括所述数据流量的VLAN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
优选地,所述获取单元,还用于:
若否,则判断是否能根据所述数据流量的第一报文信息、预先存储的第一VPN映射表和预先存储的第二VPN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述第一VPN映射表包括所述VLAN信息和VPN信息的对应关系,所述第二VPN映射表包括所述VPN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
优选地,所述获取单元,还用于:
若否,则判断是否能根据所述数据流量的第二报文信息和所述预先存储的IP映射表,获取所述虚拟防火墙实例的标识,所述第二报文信息至少包括IP地址,所述IP映射表包括所述IP地址与所述IP地址经HASH运算得到的所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
优选地,所述装置还包括第二查找单元,用于:
根据所述第二信息查找与所述数据流量匹配的会话表项;
所述第二查找单元,用于:
对所述第二信息进行HASH运算得到值H,所述值H的低N比特用于查找CAM表的索引,所述值H的高N比特用于查找所述CAM表的标识;
若能与预先存储的CAM表匹配,则获取匹配到的所述CAM表的内容,并根据所述内容与所述第二信息进行匹配,若相同,则确定根据所述第二信息能查找与所述数据流量匹配的会话表项;若不同,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项;
若无法与预先存储的CAM表匹配,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项。
优选地,所述装置还包括:
创建单元,用于在创建虚拟防火墙实例VFWv时,将总资源池PA中的资源总队列QA中的资源对象先执行出队操作,再入队操作到资源队列Qv;
删除单元,用于在删除所述虚拟防火墙实例VFWv时,将资源池Pv中的资源队列Qv中的资源对象先执行出队操作,再入队操作到资源总队列QA;
其中,所述Qv为所述虚拟防火墙实例的资源池的每一个类型中的一个队列或者栈;所述QA为所述虚拟防火墙实例的资源池的每一个类型对应的资源;所述PA为所述虚拟防火墙实例的总资源池;所述Pv为所述虚拟防火墙实例VFWv对应的资源池中的资源。
本实施例通过根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识;在根据所述数据流量的第二信息无法查找到与所述数据流量匹配的会话表项的情况下,根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;根据所述数据流量、所述虚拟防火墙的配置参数以及所述ACL规则组生成会话表项,并将所述数据流量中的会话的相关安全服务参数保存在所述会话表项中,从而可以实现通过它可将一个物理防火墙划分为多个逻辑防火墙来用,每个逻辑防火墙可以独立申请资源,并配置不同的安全策略,以满足用户不同的安全需求;同时,本发明提供了一种在一个单一的硬件平台上实现多个虚拟防火墙实例的方法,解决了传统防火墙部署的缺陷。可以在大大降低维护和管理成本的前提下,同时为不同用户提供独立的安全服务策略。
附图说明
图1为本发明实现虚拟防火墙的方法第一实施例的流程示意图;
图2为本发明实现虚拟防火墙的方法第二实施例的流程示意图;
图3为本发明实现虚拟防火墙的方法第三实施例的流程示意图;
图4为本发明实现虚拟防火墙的方法第四实施例的流程示意图;
图5为本发明实现虚拟防火墙的装置第一实施例的功能模块示意图;
图6为本发明实现虚拟防火墙的装置第二实施例的功能模块示意图;
图7为本发明实现虚拟防火墙的装置第三实施例的功能模块示意图;
图8为本发明实现虚拟防火墙的装置第四实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种实现虚拟防火墙的方法。
参照图1,图1为本发明实现虚拟防火墙的方法第一实施例的流程示意图。
在第一实施例中,该实现虚拟防火墙的方法包括:
步骤101,根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识;
其中,所述第一信息至少包括所述数据流量的报文中的五元组、虚拟局域网(Virtual Local Area Network,VLAN)信息或者网际协议(Internet Protocol,IP)信息。
优选地,所述根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识,包括:
判断是否能根据所述数据流量的接口信息和预先存储的接口映射表,获取所述虚拟防火墙实例的标识,所述接口映射表包括所述数据流量的接口信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找接入控制列表(Access ControlList,ACL)规则组;
若否,则判断是否能根据所述数据流量的第一报文信息和预先存储的VLAN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述VLAN映射表包括所述数据流量的VLAN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
若否,则判断是否能根据所述数据流量的第一报文信息、预先存储的第一VPN映射表和预先存储的第二VPN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述第一虚拟专用网(Virtual Private Network,VPN映射表包括所述VLAN信息和VPN信息的对应关系,所述第二VPN映射表包括所述VPN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
若否,则判断是否能根据所述数据流量的第二报文信息和所述预先存储的IP映射表,获取所述虚拟防火墙实例的标识,所述第二报文信息至少包括IP地址,所述IP映射表包括所述IP地址与所述IP地址经HASH运算得到的所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
具体的,系统上电后,首先,启动分流模块,即初始化映射表;然后,启动会话管理模块,即初始化会话表;再然后,启动资源池模块,即初始化系统资源队列;最后,启动分级管理模块,即初始化虚拟防火墙表。
映射表的初始化:是指为接口映射表、VPN映射表、VLAN映射表、IP映射表申请相应的地址空间,并将申请的空间清0。其中的线性表,如接口映射表、VPN映射表、VLAN映射表,可以根据系统实际支持的接口个数、VPN个数、VLAN个数计算出需要申请的地址空间的大小;而IP映射表是HASH表,则根据系统支持的配置规格申请相应的地址空间,如果IP映射表需要CAM表支持,则还要为CAM表申请相应的地址空间。
会话表的初始化:是指为会话HASH+CAM表申请相应的地址空间,并将申请的空间清0。
系统资源池初始化:将系统的所有资源按照资源类型T分别入队到对应的资源队列QT。即系统资源池PA={QA,QB…QT}。
虚拟防火墙实例表初始化:根据系统最多支持的虚拟虚拟防火墙实例的个数申请相应的地址空间,并将申请的空间清0。
分流机制,是指将系统收到的数据流量分别送入对应的虚拟防火墙实例。即根据接收数据流量的接口信息或者数据流量的报文信息(比如报文中的VPN、VLAN或者IP信息等)与虚拟防火墙实例的配置信息进行匹配,将数据流量送入对应的虚拟防火墙实例,由虚拟防火墙实例提供相应的安全服务。
通过维护接口映射表、VLAN映射表、VPN映射表、IP映射表来实现分流机制。
接口映射表,采用线性表,保存的是接口与虚拟防火墙实例的对应关系。该表的关键字是接口索引(IF-ID),结果是该接口所属的虚拟防火墙实例的索引(VFW-ID)。
VLAN映射表,采用线性表,保存的是VLAN属于哪个VPN或者虚拟防火墙实例。该表的关键字是VLAN索引(VLAN-ID),结果是该VLAN所属的VPN索引(VPN-ID)或者虚拟防火墙实例的索引(VFW-ID)。
VPN映射表,采用线性表,保存的是VPN与虚拟防火墙实例的对应关系。该表的关键字是VPN索引(VPN-ID),结果是该VPN所属的虚拟防火墙实例的索引(VFW-ID)。
IP映射表,采用HASH表,保存的是IP地址与虚拟防火墙的对应关系。该表的关键字是IP地址经HASH运算得到的IP映射表索引(IP-ID),结果是该IP地址所属的虚拟防火墙实例的索引(VFW-ID)。这里,当允许IP地址配置为掩码地址,则要将掩码地址覆盖的所有IP地址保存到HASH表。这样就可能因为IP地址太多而导致HASH表空间不够。所以,这种情况可以考虑使用CAM表来保存IP掩码地址,从而避免表空间问题,且提高IP检索的效率。
当超级管理员配置虚拟防火墙实例负责处理哪些数据流量时,只要指定相应的接口映射表、VLAN映射表、VPN映射表、IP映射表中的VFW-ID字段即可。比如,要将特定的接口IFa(对应IF-ID为a)收到的数据流量送入指定的虚拟防火墙实例VFWx(对应VFW-ID为x)来处理,则将接口映射表的第a条表项中的VFW-ID字段置为x即可。再比如,将目的IP地址是特定的IPb的数据流量送入指定的虚拟防火墙实例VFWy(对应VFW-ID为y)来处理。则首先将IPb做HASH运算得到HASH值b,然后将IP映射表的第b条表项中的VFW-ID字段置为y即可。
当系统运行时,根据接收数据流量的接口信息或者数据流量的报文信息,分别查找接口映射表、VLAN映射表、VPN映射表、IP映射表,得到该数据流量对应的虚拟防火墙实例索引,然后将数据流量送入该虚拟防火墙进行后续处理。当某数据流量匹配接口映射表、VLAN映射表、VPN映射表、IP映射表中的多个表时,需要根据映射表的优先级来决定该数据流量应送入哪个虚拟防火墙实例。一般来说,接口映射表的优先级最高,VLAN映射表次之,VPN映射表再次之,而IP映射表的优先级最低。
步骤102,在根据所述数据流量的第二信息无法查找到与所述数据流量匹配的会话表项的情况下,根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
其中,所述第二信息至少包括所述数据流量的报文中的五元组。
具体的,会话管理机制,是指虚拟防火墙实例收到数据流量后,将数据流量与ACL规则组匹配生成对应的会话表项。虚拟防火墙实例可以根据会话表中的相关状态变化提供ASPF和NAT ALG等与会话状态相关的安全服务,也可以根据会话表的相关统计提供地址绑定、黑名单、地址转化、统计、攻击防范等安全服务。
步骤103,根据所述数据流量、所述虚拟防火墙的配置参数以及所述ACL规则组生成会话表项,并将所述数据流量中的会话的相关安全服务参数保存在所述会话表项中。
具体的,会话管理机制的好处是,在虚拟防火墙实例收到会话的第一个报文后,可以根据虚拟防火墙实例表中的的配置参数,以及报文匹配的ACL规则组,自动生成会话表项,并将会话相关的安全服务参数保存在会话表项中。之后在虚拟防火墙实例收到该会话的后续报文时,就不需要重复查找虚拟防火墙实例表或ACL规则组,而直接读取会话表项的信息即可。这样,可以大大提高会话后续报文的处理效率。
这里一个“会话”,也叫一条“流”,包含由五元组唯一确定的正反两个方向的报文。比如A发给B的正向报文,即报文的源IP是IPA、目的IP是IPB、源端口是PORTA、目的端口是PORTB、协议是PROX,以及由B返回给A的反向报文,即报文的源IP是IPB、目的IP是IPA、源端口是PORTB、目的端口是PORTA、协议是PROX,这两个方向报文的五元组只是顺序颠倒,它们在这里属于一个会话。
虚拟防火墙实例独立管理自己的会话资源,即每个虚拟防火墙实例在逻辑上单独维护一个会话表(FT),FT表中的每个表项对应一个会话,保存着该会话相关的所有信息:
状态信息,比如TCP连接状态、FTP状态等,可以根据这些状态信息为会话提供ASPF状态跟踪服务,也可以根据所有会话的相关状态的统计提供相关的防攻击服务。
老化信息,比如会话的创建时间戳、更新时间戳等,可以根据时间戳计算会话的剩余老化时间,决定是何时老化该会话。
安全策略信息,比如会话的NAT策略、ACL策略、ASPF策略、ALG策略等,可以根据这些策略信息完成数据包转发、丢弃、上送、修改相应协议字段后转发等操作。
统计信息,比如会话的收发包个数等,可以这些统计信息提供会话监控服务。
转发信息,比如三层的路由信息、二层的转发信息等,可以根据这些转发信息提供数据流量转发服务。
在创建虚拟防火墙实例时会指定FT表中最多保存的会话条数CFT,一般CFT的值都比较大,比如128K条。所以FT表可以采用HASH+CAM的二级检索结构,以提高查找效率。其中,HASH表可以保存CHS=2N条表项,每条HASH表项对应一个CAM表,每个CAM表可以保存CCAM条表项,每条CAM表项对应一个会话,则
CFT=CHS×CCAM
当虚拟防火墙实例收到报文后,首先,会检索FT表。如果检索失败,则查找虚拟防火墙实例表和ACL规则组,根据匹配的安全服务参数建立流表。如果检索成功,则直接取出流表。然后,根据流表中的信息,对报文执行相应的安全策略。
本实施例通过根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识;在根据所述数据流量的第二信息无法查找到与所述数据流量匹配的会话表项的情况下,根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;根据所述数据流量、所述虚拟防火墙的配置参数以及所述ACL规则组生成会话表项,并将所述数据流量中的会话的相关安全服务参数保存在所述会话表项中,从而可以实现通过它可将一个物理防火墙划分为多个逻辑防火墙来用,每个逻辑防火墙可以独立申请资源,并配置不同的安全策略,以满足用户不同的安全需求;同时,本发明提供了一种在一个单一的硬件平台上实现多个虚拟防火墙实例的方法,解决了传统防火墙部署的缺陷。可以在大大降低维护和管理成本的前提下,同时为不同用户提供独立的安全服务策略。
参照图2,图2为本发明实现虚拟防火墙的方法第二实施例的流程示意图。
在第二实施例中,该步骤101之后还包括:
步骤104,根据所述第二信息查找与所述数据流量匹配的会话表项。
所述根据所述第二信息查找与所述数据流量匹配的会话表项,包括:
对所述第二信息进行HASH运算得到值H,所述值H的低N比特用于查找CAM表的索引,所述值H的高N比特用于查找所述CAM表的标识;
若能与预先存储的CAM表匹配,则获取匹配到的所述CAM表的内容,并根据所述内容与所述第二信息进行匹配,若相同,则确定根据所述第二信息能查找与所述数据流量匹配的会话表项;若不同,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项;
若无法与预先存储的CAM表匹配,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项。
具体的,首先,将报文中的五元组(源IP、目的IP、源端口、目的端口、协议)和VPN索引VPN-ID等关键字做128比特的HASH运算得到HASH值H。然后,取值H的0~N-1比特位作为FT表项对应的CAM表索引IDXCAM,取值H的剩余比特位查找IDXCAM对应的CAM表。如果没有匹配的CAM表项,则说明查找失败,FT表中不存在该会话。如果存在匹配的CAM表项IDXENTRY,则计算出对应的会话索引S-ID
S-ID=IDXCAM×CCAM+IDXENTRY
这里,因为可能存在HASH冲突,所以取出会话表项后,要也查找关键字进行精确匹配来确认是否为实际需要的表项。
参照图3,图3为本发明实现虚拟防火墙的方法第三实施例的流程示意图。
在第三实施例中,以步骤103之后为例,但不限于步骤103之后,所述方法还包括:
步骤105,在创建虚拟防火墙实例VFWv时,将总资源池PA中的资源总队列QA中的资源对象先执行出队操作,再入队操作到资源队列Qv;
在删除所述虚拟防火墙实例VFWv时,将资源池Pv中的资源队列Qv中的资源对象先执行出队操作,再入队操作到资源总队列QA;
其中,所述Qv为所述虚拟防火墙实例的资源池的每一个类型中的一个队列或者栈;所述QA为所述虚拟防火墙实例的资源池的每一个类型对应的资源;所述PA为所述虚拟防火墙实例的总资源池;所述Pv为所述虚拟防火墙实例VFWv对应的资源池中的资源。
具体的,资源池机制,是指每个虚拟防火墙实例对应单独的资源池,虚拟防火墙实例只允许操作自己的资源池中的资源对象。即由虚拟防火墙实例独立负责资源池中资源对象的申请、回收、老化等。这里的资源对象包括单不限于地址资源、安全域资源、服务资源、会话资源等。
采用资源池的好处是,能充分利用系统的资源,并且灵活的控制每个虚拟防火墙实例占用的资源;同时独立的资源池管理,也大大降低虚拟防火墙实例之间的耦合度,减少虚拟防火墙实例之间的相互影响,更便于使用。
由于系统的资源总数是有限的,所以分配到每个虚拟防火墙实例的资源池中的资源也是有限的。比如系统最多支持32M条会话(Session),最多支持256个虚拟防火墙实例,那么每个虚拟防火墙实例平均最多能支持128K条会话。
虚拟防火墙实例VFWv对应的资源池Pv中的资源对象可以按照类型分开管理,每个类型采用一个队列(或者栈)Qv来管理,即该类型的每个资源对象对应Qv中的一个成员。而系统资源可以看做一个最大的总资源池PA,其中每个类型的资源对应一个总队列QA。
当超级管理员创建虚拟防火墙实例VFWv时,会分别指定资源池Pv中的每个资源队列Qv所包含的资源对象的个数,也就是先将总资源池PA中的资源总队列QA中的资源对象先执行出队操作,再入队操作到资源队列Qv。当超级管理员删除虚拟防火墙实例VFWv时,会回收资源池Pv中的所有资源队列Qv中包含的资源对象,也就是将资源池Pv中的资源队列Qv中的资源对象先执行出队操作,再执行入队操作到资源总队列QA。
虚拟防火墙管理员对资源池Pv中资源对象的申请、回收、老化,也就是对相应的资源队列Qv中的资源对象的出队、入队、入队操作。
参照图4,图4为本发明实现虚拟防火墙的方法第四实施例的流程示意图。
在第四实施例中,以步骤105之后为例,但不限于步骤105之后,所述方法还包括:
步骤106,为每一个虚拟防火墙实例配置第一管理员,为所述第一管理员配置第二管理员。
具体的,分级管理机制,是指采用二级管理的方式实现虚拟防火墙实例的独立配置管理,即由超级管理员来创建或删除虚拟防火墙实例,并指定对应的虚拟防火墙管理员;由虚拟防火墙管理员来独立管理虚拟防火墙实例。
超级管理员创建或删除虚拟防火墙实例时,要为该虚拟防火墙实例分配或回收对应的资源池,即前面的“资源池”模块;同时,超级管理员还要指定哪些数据流量送入或不送入该虚拟防火墙实例处理。即前面的“分流”模块。
虚拟防火墙管理员管理虚拟防火墙实例,即根据用户的安全需求,配置私有的ACL安全规则,管理资源池中的资源对象。这里,我们维护一个虚拟防火墙实例表,来保存虚拟防火墙实例的相关配置信息。虚拟防火墙实例表采用线性表,该表的关键字是虚拟防火墙实例的索引VFW-ID,结果是该虚拟防火墙实例的相关配置参数,比如虚拟防火墙实例使能了哪些防攻击类型和相关的阈值参数,或者配置的黑名单参数等。当虚拟防火墙管理员配置相关的安全服务时,就更新相应的字段。
分级管理的好处是,超级管理员只关注需要为虚拟防火墙实例分配哪些系统资源,而虚拟防火墙实例的管理可以由虚拟防火墙管理员独立负责,使虚拟防火墙的管理更加灵活方便。
本发明进一步提供一种实现虚拟防火墙的装置。
参照图5,图5为本发明实现虚拟防火墙的装置第一实施例的功能模块示意图。
在第一实施例中,该实现虚拟防火墙的装置包括:
获取单元501,用于根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识;
其中,所述第一信息至少包括所述数据流量的报文中的五元组、VLAN信息或者IP信息。
优选地,所述获取单元501,用于:
判断是否能根据所述数据流量的接口信息和预先存储的接口映射表,获取所述虚拟防火墙实例的标识,所述接口映射表包括所述数据流量的接口信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
若否,则判断是否能根据所述数据流量的第一报文信息和预先存储的VLAN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述VLAN映射表包括所述数据流量的VLAN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
若否,则判断是否能根据所述数据流量的第一报文信息、预先存储的第一VPN映射表和预先存储的第二VPN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述第一VPN映射表包括所述VLAN信息和VPN信息的对应关系,所述第二VPN映射表包括所述VPN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
若否,则判断是否能根据所述数据流量的第二报文信息和所述预先存储的IP映射表,获取所述虚拟防火墙实例的标识,所述第二报文信息至少包括IP地址,所述IP映射表包括所述IP地址与所述IP地址经HASH运算得到的所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
具体的,系统上电后,首先,启动分流模块,即初始化映射表;然后,启动会话管理模块,即初始化会话表;再然后,启动资源池模块,即初始化系统资源队列;最后,启动分级管理模块,即初始化虚拟防火墙表。
映射表的初始化:是指为接口映射表、VPN映射表、VLAN映射表、IP映射表申请相应的地址空间,并将申请的空间清0。其中的线性表,如接口映射表、VPN映射表、VLAN映射表,可以根据系统实际支持的接口个数、VPN个数、VLAN个数计算出需要申请的地址空间的大小;而IP映射表是HASH表,则根据系统支持的配置规格申请相应的地址空间,如果IP映射表需要CAM表支持,则还要为CAM表申请相应的地址空间。
会话表的初始化:是指为会话HASH+CAM表申请相应的地址空间,并将申请的空间清0。
系统资源池初始化:将系统的所有资源按照资源类型T分别入队到对应的资源队列QT。即系统资源池PA={QA,QB…QT}。
虚拟防火墙实例表初始化:根据系统最多支持的虚拟虚拟防火墙实例的个数申请相应的地址空间,并将申请的空间清0。
分流机制,是指将系统收到的数据流量分别送入对应的虚拟防火墙实例。即根据接收数据流量的接口信息或者数据流量的报文信息(比如报文中的VPN、VLAN或者IP信息等)与虚拟防火墙实例的配置信息进行匹配,将数据流量送入对应的虚拟防火墙实例,由虚拟防火墙实例提供相应的安全服务。
通过维护接口映射表、VLAN映射表、VPN映射表、IP映射表来实现分流机制。
接口映射表,采用线性表,保存的是接口与虚拟防火墙实例的对应关系。该表的关键字是接口索引(IF-ID),结果是该接口所属的虚拟防火墙实例的索引(VFW-ID)。
VLAN映射表,采用线性表,保存的是VLAN属于哪个VPN或者虚拟防火墙实例。该表的关键字是VLAN索引(VLAN-ID),结果是该VLAN所属的VPN索引(VPN-ID)或者虚拟防火墙实例的索引(VFW-ID)。
VPN映射表,采用线性表,保存的是VPN与虚拟防火墙实例的对应关系。该表的关键字是VPN索引(VPN-ID),结果是该VPN所属的虚拟防火墙实例的索引(VFW-ID)。
IP映射表,采用HASH表,保存的是IP地址与虚拟防火墙的对应关系。该表的关键字是IP地址经HASH运算得到的IP映射表索引(IP-ID),结果是该IP地址所属的虚拟防火墙实例的索引(VFW-ID)。这里,当允许IP地址配置为掩码地址,则要将掩码地址覆盖的所有IP地址保存到HASH表。这样就可能因为IP地址太多而导致HASH表空间不够。所以,这种情况可以考虑使用CAM表来保存IP掩码地址,从而避免表空间问题,且提高IP检索的效率。
当超级管理员配置虚拟防火墙实例负责处理哪些数据流量时,只要指定相应的接口映射表、VLAN映射表、VPN映射表、IP映射表中的VFW-ID字段即可。比如,要将特定的接口IFa(对应IF-ID为a)收到的数据流量送入指定的虚拟防火墙实例VFWx(对应VFW-ID为x)来处理,则将接口映射表的第a条表项中的VFW-ID字段置为x即可。再比如,将目的IP地址是特定的IPb的数据流量送入指定的虚拟防火墙实例VFWy(对应VFW-ID为y)来处理。则首先将IPb做HASH运算得到HASH值b,然后将IP映射表的第b条表项中的VFW-ID字段置为y即可。
当系统运行时,根据接收数据流量的接口信息或者数据流量的报文信息,分别查找接口映射表、VLAN映射表、VPN映射表、IP映射表,得到该数据流量对应的虚拟防火墙实例索引,然后将数据流量送入该虚拟防火墙进行后续处理。当某数据流量匹配接口映射表、VLAN映射表、VPN映射表、IP映射表中的多个表时,需要根据映射表的优先级来决定该数据流量应送入哪个虚拟防火墙实例。一般来说,接口映射表的优先级最高,VLAN映射表次之,VPN映射表再次之,而IP映射表的优先级最低。
第一查找单元502,用于在根据所述数据流量的第二信息无法查找到与所述数据流量匹配的会话表项的情况下,根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
其中,所述第二信息至少包括所述数据流量的报文中的五元组。
具体的,会话管理机制,是指虚拟防火墙实例收到数据流量后,将数据流量与ACL规则组匹配生成对应的会话表项。虚拟防火墙实例可以根据会话表中的相关状态变化提供ASPF和NAT ALG等与会话状态相关的安全服务,也可以根据会话表的相关统计提供地址绑定、黑名单、地址转化、统计、攻击防范等安全服务。
生成单元503,用于根据所述数据流量、所述虚拟防火墙的配置参数以及所述ACL规则组生成会话表项,并将所述数据流量中的会话的相关安全服务参数保存在所述会话表项中。
具体的,会话管理机制的好处是,在虚拟防火墙实例收到会话的第一个报文后,可以根据虚拟防火墙实例表中的的配置参数,以及报文匹配的ACL规则组,自动生成会话表项,并将会话相关的安全服务参数保存在会话表项中。之后在虚拟防火墙实例收到该会话的后续报文时,就不需要重复查找虚拟防火墙实例表或ACL规则组,而直接读取会话表项的信息即可。这样,可以大大提高会话后续报文的处理效率。
这里一个“会话”,也叫一条“流”,包含由五元组唯一确定的正反两个方向的报文。比如A发给B的正向报文,即报文的源IP是IPA、目的IP是IPB、源端口是PORTA、目的端口是PORTB、协议是PROX,以及由B返回给A的反向报文,即报文的源IP是IPB、目的IP是IPA、源端口是PORTB、目的端口是PORTA、协议是PROX,这两个方向报文的五元组只是顺序颠倒,它们在这里属于一个会话。
虚拟防火墙实例独立管理自己的会话资源,即每个虚拟防火墙实例在逻辑上单独维护一个会话表(FT),FT表中的每个表项对应一个会话,保存着该会话相关的所有信息:
状态信息,比如TCP连接状态、FTP状态等,可以根据这些状态信息为会话提供ASPF状态跟踪服务,也可以根据所有会话的相关状态的统计提供相关的防攻击服务。
老化信息,比如会话的创建时间戳、更新时间戳等,可以根据时间戳计算会话的剩余老化时间,决定是何时老化该会话。
安全策略信息,比如会话的NAT策略、ACL策略、ASPF策略、ALG策略等,可以根据这些策略信息完成数据包转发、丢弃、上送、修改相应协议字段后转发等操作。
统计信息,比如会话的收发包个数等,可以这些统计信息提供会话监控服务。
转发信息,比如三层的路由信息、二层的转发信息等,可以根据这些转发信息提供数据流量转发服务。
在创建虚拟防火墙实例时会指定FT表中最多保存的会话条数CFT,一般CFT的值都比较大,比如128K条。所以FT表可以采用HASH+CAM的二级检索结构,以提高查找效率。其中,HASH表可以保存CHS=2N条表项,每条HASH表项对应一个CAM表,每个CAM表可以保存CCAM条表项,每条CAM表项对应一个会话,则
CFT=CHS×CCAM
当虚拟防火墙实例收到报文后,首先,会检索FT表。如果检索失败,则查找虚拟防火墙实例表和ACL规则组,根据匹配的安全服务参数建立流表。如果检索成功,则直接取出流表。然后,根据流表中的信息,对报文执行相应的安全策略。
本实施例通过根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识;在根据所述数据流量的第二信息无法查找到与所述数据流量匹配的会话表项的情况下,根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;根据所述数据流量、所述虚拟防火墙的配置参数以及所述ACL规则组生成会话表项,并将所述数据流量中的会话的相关安全服务参数保存在所述会话表项中,从而可以实现通过它可将一个物理防火墙划分为多个逻辑防火墙来用,每个逻辑防火墙可以独立申请资源,并配置不同的安全策略,以满足用户不同的安全需求;同时,本发明提供了一种在一个单一的硬件平台上实现多个虚拟防火墙实例的方法,解决了传统防火墙部署的缺陷。可以在大大降低维护和管理成本的前提下,同时为不同用户提供独立的安全服务策略。
图6为本发明实现虚拟防火墙的装置第二实施例的功能模块示意图。
在第二实施例中,该实现虚拟防火墙的装置还包括:
第二查找单元504,用于:
根据所述第二信息查找与所述数据流量匹配的会话表项;
所述第二查找单元504,用于:
对所述第二信息进行HASH运算得到值H,所述值H的低N比特用于查找CAM表的索引,所述值H的高N比特用于查找所述CAM表的标识;
若能与预先存储的CAM表匹配,则获取匹配到的所述CAM表的内容,并根据所述内容与所述第二信息进行匹配,若相同,则确定根据所述第二信息能查找与所述数据流量匹配的会话表项;若不同,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项;
若无法与预先存储的CAM表匹配,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项。
图7为本发明实现虚拟防火墙的装置第三实施例的功能模块示意图。
在第三实施例中,该实现虚拟防火墙的装置还包括:
创建单元505,用于在创建虚拟防火墙实例VFWv时,将总资源池PA中的资源总队列QA中的资源对象先执行出队操作,再入队操作到资源队列Qv;
删除单元506,用于在删除所述虚拟防火墙实例VFWv时,将资源池Pv中的资源队列Qv中的资源对象先执行出队操作,再入队操作到资源总队列QA;
其中,所述Qv为所述虚拟防火墙实例的资源池的每一个类型中的一个队列或者栈;所述QA为所述虚拟防火墙实例的资源池的每一个类型对应的资源;所述PA为所述虚拟防火墙实例的总资源池;所述Pv为所述虚拟防火墙实例VFWv对应的资源池中的资源。
具体的,资源池机制,是指每个虚拟防火墙实例对应单独的资源池,虚拟防火墙实例只允许操作自己的资源池中的资源对象。即由虚拟防火墙实例独立负责资源池中资源对象的申请、回收、老化等。这里的资源对象包括单不限于地址资源、安全域资源、服务资源、会话资源等。
采用资源池的好处是,能充分利用系统的资源,并且灵活的控制每个虚拟防火墙实例占用的资源;同时独立的资源池管理,也大大降低虚拟防火墙实例之间的耦合度,减少虚拟防火墙实例之间的相互影响,更便于使用。
由于系统的资源总数是有限的,所以分配到每个虚拟防火墙实例的资源池中的资源也是有限的。比如系统最多支持32M条会话(Session),最多支持256个虚拟防火墙实例,那么每个虚拟防火墙实例平均最多能支持128K条会话。
虚拟防火墙实例VFWv对应的资源池Pv中的资源对象可以按照类型分开管理,每个类型采用一个队列(或者栈)Qv来管理,即该类型的每个资源对象对应Qv中的一个成员。而系统资源可以看做一个最大的总资源池PA,其中每个类型的资源对应一个总队列QA。
当超级管理员创建虚拟防火墙实例VFWv时,会分别指定资源池Pv中的每个资源队列Qv所包含的资源对象的个数,也就是先将总资源池PA中的资源总队列QA中的资源对象先执行出队操作,再入队操作到资源队列Qv。当超级管理员删除虚拟防火墙实例VFWv时,会回收资源池Pv中的所有资源队列Qv中包含的资源对象,也就是将资源池Pv中的资源队列Qv中的资源对象先执行出队操作,再执行入队操作到资源总队列QA。
虚拟防火墙管理员对资源池Pv中资源对象的申请、回收、老化,也就是对相应的资源队列Qv中的资源对象的出队、入队、入队操作。
图8为本发明实现虚拟防火墙的装置第四实施例的功能模块示意图。
在第四实施例中,该实现虚拟防火墙的装置还包括:
配置单元507,用于为每一个虚拟防火墙实例配置第一管理员,为所述第一管理员配置第二管理员。
具体的,分级管理机制,是指采用二级管理的方式实现虚拟防火墙实例的独立配置管理,即由超级管理员来创建或删除虚拟防火墙实例,并指定对应的虚拟防火墙管理员;由虚拟防火墙管理员来独立管理虚拟防火墙实例。
超级管理员创建或删除虚拟防火墙实例时,要为该虚拟防火墙实例分配或回收对应的资源池,即前面的“资源池”模块;同时,超级管理员还要指定哪些数据流量送入或不送入该虚拟防火墙实例处理。即前面的“分流”模块。
虚拟防火墙管理员管理虚拟防火墙实例,即根据用户的安全需求,配置私有的ACL安全规则,管理资源池中的资源对象。这里,我们维护一个虚拟防火墙实例表,来保存虚拟防火墙实例的相关配置信息。虚拟防火墙实例表采用线性表,该表的关键字是虚拟防火墙实例的索引VFW-ID,结果是该虚拟防火墙实例的相关配置参数,比如虚拟防火墙实例使能了哪些防攻击类型和相关的阈值参数,或者配置的黑名单参数等。当虚拟防火墙管理员配置相关的安全服务时,就更新相应的字段。
分级管理的好处是,超级管理员只关注需要为虚拟防火墙实例分配哪些系统资源,而虚拟防火墙实例的管理可以由虚拟防火墙管理员独立负责,使虚拟防火墙的管理更加灵活方便。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (16)
1.一种实现虚拟防火墙的方法,其特征在于,所述方法包括:
根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识;
在根据所述数据流量的第二信息无法查找到与所述数据流量匹配的会话表项的情况下,根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找接入控制列表ACL规则组;
根据所述数据流量、所述虚拟防火墙的配置参数以及所述ACL规则组生成会话表项,并将所述数据流量中的会话的相关安全服务参数保存在所述会话表项中。
2.根据权利要求1所述的方法,其特征在于,所述第一信息至少包括所述数据流量的报文中的五元组、虚拟局域网VLAN信息或者网际协议IP信息;所述第二信息至少包括所述数据流量的报文中的五元组。
3.根据权利要求1所述的方法,其特征在于,所述根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识,包括:
判断是否能根据所述数据流量的接口信息和预先存储的接口映射表,获取所述虚拟防火墙实例的标识,所述接口映射表包括所述数据流量的接口信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
4.根据权利要求3所述的方法,其特征在于,所述若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组之后,还包括:
若否,则判断是否能根据所述数据流量的第一报文信息和预先存储的VLAN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述VLAN映射表包括所述数据流量的VLAN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
5.根据权利要求4所述的方法,其特征在于,所述若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组之后,还包括:
若否,则判断是否能根据所述数据流量的第一报文信息、预先存储的第一虚拟专用网VPN映射表和预先存储的第二VPN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述第一VPN映射表包括所述VLAN信息和VPN信息的对应关系,所述第二VPN映射表包括所述VPN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
6.根据权利要求5所述的方法,其特征在于,所述若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组之后,还包括:
若否,则判断是否能根据所述数据流量的第二报文信息和预先存储的IP映射表,获取所述虚拟防火墙实例的标识,所述第二报文信息至少包括IP地址,所述IP映射表包括所述IP地址与所述IP地址经HASH运算得到的所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
7.根据权利要求1所述的方法,其特征在于,所述根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识之后,包括:
根据所述第二信息查找与所述数据流量匹配的会话表项;
所述根据所述第二信息查找与所述数据流量匹配的会话表项,包括:
对所述第二信息进行HASH运算得到值H,所述值H的低N比特用于查找CAM表的索引,所述值H的高N比特用于查找所述CAM表的标识;
若能与预先存储的CAM表匹配,则获取匹配到的所述CAM表的内容,并根据所述内容与所述第二信息进行匹配,若相同,则确定根据所述第二信息能查找与所述数据流量匹配的会话表项;若不同,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项;
若无法与预先存储的CAM表匹配,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项。
8.根据权利要求1至7任意一项所述的方法,其特征在于,所述方法还包括:
在创建虚拟防火墙实例VFWv时,将总资源池PA中的资源总队列QA中的资源对象先执行出队操作,再入队操作到资源队列Qv;
在删除所述虚拟防火墙实例VFWv时,将资源池Pv中的资源队列Qv中的资源对象先执行出队操作,再入队操作到资源总队列QA;
其中,所述Qv为所述虚拟防火墙实例的资源池的每一个类型中的一个队列或者栈;所述QA为所述虚拟防火墙实例的资源池的每一个类型对应的资源;所述PA为所述虚拟防火墙实例的总资源池;所述Pv为所述虚拟防火墙实例VFWv对应的资源池中的资源。
9.一种实现虚拟防火墙的装置,其特征在于,所述装置包括:
获取单元,用于根据接收到的数据流量的第一信息获取虚拟防火墙实例的标识;
第一查找单元,用于在根据所述数据流量的第二信息无法查找到与所述数据流量匹配的会话表项的情况下,根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组;
生成单元,用于根据所述数据流量、所述虚拟防火墙的配置参数以及所述ACL规则组生成会话表项,并将所述数据流量中的会话的相关安全服务参数保存在所述会话表项中。
10.根据权利要求9所述的装置,其特征在于,所述第一信息至少包括所述数据流量的报文中的五元组、VLAN信息或者IP信息;所述第二信息至少包括所述数据流量的报文中的五元组。
11.根据权利要求9所述的装置,其特征在于,所述获取单元,用于:
判断是否能根据所述数据流量的接口信息和预先存储的接口映射表,获取所述虚拟防火墙实例的标识,所述接口映射表包括所述数据流量的接口信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
12.根据权利要求11所述的装置,其特征在于,所述获取单元还用于:
若否,则判断是否能根据所述数据流量的第一报文信息和预先存储的VLAN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述VLAN映射表包括所述数据流量的VLAN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
13.根据权利要求12所述的装置,其特征在于,所述获取单元,还用于:
若否,则判断是否能根据所述数据流量的第一报文信息、预先存储的第一VPN映射表和预先存储的第二VPN映射表,获取所述虚拟防火墙实例的标识,所述第一报文信息至少包括VLAN信息,所述第一VPN映射表包括所述VLAN信息和VPN信息的对应关系,所述第二VPN映射表包括所述VPN信息和所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
14.根据权利要求13所述的装置,其特征在于,所述获取单元,还用于:
若否,则判断是否能根据所述数据流量的第二报文信息和预先存储的IP映射表,获取所述虚拟防火墙实例的标识,所述第二报文信息至少包括IP地址,所述IP映射表包括所述IP地址与所述IP地址经HASH运算得到的所述虚拟防火墙实例的标识之间的对应关系;若是,则执行根据所述虚拟防火墙实例的标识查找所述虚拟防火墙的配置参数,并根据所述数据流量的报文信息查找ACL规则组。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括第二查找单元,用于:
根据所述第二信息查找与所述数据流量匹配的会话表项;
所述第二查找单元,用于:
对所述第二信息进行HASH运算得到值H,所述值H的低N比特用于查找CAM表的索引,所述值H的高N比特用于查找所述CAM表的标识;
若能与预先存储的CAM表匹配,则获取匹配到的所述CAM表的内容,并根据所述内容与所述第二信息进行匹配,若相同,则确定根据所述第二信息能查找与所述数据流量匹配的会话表项;若不同,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项;
若无法与预先存储的CAM表匹配,则确定根据所述第二信息无法查找与所述数据流量匹配的会话表项。
16.根据权利要求9至15任意一项所述的装置,其特征在于,所述装置还包括:
创建单元,用于在创建虚拟防火墙实例VFWv时,将总资源池PA中的资源总队列QA中的资源对象先执行出队操作,再入队操作到资源队列Qv;
删除单元,用于在删除所述虚拟防火墙实例VFWv时,将资源池Pv中的资源队列Qv中的资源对象先执行出队操作,再入队操作到资源总队列QA;
其中,所述Qv为所述虚拟防火墙实例的资源池的每一个类型中的一个队列或者栈;所述QA为所述虚拟防火墙实例的资源池的每一个类型对应的资源;所述PA为所述虚拟防火墙实例的总资源池;所述Pv为所述虚拟防火墙实例VFWv对应的资源池中的资源。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410631667.1A CN105577628B (zh) | 2014-11-11 | 2014-11-11 | 实现虚拟防火墙的方法及装置 |
PCT/CN2015/085627 WO2016074502A1 (zh) | 2014-11-11 | 2015-07-30 | 实现虚拟防火墙的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410631667.1A CN105577628B (zh) | 2014-11-11 | 2014-11-11 | 实现虚拟防火墙的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105577628A CN105577628A (zh) | 2016-05-11 |
CN105577628B true CN105577628B (zh) | 2020-01-21 |
Family
ID=55887291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410631667.1A Active CN105577628B (zh) | 2014-11-11 | 2014-11-11 | 实现虚拟防火墙的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105577628B (zh) |
WO (1) | WO2016074502A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105939356B (zh) * | 2016-06-13 | 2019-06-14 | 北京网康科技有限公司 | 一种虚拟防火墙划分方法和装置 |
CN106534287B (zh) * | 2016-10-27 | 2019-11-08 | 杭州迪普科技股份有限公司 | 一种会话表项的管理方法和装置 |
JP7106549B2 (ja) | 2017-01-18 | 2022-07-26 | テトラ ラバル ホールディングス アンド ファイナンス エス エイ | 高セルロース繊維含有量を有する溶融加工材料 |
CN107196952A (zh) * | 2017-06-12 | 2017-09-22 | 深圳市永达电子信息股份有限公司 | 基于Opensatck实现个人虚拟应用防火墙方法 |
CN107517129B (zh) * | 2017-08-25 | 2020-04-03 | 杭州迪普科技股份有限公司 | 一种基于OpenStack配置设备上行接口的方法和装置 |
CN107483341B (zh) * | 2017-08-29 | 2020-10-02 | 杭州迪普科技股份有限公司 | 一种跨防火墙报文快速转发方法及装置 |
CN107395645B (zh) * | 2017-09-05 | 2018-06-26 | 瑞科网信(北京)科技有限公司 | 用于防火墙的系统和方法以及存储有对应程序的介质 |
CN107888500B (zh) * | 2017-11-03 | 2020-04-17 | 东软集团股份有限公司 | 报文转发方法及装置、存储介质、电子设备 |
CN107864101A (zh) * | 2017-12-26 | 2018-03-30 | 杭州迪普科技股份有限公司 | 负载均衡方法和装置 |
CN108989352B (zh) * | 2018-09-03 | 2022-11-11 | 平安科技(深圳)有限公司 | 防火墙实现方法、装置、计算机设备及存储介质 |
CN116112260A (zh) * | 2023-02-13 | 2023-05-12 | 国网浙江省电力有限公司信息通信分公司 | 防火墙安全策略的处理方法、装置、设备以及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101345711A (zh) * | 2008-08-13 | 2009-01-14 | 成都市华为赛门铁克科技有限公司 | 一种报文处理方法、防火墙设备及网络安全系统 |
CN101459583A (zh) * | 2007-12-13 | 2009-06-17 | 华为技术有限公司 | 报文处理方法和装置、以及报文发送方法和装置 |
CN101958903A (zh) * | 2010-10-09 | 2011-01-26 | 南京博同科技有限公司 | 一种基于soc及并行虚拟防火墙的高性能防火墙实现方法 |
CN103457920A (zh) * | 2012-06-04 | 2013-12-18 | 中国科学院声学研究所 | 一种基于重叠网的分布式防火墙安全策略配置方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387061B (zh) * | 2011-10-21 | 2014-05-07 | 华为技术有限公司 | 虚拟私云接入虚拟专用网的方法、装置和系统 |
-
2014
- 2014-11-11 CN CN201410631667.1A patent/CN105577628B/zh active Active
-
2015
- 2015-07-30 WO PCT/CN2015/085627 patent/WO2016074502A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459583A (zh) * | 2007-12-13 | 2009-06-17 | 华为技术有限公司 | 报文处理方法和装置、以及报文发送方法和装置 |
CN101345711A (zh) * | 2008-08-13 | 2009-01-14 | 成都市华为赛门铁克科技有限公司 | 一种报文处理方法、防火墙设备及网络安全系统 |
CN101958903A (zh) * | 2010-10-09 | 2011-01-26 | 南京博同科技有限公司 | 一种基于soc及并行虚拟防火墙的高性能防火墙实现方法 |
CN103457920A (zh) * | 2012-06-04 | 2013-12-18 | 中国科学院声学研究所 | 一种基于重叠网的分布式防火墙安全策略配置方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105577628A (zh) | 2016-05-11 |
WO2016074502A1 (zh) | 2016-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105577628B (zh) | 实现虚拟防火墙的方法及装置 | |
US11086653B2 (en) | Forwarding policy configuration | |
US10581635B2 (en) | Managing routing information for tunnel endpoints in overlay networks | |
US9590907B2 (en) | Service chaining in a cloud environment using software defined networking | |
US9667551B2 (en) | Policy enforcement proxy | |
US10284431B2 (en) | Distributed operating system for network devices | |
US11349715B2 (en) | Method and system for consistent policy enforcement through fabric offloading | |
JP6248938B2 (ja) | 通信システム、仮想ネットワーク管理装置、仮想ネットワークの管理方法及びプログラム | |
WO2011106313A2 (en) | System and method for managing flow of packets | |
US10432628B2 (en) | Method for improving access control for TCP connections while optimizing hardware resources | |
US11895025B2 (en) | Method and system for propagating network traffic flows between end points based on service and priority policies | |
CN109921995A (zh) | 一种配置地址表的方法、fpga和应用该fpga的网络设备 | |
US7327744B2 (en) | Fibre channel forwarding information base | |
US11463479B2 (en) | Intercepting network traffic | |
US20120033670A1 (en) | EGRESS PROCESSING OF INGRESS VLAN ACLs | |
US20200252338A1 (en) | Method and system for optimizing service device traffic management | |
Yamanaka et al. | Openflow networks with limited l2 functionality | |
JP2013183397A (ja) | フロー単位パケット転送のための宛先検索装置および検索方法 | |
JP5833186B1 (ja) | Cpu割当装置及び方法及びプログラム | |
Guo et al. | Research and Implementation of Distributed Access Control and Traffic Statistics Based on XORP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |