實現(xiàn)虛擬防火墻的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡安全領(lǐng)域,尤其涉及一種實現(xiàn)虛擬防火墻的方法及裝置。
【背景技術(shù)】
[0002]在傳統(tǒng)的解決方案中,當系統(tǒng)需要多套防火墻防護時,一般是部署多臺防火墻進行防護。傳統(tǒng)的方式是在CE設備前各部署一臺防火墻,各自進行管理及配置,比如在MPLSVPN網(wǎng)絡中,各VPN之間需要做安全保護,傳統(tǒng)的解決方案存在明顯的不足:
[0003]企業(yè)需要部署和管理多臺獨立防火墻,導致?lián)碛泻途S護成本較高,網(wǎng)絡管理的復雜度較大;集中放置的多個獨立防火墻將占用較多的機架空間,并且給綜合布線帶來額外的復雜度;由于業(yè)務的發(fā)展,MPLS VPN或者VLAN的劃分可能會發(fā)生新的變化,MPLS VPN或者VLAN是邏輯的實現(xiàn),僅僅改動配置即可方便滿足該需求。而傳統(tǒng)防火墻需要發(fā)生物理上的變化,對用戶后期備件以及管理造成很大的困難。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種實現(xiàn)虛擬防火墻的方法及裝置,主要目的在于解決如何在單一的硬件平臺上實現(xiàn)多個虛擬防火墻實例的技術(shù)問題。
[0005]為實現(xiàn)上述目的,本發(fā)明提供的一種實現(xiàn)虛擬防火墻的方法,所述方法包括:
[0006]根據(jù)接收到的數(shù)據(jù)流量的第一信息獲取虛擬防火墻實例的標識;
[0007]在根據(jù)所述數(shù)據(jù)流量的第二信息無法查找到與所述數(shù)據(jù)流量匹配的會話表項的情況下,根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組;
[0008]根據(jù)所述數(shù)據(jù)流量、所述虛擬防火墻的配置參數(shù)以及所述ACL規(guī)則組生成會話表項,并將所述數(shù)據(jù)流量中的會話的相關(guān)安全服務參數(shù)保存在所述會話表項中。
[0009]優(yōu)選地,所述第一信息至少包括所述數(shù)據(jù)流量的報文中的五元組、VLAN信息或者IP信息;所述第二信息至少包括所述數(shù)據(jù)流量的報文中的五元組。
[0010]優(yōu)選地,所述根據(jù)接收到的數(shù)據(jù)流量的第一信息獲取虛擬防火墻實例的標識,包括:
[0011]判斷是否能根據(jù)所述數(shù)據(jù)流量的接口信息和預先存儲的接口映射表,獲取所述虛擬防火墻實例的標識,所述接口映射表包括所述數(shù)據(jù)流量的接口信息和所述虛擬防火墻實例的標識之間的對應關(guān)系;若是,則執(zhí)行根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組。
[0012]優(yōu)選地,所述若是,則執(zhí)行根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組之后,還包括:
[0013]若否,則判斷是否能根據(jù)所述數(shù)據(jù)流量的第一報文信息和預先存儲的VLAN映射表,獲取所述虛擬防火墻實例的標識,所述第一報文信息至少包括VLAN信息,所述VLAN映射表包括所述數(shù)據(jù)流量的VLAN信息和所述虛擬防火墻實例的標識之間的對應關(guān)系;若是,則執(zhí)行根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組;
[0014]優(yōu)選地,所述若是,則執(zhí)行根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組之后,還包括:
[0015]若否,則判斷是否能根據(jù)所述數(shù)據(jù)流量的第一報文信息、預先存儲的第一 VPN映射表和預先存儲的第二 VPN映射表,獲取所述虛擬防火墻實例的標識,所述第一報文信息至少包括VLAN信息,所述第一 VPN映射表包括所述VLAN信息和VPN信息的對應關(guān)系,所述第二VPN映射表包括所述VPN信息和所述虛擬防火墻實例的標識之間的對應關(guān)系;若是,則執(zhí)行根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組;
[0016]優(yōu)選地,所述若是,則執(zhí)行根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組之后,還包括:
[0017]若否,則判斷是否能根據(jù)所述數(shù)據(jù)流量的第二報文信息和所述預先存儲的IP映射表,獲取所述虛擬防火墻實例的標識,所述第二報文信息至少包括IP地址,所述IP映射表包括所述IP地址與所述IP地址經(jīng)HASH運算得到的所述虛擬防火墻實例的標識之間的對應關(guān)系;若是,則執(zhí)行根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組。
[0018]優(yōu)選地,所述根據(jù)接收到的數(shù)據(jù)流量的第一信息獲取虛擬防火墻實例的標識之后,包括:
[0019]根據(jù)所述第二信息查找與所述數(shù)據(jù)流量匹配的會話表項;
[0020]所述根據(jù)所述第二信息查找與所述數(shù)據(jù)流量匹配的會話表項,包括:
[0021]對所述第二信息進行HASH運算得到值H,所述值H的低N比特用于查找CAM表的索引,所述值H的高N比特用于查找所述CAM表的標識;
[0022]若能與預先存儲的CAM表匹配,則獲取匹配到的所述CAM表的內(nèi)容,并根據(jù)所述內(nèi)容與所述第二信息進行匹配,若相同,則確定根據(jù)所述第二信息能查找與所述數(shù)據(jù)流量匹配的會話表項;若不同,則確定根據(jù)所述第二信息無法查找與所述數(shù)據(jù)流量匹配的會話表項;
[0023]若無法與預先存儲的CAM表匹配,則確定根據(jù)所述第二信息無法查找與所述數(shù)據(jù)流量匹配的會話表項。
[0024]優(yōu)選地,所述方法還包括:
[0025]在創(chuàng)建虛擬防火墻實例VFWv時,將總資源池PA中的資源總隊列QA中的資源對象先執(zhí)行出隊操作,再入隊操作到資源隊列Qv ;
[0026]在刪除所述虛擬防火墻實例VFWv時,將資源池Pv中的資源隊列Qv中的資源對象先執(zhí)行出隊操作,再入隊操作到資源總隊列QA ;
[0027]其中,所述Qv為所述虛擬防火墻實例的資源池的每一個類型中的一個隊列或者棧;所述QA為所述虛擬防火墻實例的資源池的每一個類型對應的資源;所述PA為所述虛擬防火墻實例的總資源池;所述Pv為所述虛擬防火墻實例VFWv對應的資源池中的資源。
[0028]此外,為實現(xiàn)上述目的,本發(fā)明還提供一種實現(xiàn)虛擬防火墻的裝置,所述裝置包括:
[0029]獲取單元,用于根據(jù)接收到的數(shù)據(jù)流量的第一信息獲取虛擬防火墻實例的標識;
[0030]第一查找單元,用于在根據(jù)所述數(shù)據(jù)流量的第二信息無法查找到與所述數(shù)據(jù)流量匹配的會話表項的情況下,根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組;
[0031]生成單元,用于根據(jù)所述數(shù)據(jù)流量、所述虛擬防火墻的配置參數(shù)以及所述ACL規(guī)則組生成會話表項,并將所述數(shù)據(jù)流量中的會話的相關(guān)安全服務參數(shù)保存在所述會話表項中。
[0032]優(yōu)選地,所述第一信息至少包括所述數(shù)據(jù)流量的報文中的五元組、VLAN信息或者IP信息;所述第二信息至少包括所述數(shù)據(jù)流量的報文中的五元組。
[0033]優(yōu)選地,所述獲取單元,用于:
[0034]判斷是否能根據(jù)所述數(shù)據(jù)流量的接口信息和預先存儲的接口映射表,獲取所述虛擬防火墻實例的標識,所述接口映射表包括所述數(shù)據(jù)流量的接口信息和所述虛擬防火墻實例的標識之間的對應關(guān)系;若是,則執(zhí)行根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組。
[0035]優(yōu)選地,所述獲取單元,還用于:
[0036]若否,則判斷是否能根據(jù)所述數(shù)據(jù)流量的第一報文信息和預先存儲的VLAN映射表,獲取所述虛擬防火墻實例的標識,所述第一報文信息至少包括VLAN信息,所述VLAN映射表包括所述數(shù)據(jù)流量的VLAN信息和所述虛擬防火墻實例的標識之間的對應關(guān)系;若是,則執(zhí)行根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組。
[0037]優(yōu)選地,所述獲取單元,還用于:
[0038]若否,則判斷是否能根據(jù)所述數(shù)據(jù)流量的第一報文信息、預先存儲的第一 VPN映射表和預先存儲的第二 VPN映射表,獲取所述虛擬防火墻實例的標識,所述第一報文信息至少包括VLAN信息,所述第一 VPN映射表包括所述VLAN信息和VPN信息的對應關(guān)系,所述第二VPN映射表包括所述VPN信息和所述虛擬防火墻實例的標識之間的對應關(guān)系;若是,則執(zhí)行根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組。
[0039]優(yōu)選地,所述獲取單元,還用于:
[0040]若否,則判斷是否能根據(jù)所述數(shù)據(jù)流量的第二報文信息和所述預先存儲的IP映射表,獲取所述虛擬防火墻實例的標識,所述第二報文信息至少包括IP地址,所述IP映射表包括所述IP地址與所述IP地址經(jīng)HASH運算得到的所述虛擬防火墻實例的標識之間的對應關(guān)系;若是,則執(zhí)行根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組。
[0041]優(yōu)選地,所述裝置還包括第二查找單元,用于:
[0042]根據(jù)所述第二信息查找與所述數(shù)據(jù)流量匹配的會話表項;
[0043]所述第二查找單元,用于:
[0044]對所述第二信息進行HASH運算得到值H,所述值H的低N比特用于查找CAM表的索引,所述值H的高N比特用于查找所述CAM表的標識;
[0045]若能與預先存儲的CAM表匹配,則獲取匹配到的所述CAM表的內(nèi)容,并根據(jù)所述內(nèi)容與所述第二信息進行匹配,若相同,則確定根據(jù)所述第二信息能查找與所述數(shù)據(jù)流量匹配的會話表項;若不同,則確定根據(jù)所述第二信息無法查找與所述數(shù)據(jù)流量匹配的會話表項;
[0046]若無法與預先存儲的CAM表匹配,則確定根據(jù)所述第二信息無法查找與所述數(shù)據(jù)流量匹配的會話表項。
[0047]優(yōu)選地,所述裝置還包括:
[0048]創(chuàng)建單元,用于在創(chuàng)建虛擬防火墻實例VFWv時,將總資源池PA中的資源總隊列QA中的資源對象先執(zhí)行出隊操作,再入隊操作到資源隊列Qv ;
[0049]刪除單元,用于在刪除所述虛擬防火墻實例VFWv時,將資源池Pv中的資源隊列Qv中的資源對象先執(zhí)行出隊操作,再入隊操作到資源總隊列QA ;
[0050]其中,所述Qv為所述虛擬防火墻實例的資源池的每一個類型中的一個隊列或者棧;所述QA為所述虛擬防火墻實例的資源池的每一個類型對應的資源;所述PA為所述虛擬防火墻實例的總資源池;所述Pv為所述虛擬防火墻實例VFWv對應的資源池中的資源。
[0051]本實施例通過根據(jù)接收到的數(shù)據(jù)流量的第一信息獲取虛擬防火墻實例的標識;在根據(jù)所述數(shù)據(jù)流量的第二信息無法查找到與所述數(shù)據(jù)流量匹配的會話表項的情況下,根據(jù)所述虛擬防火墻實例的標識查找所述虛擬防火墻的配置參數(shù),并根據(jù)所述數(shù)據(jù)流量的報文信息查找ACL規(guī)則組;根據(jù)所述數(shù)據(jù)流量、所述虛擬防火墻的配置參數(shù)以及所述ACL規(guī)則組生成會話表項,并將所述數(shù)據(jù)流量中的會話的相關(guān)安全服務參數(shù)保存在所述會話表項中,從而可以實現(xiàn)通過它可將一個物理防火墻劃分為多個邏輯防火墻來用,每個邏輯防火墻可以獨立申請資源,并配置不同的安全策略,以滿足用戶不同的安全需求;同時,本發(fā)明提供了一種在一個單一的硬件平臺上實現(xiàn)多個