一種軟件定義網(wǎng)絡(luò)中實現(xiàn)虛擬防火墻的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實施方式屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別是一種軟件定義網(wǎng)絡(luò)(SoftwareDefined Network, SDN)中實現(xiàn)虛擬防火墻的方法和裝置。
【背景技術(shù)】
[0002]SDN技術(shù)通過將網(wǎng)絡(luò)設(shè)備的控制平面與數(shù)據(jù)平面分離,從而實現(xiàn)網(wǎng)絡(luò)流量的靈活控制。相應(yīng)地,SDN架構(gòu)中包括SDN控制器和SDN交換機,其中:SDN控制器和SDN交換機之間通過優(yōu)選為開放流(OpenFlow協(xié)議)的SDN管理通道進行通信,SDN控制器根據(jù)用戶的配置或者動態(tài)運行的協(xié)議生成流表下發(fā)到SDN交換機,SDN交換機依據(jù)SDN控制器下發(fā)的流表進行報文處理。
[0003]SDN技術(shù)在云計算和網(wǎng)絡(luò)安全中都有諸多應(yīng)用。云計算給數(shù)據(jù)中心的網(wǎng)絡(luò)安全帶來了諸多挑戰(zhàn),主要體現(xiàn)在:
[0004](I)、網(wǎng)絡(luò)邊界的模糊化、威脅種類的變化以及大流量的攻擊,對數(shù)據(jù)中心網(wǎng)絡(luò)產(chǎn)生巨大沖擊;(2)、虛擬化平臺運行在操作系統(tǒng)與物理設(shè)備之間,其本身設(shè)計存在的漏洞風(fēng)險將成為云計算的致命弱點;(3)、不同安全需求的租戶可能運行在同一臺物理機上,這種租戶共享帶來的安全問題,傳統(tǒng)安全措施難以處理;(4)、在數(shù)據(jù)管理方面,應(yīng)用系統(tǒng)和資源所有權(quán)的分離,導(dǎo)致云平臺管理員有可能訪問用戶數(shù)據(jù),造成人為數(shù)據(jù)泄露。
[0005]目前,現(xiàn)有技術(shù)中通常使用物理防火墻來解決數(shù)據(jù)中心虛擬機內(nèi)部流量和虛擬機之間流量的安全檢查問題。
[0006]首先,物理防火墻會導(dǎo)致成本問題。而且,將虛擬機內(nèi)部流量和虛擬機之間流量引入到物理防火墻進行安全檢查,物理防火墻檢查完畢后再將流量送還到虛擬機,這還占據(jù)了物理服務(wù)器的出口帶寬。
[0007]另外,物理防火墻的部署位置通常固定,虛擬機遷移后不得不重新部署物理防火墻,這也增加了部署工作量。
【發(fā)明內(nèi)容】
[0008]本發(fā)明實施方式提出一種SDN中實現(xiàn)虛擬防火墻的方法和裝置,無需采用物理防火墻,從而降低成本。
[0009]本發(fā)明實施方式的技術(shù)方案如下:
[0010]一種SDN中實現(xiàn)虛擬防火墻的方法,該方法適用于第一虛擬交換機,所述第一虛擬交換機下掛有第一虛擬防火墻,該方法包括:
[0011]將第一虛擬防火墻的端口發(fā)送到SDN控制器;
[0012]接收SDN控制器發(fā)送的第一流表,所述第一流表用于指示將第一虛擬交換機通過非所述第一虛擬防火墻的端口接收到的、目的地址或源地址為指定虛擬機的流量發(fā)送到第一虛擬防火墻的端口以由所述第一虛擬防火墻執(zhí)行安全審核。
[0013]一種SDN中實現(xiàn)虛擬防火墻的裝置,該裝置應(yīng)用于第一虛擬交換機,所述第一虛擬交換機下掛有第一虛擬防火墻,該裝置包括:
[0014]端口上報模塊,用于將第一虛擬防火墻的端口發(fā)送到SDN控制器;
[0015]流表接收模塊,用于接收SDN控制器發(fā)送的第一流表,所述第一流表用于指示將第一虛擬交換機通過非所述第一虛擬防火墻的端口接收到的、目的地址或源地址為指定虛擬機的流量發(fā)送到所述第一虛擬防火墻的端口以由所述第一虛擬防火墻執(zhí)行安全審核。
[0016]一種SDN中實現(xiàn)虛擬防火墻的方法,該方法適用于SDN控制器,該方法包括:
[0017]從第一虛擬交換機接收第一虛擬防火墻的端口,其中第一虛擬防火墻下掛在第一虛擬交換機上;
[0018]向所述第一虛擬交換機下發(fā)第一流表,所述第一流表用于指示將第一虛擬交換機通過非所述第一虛擬防火墻的端口接收到的、目的地址或源地址為指定虛擬機的流量發(fā)送到所述第一虛擬防火墻的端口以由所述第一虛擬防火墻執(zhí)行安全審核。
[0019]一種SDN中實現(xiàn)虛擬防火墻的裝置,該裝置應(yīng)用于SDN控制器,包括:
[0020]端口接收模塊,用于從第一虛擬交換機接收第一虛擬防火墻的端口,其中第一虛擬防火墻下掛在第一虛擬交換機上;
[0021]流表下發(fā)模塊,用于向第一虛擬交換機下發(fā)第一流表,所述第一流表用于指示將第一虛擬交換機通過非所述第一虛擬防火墻的端口接收到的、目的地址或源地址為指定虛擬機的流量發(fā)送到所述第一虛擬防火墻的端口以由所述第一虛擬防火墻執(zhí)行安全審核。
[0022]由此可見,本發(fā)明采用虛擬機的形式將虛擬防火墻部署到虛擬交換機上,而且將虛擬防火墻與SDN控制器進行關(guān)聯(lián),充分發(fā)揮SDN控制器的全局總管功能,無需部署物理防火墻即可實現(xiàn)流量的安全策略檢查,從而顯著降低成本。另外,在虛擬機進行遷移的時候,SDN控制器重新下發(fā)流表,可以靈活控制遷移后虛擬機的安全策略檢查。
【附圖說明】
[0023]圖1為根據(jù)本發(fā)明一實施方式在主機側(cè)實現(xiàn)SDN虛擬防火墻的方法流程圖。
[0024]圖2為根據(jù)本發(fā)明一實施方式在SDN控制器側(cè)實現(xiàn)SDN虛擬防火墻的方法流程圖。
[0025]圖3為根據(jù)本發(fā)明一實施方式SDN中實現(xiàn)虛擬防火墻的示意圖。
[0026]圖4為根據(jù)本發(fā)明一實施方式,在VxLAN組網(wǎng)中單獨部署虛擬防火墻的示意圖。
[0027]圖5為根據(jù)本發(fā)明一實施方式,在VxLAN組網(wǎng)中虛擬防火墻與虛擬機混合部署的示意圖。
[0028]圖6為根據(jù)本發(fā)明一實施方式,在VLAN組網(wǎng)中部署虛擬防火墻的示意圖。
[0029]圖7為根據(jù)本發(fā)明一實施方式,虛擬防火墻與虛擬機部署在同一主機上的示意圖。
[0030]圖8為根據(jù)本發(fā)明一實施方式在主機側(cè)實現(xiàn)SDN虛擬防火墻的裝置結(jié)構(gòu)圖。
[0031]圖9為根據(jù)本發(fā)明一實施方式,包含主機側(cè)實現(xiàn)SDN虛擬防火墻的裝置的主機的硬件結(jié)構(gòu)圖。
[0032]圖10為根據(jù)本發(fā)明一實施方式在SDN控制器側(cè)實現(xiàn)SDN虛擬防火墻的裝置結(jié)構(gòu)圖。
[0033]圖11為根據(jù)本發(fā)明一實施方式,包含SDN控制器側(cè)實現(xiàn)SDN虛擬防火墻的裝置的SDN控制器的硬件結(jié)構(gòu)圖。
【具體實施方式】
[0034]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖對本發(fā)明作進一步的詳細描述。
[0035]在本發(fā)明實施方式中,采用虛擬機(Virtual Machine, VM)的形式將虛擬防火墻(Virtual Fire Wall,VFW)下掛到虛擬交換機上,虛擬交換機間以及虛擬交換機內(nèi)的虛擬機間的流量都可以經(jīng)過虛擬防火墻到達目的端,無需部署物理防火墻。
[0036]另外,在本發(fā)明實施方式中,將虛擬防火墻與SDN控制器進行關(guān)聯(lián),充分發(fā)揮SDN控制器的全局總管功能,在虛擬機進行遷移的時候,SDN控制器重新下發(fā)流表,從而靈活控制遷移后虛擬機的安全策略檢查。
[0037]圖1為根據(jù)本發(fā)明一實施方式在主機側(cè)實現(xiàn)SDN虛擬防火墻的方法流程圖。該方法適用于構(gòu)建在第一主機上的第一虛擬交換機,第一虛擬交換機下掛有第一虛擬防火墻。
[0038]第一主機為物理實體(如物理服務(wù)器),在其上構(gòu)建有第一虛擬交換機,而且在第一虛擬交換機上以虛擬機形式下掛有第一虛擬防火墻。
[0039]SDN控制器和第一虛擬交換機之間通過優(yōu)選為開放流(OpenFlow協(xié)議)的SDN管理通道進行通信。SDN控制器可以根據(jù)用戶的配置或者動態(tài)運行的協(xié)議生成流表下發(fā)到第一虛擬交換機,第一虛擬交換機依據(jù)SDN控制器下發(fā)的流表進行報文處理。
[0040]在主機上構(gòu)建虛擬交換機的【具體實施方式】有多種,而且虛擬交換機的實施方式也可以有多種。
[0041]比如:在一個實施方式中,第一虛擬交換機為虛擬化開放流交換機(OVS),其中第一主機從虛擬化管理系統(tǒng)(CVM)接收虛擬化配置信息,并根據(jù)虛擬化配置信息構(gòu)建該0VS。
[0042]在虛擬交換機上下掛虛擬機和虛擬防火墻的【具體實施方式】也有多種。比如,在一個實施方式中,第一主機可以從CVM接收虛擬機配置信息和虛擬防火墻配置信息,并根據(jù)虛擬機配置信息在第一虛擬交換機下掛虛擬機,根據(jù)虛擬防火墻配置信息在第一虛擬交換機下掛虛擬防火墻。
[0043]優(yōu)選地,CVM既可以部署在第一主機上,也可以部署在其它物理實體上。
[0044]如圖1所示,該方法包括:
[0045]步驟101:將第一虛擬防火墻的端口發(fā)送到SDN控制器。
[0046]在這里,第一虛擬交換機通過SDN管理通道將第一虛擬防火墻在第一虛擬交換機上的端口發(fā)送到SDN控制器。
[0047]步驟102:接收SDN控制器發(fā)送的第一流表,第一流表用于指示將第一虛擬交換機通過非第一虛擬防火墻的端口接收到的、目的地址或源地址為指定虛擬機的流量發(fā)送到第一虛擬防火墻的端口以由第一虛擬防火墻執(zhí)行安全審核。
[0048]指定虛擬機是需要被第一虛擬防火墻執(zhí)行安全策略檢查的虛擬機?;趹?yīng)用環(huán)境的具體需求,可以由用戶自行設(shè)置指定虛擬機。指定虛擬機的數(shù)目可以為一個或多個,而且可以增加、刪除或變更指定虛擬機。
[0049]指定虛擬機可以下掛在第一虛擬交換機上,也可以下掛在不同于第一虛擬交換機的第二虛擬交換機上,其中第二虛擬交換機構(gòu)建在第二主機上。
[0050]第一虛擬防火墻執(zhí)行完畢安全審核之后,將通過安全審核的安全流量發(fā)送到第一虛擬交換機,第一虛擬交換機再將通過該安全流量發(fā)送到下一跳端口,以將安全流量轉(zhuǎn)發(fā)到目的端口。
[0051]第一虛擬交換機將安全流量轉(zhuǎn)發(fā)到目的端口的具體細節(jié)類似于物理防火墻的安全流量轉(zhuǎn)發(fā)細節(jié),本發(fā)明對此不再贅述。
[0052]在一個實施方式中:
[0053]當(dāng)指定虛擬機下掛在不同于第一虛擬交換機的第二虛擬交換機上,即指定虛擬機和第一虛擬防火墻下掛在不同的虛擬交換機時,SDN控制器向第二虛擬交換機下發(fā)第三流表,該第三流表用于指示將通過指定虛擬機的端口接收到的流量發(fā)送到下一跳端口,以將所述通過指定虛擬機的端口接收到的流量發(fā)送到第一虛擬交換機。
[0054]因此,第一虛擬交換機可以基于第一流表將第二虛擬交換機轉(zhuǎn)發(fā)來的、通過指定虛擬機的端口接收到的流量發(fā)送到第一虛擬防火墻的端口,以由第一虛擬防火墻執(zhí)行安全審核。類似地,第一虛擬防火墻執(zhí)行完畢安全審核之后,將通過安全審核的安全流量發(fā)送到第一虛擬交換機,第一虛擬交換機再將通過該安全流量發(fā)送到下一跳端口,以將安全流量轉(zhuǎn)發(fā)到目的端口。
[0055]當(dāng)指定虛擬機下掛在不同于第一虛擬交換機的第二虛擬交換機上時,如果指定虛擬機發(fā)生遷移,SDN控制器還向第二虛擬交換機發(fā)送用于指示刪除第三流表的第五流表,或者第二虛擬交換機自行老化第三流表。
[0056]在一個實施方式中:
[0057]當(dāng)發(fā)送目的地址為指定虛擬機的流量的源虛擬機下掛在第二虛擬交換機時,SDN控制器還需要向第二虛擬交換機下發(fā)第四流表,該第四流表用于指示將通過源虛擬機的端口接收到的、目的地址為指定虛擬機的流量發(fā)送到下一跳端口,以將通過源虛擬機的端口接收到的、目的地址為指定虛擬機的流量發(fā)送到第一虛擬交換機。
[0058]因此,第一虛擬交換機可以基于第一流表將第二虛擬交換機轉(zhuǎn)發(fā)來的、通過源虛擬機的端口接收到且目的地址為指定虛擬機的流量發(fā)送到第一虛擬防火墻的端口,以由第一虛擬防火墻執(zhí)行安全審核。類似地,第一虛擬防火墻執(zhí)行完畢安全審核之后,將通過安全審核的安全流量發(fā)送到第一虛擬交換機,第一虛擬交換機再將通過該安全流量發(fā)送到下一跳端口,以將安全流量轉(zhuǎn)發(fā)到目的端口。
[0059]當(dāng)發(fā)送目的地址為指定虛擬機的流量的源虛擬機下掛在第二虛擬交換機時,如果指定虛擬機發(fā)生遷移,而且指定虛擬機的虛擬防火墻發(fā)生更新,SDN控制器向第二虛擬交換機發(fā)送用于指示刪除第四流表的第六流表。
[0060]在一個實施方式中,第一虛擬交換機從SDN控制器接收安全策略,并發(fā)送安全策略到第一虛擬防火墻,從而由第一虛擬防火墻基于安全策略對發(fā)送到第一虛擬防火墻的端口的流量執(zhí)行安全審核。
[0061]當(dāng)安全策略發(fā)生更新時,第一虛擬交換機從SDN控制器接收更新后安全策略,并將更新后安全策略發(fā)送到第一虛擬防火墻,從而第一虛擬防火墻可以基于更新后安全策略更新保存在本地的安全策略。
[0062]可選地,第一虛擬防火墻也可以從其它可信任的物理實體上接收安全策略。
[0063]由于主機硬件維護、虛擬機系統(tǒng)資源規(guī)劃調(diào)整等原因,虛擬機可能會發(fā)生遷移。艮P,虛擬機從一臺物理主機遷移到另一臺物理主機。在遷移