一種基于Openflow對(duì)用戶訪問(wèn)虛擬機(jī)進(jìn)行控制的方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及云計(jì)算安全
技術(shù)領(lǐng)域:
,特別是一種基于Openflow對(duì)用戶訪問(wèn)虛擬機(jī)進(jìn)行控制的方法?!?br>背景技術(shù):
】[0002]隨著云計(jì)算模式的流行,許多機(jī)構(gòu)希望建設(shè)私有云,私有云的建設(shè)無(wú)疑為IT部門(mén)帶來(lái)了諸多好處,如可以實(shí)現(xiàn)信息資源的集中管理、IT基礎(chǔ)設(shè)施能夠得到更高效的利用等。但是在帶來(lái)這些優(yōu)點(diǎn)的同時(shí),由于私有云會(huì)對(duì)網(wǎng)絡(luò)架構(gòu)進(jìn)行一些調(diào)整,因此也會(huì)產(chǎn)生一些新的問(wèn)題,主要體現(xiàn)在以下幾點(diǎn):[0003]1)多樣化的接入設(shè)備(如BY0D)帶來(lái)了私有云遭受攻擊的可能性。在傳統(tǒng)的內(nèi)網(wǎng)環(huán)境中,終端可以通過(guò)一系列手段進(jìn)行控制,以確保終端環(huán)境安全可靠。但是在切換成私有云之后,由于接入設(shè)備多種多樣,傳統(tǒng)的技術(shù)手段無(wú)法完全兼容,甚至有些BY0D設(shè)備會(huì)存在病毒、木馬或已經(jīng)被黑客滲透成為跳板,從而對(duì)私有云造成威脅。這類攻擊在方法上與傳統(tǒng)的網(wǎng)絡(luò)入侵相類似,但是相對(duì)規(guī)模很小,如果使用獨(dú)立的防御設(shè)備(如IDS/IPS/DDoS防范等),難以找到防御成本與效果的平衡。[0004]Openflow是一種將網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)平面(Data-Panel)和控制平面(ControlPanel)相分離的技術(shù),使用邏輯上的控制器(Controller)對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行管理,提高了網(wǎng)絡(luò)管理的靈活性,降低了網(wǎng)絡(luò)維護(hù)的復(fù)雜度。Openflow是SDN(SoftwareDefinedNetwork,軟件定義網(wǎng)絡(luò))的代表技術(shù)之一,甚至在一定程度上被認(rèn)為與SDN技術(shù)等價(jià),Openflow和SDN技術(shù)被建議在未來(lái)的企業(yè)私有云和云平臺(tái)的建設(shè)中米用,來(lái)優(yōu)化云內(nèi)部的虛擬網(wǎng)絡(luò)?!?br/>發(fā)明內(nèi)容】[0005]本發(fā)明解決的技術(shù)問(wèn)題在于提供一種基于Openflow對(duì)用戶訪問(wèn)虛擬機(jī)進(jìn)行控制的方法;防御成本和效果比較均衡,解決傳統(tǒng)攻擊防御方案中在云計(jì)算環(huán)境中需要使用昂貴硬件、無(wú)法滿足多樣化接入設(shè)備攻擊的問(wèn)題。[0006]本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案是:[0007]所述的方法包括以下步驟:[0008]步驟1:在每一臺(tái)運(yùn)行虛擬機(jī)的物理服務(wù)器上部署虛擬交換機(jī)Openvswitch(0VS);[0009]步驟2:用戶從訪問(wèn)終端發(fā)出訪問(wèn)請(qǐng)求被提交到運(yùn)行所訪問(wèn)的虛擬機(jī)的物理服務(wù)器中運(yùn)行的0VS上;[0010]步驟3:0VS將無(wú)法找到從源地址(訪問(wèn)終端)到目的地址(虛擬服務(wù)機(jī))的流,向控制器發(fā)出PACKET-1N事件信號(hào);[0011]步驟4:控制器查詢?cè)L問(wèn)控制白名單,確認(rèn)這次訪問(wèn)是否符合預(yù)設(shè)的規(guī)則;[0012]步驟5:如果訪問(wèn)合規(guī),則生成相應(yīng)的流,并下發(fā)到對(duì)應(yīng)的0VS上;如果訪問(wèn)不合規(guī),則直接丟棄這次訪問(wèn)請(qǐng)求。[0013]所述控制器用于對(duì)各虛擬交換機(jī)進(jìn)行管理,可以在控制器上為其管理的0VS交換機(jī)遠(yuǎn)程添加/刪除/修改流。[0014]所述流是0VS交換機(jī)上FlowTable流表中的一條轉(zhuǎn)發(fā)規(guī)則,進(jìn)入0VS交換機(jī)的數(shù)據(jù)包通過(guò)查詢流表來(lái)獲得轉(zhuǎn)發(fā)的目的端口;流由頭域、計(jì)數(shù)器和操作組成;其中頭域是個(gè)十元組,是流的標(biāo)識(shí);計(jì)數(shù)器用來(lái)計(jì)算流的統(tǒng)計(jì)數(shù)據(jù);操作標(biāo)明了與該流匹配的數(shù)據(jù)包應(yīng)該執(zhí)行的操作。[0015]所述白名單是一個(gè)包含被允許轉(zhuǎn)發(fā)的源地址/目的地址對(duì)的列表;源地址是訪問(wèn)終端的網(wǎng)卡的MAC地址,目的地址是被訪問(wèn)虛擬機(jī)的網(wǎng)卡的MAC地址;包含該源地址/目的地址對(duì)的數(shù)據(jù)包將被0VS交換機(jī)轉(zhuǎn)發(fā),源地址的訪問(wèn)終端就能訪問(wèn)到目的地址的虛擬機(jī)。[0016]本發(fā)明的方法能產(chǎn)生如下的有益效果:[0017]1、本發(fā)明的方法全部使用軟件Openflow實(shí)現(xiàn),避免傳統(tǒng)防御方法使用昂貴的安全設(shè)備,是一種經(jīng)濟(jì)的訪問(wèn)控制方法;[0018]2、本發(fā)明的方法能對(duì)多種接入終端同時(shí)進(jìn)行訪問(wèn)控制,是一種適應(yīng)性較強(qiáng)的方法;[0019]3、本發(fā)明的方法實(shí)現(xiàn)具有白名單特征的方法,可以有效防止訪問(wèn)終端繞過(guò)訪問(wèn)規(guī)則對(duì)虛擬機(jī)進(jìn)行訪問(wèn)。[0020]本發(fā)明針對(duì)私有云的網(wǎng)絡(luò)特點(diǎn),結(jié)合Openflow技術(shù)實(shí)現(xiàn)具有白名單特征的訪問(wèn)隔離,解決傳統(tǒng)攻擊防御方案中在云計(jì)算環(huán)境中需要使用昂貴硬件、無(wú)法滿足多樣化接入設(shè)備攻擊的問(wèn)題,是一種防御成本和效果比較均衡的方法。【附圖說(shuō)明】[0021]下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步說(shuō)明:[0022]圖1為本發(fā)明的網(wǎng)絡(luò)部署結(jié)構(gòu)圖;[0023]圖2為本發(fā)明的流程圖。【具體實(shí)施方式】[0024]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。[0025]首先按照?qǐng)D1、2所示進(jìn)行物理服務(wù)器、虛擬機(jī)和0VS交換機(jī)的部署。[0026]在控制器中植入如下的白名單:[0027]00:0c:29:a8:9c:6c#5e:8b:22:89:88:2a[0028]5e:8b:22:89:88:2a#00:0c:29:a8:9c:6c[0029]00:0e:c6:f0:06:51#00:0c:29:a8:9c:6c[0030]00:0c:29:a8:9c:6c#00:0e:c6:f0:06:51[0031]5e:8b:22:89:88:2a#00:0e:c6:f0:06:51[0032]00:0e:c6:f0:06:51#5e:8b:22:89:88:2a[0033]00:11:22:33:44:55#00:11:22:33:44:66[0034]00:11:22:33:44:55#00:0e:c6:f0:06:51[0035]上述白名單的源地址/目標(biāo)地址對(duì)以#號(hào)隔開(kāi),同時(shí)相同源地址的訪問(wèn)終端可以訪問(wèn)多個(gè)目的地址的虛擬機(jī),相同目的地址的虛擬機(jī)也可以被多個(gè)源地址的訪問(wèn)終端訪問(wèn)。[0036]在外部終端訪問(wèn)虛擬機(jī)時(shí),首先匹配終端的MAC地址和虛擬機(jī)的MAC地址,如果在白名單中時(shí),按照下述方法分發(fā)到虛擬機(jī)所在的物理服務(wù)器的0VS上[0037]$ovs-ofctladd-flowovs-switch"table=0,dl_src=00:0c:29:a8:9c:6c,dl—dst=5e:8b:22:89:88:2a,act1ns=accept"[0038]$ovs-ofctladd-flowovs-switch"table=0,dl_src=5e:8b:22:89:88:2a,dl—dst=00:0c:29:a8:9c:6c,act1ns=accept"[0039]$ovs-ofctladd-flowovs-switch"table=0,dl_src=00:0e:c6:f0:06:51,dl—dst=00:0c:29:a8:9c:6c,act1ns=accept"[0040]$ovs-ofctladd-flowovs-switch"table=0,dl_src=00:0c:29:a8:9c:6c,dl—dst=00:0e:c6:f0:06:51,act1ns=accept"[0041]$ovs-ofctladd-flowovs-switch"table=0,dl_src=5e:8b:22:89:88:2a,dl—dst=00:0e:c6:f0:06:51,act1ns=accept"[0042]$ovs-ofctladd-flowovs-switch"table=0,dl_src=00:0e:c6:f0:06:51,dl—dst=5e:8b:22:89:88:2a,act1ns=accept"[0043]$ovs-ofctladd-flowovs-switch"table=0,dl_src=00:11:22:33:44:55,dl—dst=00:11:22:33:44:66,act1ns=accept"[0044]$ovs-ofctladd-flowovs-switch"table=0,dl_src=00:11:22:33:44:55,dl—dst=00:0e:c6:f0:06:51,act1ns=accept"[0045]若不在則拒絕該次請(qǐng)求,并返回以下的提示[0046]INFO:of—sw—tutorial—00:—NO00:0e:c6:f0:06:51-------->00:11:22:33:44:66matched._[0047]INFO:of—sw—tutorial—00:—NO00:0e:c6:f0:06:51-------->00:11:22:33:44:66matched._[0048]root@ubuntu-ovs:?#ovs-ofctldump-flowsovsbrO[0049]NXST_FL0ffreply(xid=0x4):[0050]cookie=0x0,durat1n=19.905s,table=0,n—packets=2281,n—bytes=138518,idle—timeout=10,hard—timeout=30,dl—src=00:0e:c6:f0:06:51,dl—dst=8e:38:6d:53:99:40act1ns=output:2[0051]cookie=0x0,durat1n=19.905s,table=0,n—packets=727,n—bytes=5903946,idle—timeout=10,hard—timeout=30,dl—src=8e:38:6d:53:99:40,dl—dst=00:0e:c6:f0:06:51act1ns=output:10【主權(quán)項(xiàng)】1.一種基于Openflow對(duì)用戶訪問(wèn)虛擬機(jī)進(jìn)行控制的方法,其特征在于,所述的方法包括以下步驟:步驟1:在每一臺(tái)運(yùn)行虛擬機(jī)的物理服務(wù)器上部署虛擬交換機(jī)Openvswitch(OVS);步驟2:用戶從訪問(wèn)終端發(fā)出訪問(wèn)請(qǐng)求被提交到運(yùn)行所訪問(wèn)的虛擬機(jī)的物理服務(wù)器中運(yùn)行的0VS上;步驟3:0VS將無(wú)法找到從源地址(訪問(wèn)終端)到目的地址(虛擬服務(wù)機(jī))的流,向控制器發(fā)出PACKET-1N事件信號(hào);步驟4:控制器查詢?cè)L問(wèn)控制白名單,確認(rèn)這次訪問(wèn)是否符合預(yù)設(shè)的規(guī)則;步驟5:如果訪問(wèn)合規(guī),則生成相應(yīng)的流,并下發(fā)到對(duì)應(yīng)的0VS上;如果訪問(wèn)不合規(guī),則直接丟棄這次訪問(wèn)請(qǐng)求。2.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述控制器用于對(duì)各虛擬交換機(jī)進(jìn)行管理,可以在控制器上為其管理的0VS交換機(jī)遠(yuǎn)程添加/刪除/修改流。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述流是0VS交換機(jī)上FlowTable流表中的一條轉(zhuǎn)發(fā)規(guī)則,進(jìn)入0VS交換機(jī)的數(shù)據(jù)包通過(guò)查詢流表來(lái)獲得轉(zhuǎn)發(fā)的目的端口;流由頭域、計(jì)數(shù)器和操作組成;其中頭域是個(gè)十元組,是流的標(biāo)識(shí);計(jì)數(shù)器用來(lái)計(jì)算流的統(tǒng)計(jì)數(shù)據(jù);操作標(biāo)明了與該流匹配的數(shù)據(jù)包應(yīng)該執(zhí)行的操作。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述流是0VS交換機(jī)上FlowTable流表中的一條轉(zhuǎn)發(fā)規(guī)則,進(jìn)入0VS交換機(jī)的數(shù)據(jù)包通過(guò)查詢流表來(lái)獲得轉(zhuǎn)發(fā)的目的端口;流由頭域、計(jì)數(shù)器和操作組成;其中頭域是個(gè)十元組,是流的標(biāo)識(shí);計(jì)數(shù)器用來(lái)計(jì)算流的統(tǒng)計(jì)數(shù)據(jù);操作標(biāo)明了與該流匹配的數(shù)據(jù)包應(yīng)該執(zhí)行的操作。5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,所述白名單是一個(gè)包含被允許轉(zhuǎn)發(fā)的源地址/目的地址對(duì)的列表;源地址是訪問(wèn)終端的網(wǎng)卡的MAC地址,目的地址是被訪問(wèn)虛擬機(jī)的網(wǎng)卡的MAC地址;包含該源地址/目的地址對(duì)的數(shù)據(jù)包將被0VS交換機(jī)轉(zhuǎn)發(fā),源地址的訪問(wèn)終端就能訪問(wèn)到目的地址的虛擬機(jī)?!緦@勘景l(fā)明涉及云計(jì)算安全
技術(shù)領(lǐng)域:
,特別是一種基于Openflow對(duì)用戶訪問(wèn)虛擬機(jī)進(jìn)行控制的方法。本發(fā)明首先在每一臺(tái)運(yùn)行虛擬機(jī)的物理服務(wù)器上部署虛擬交換機(jī)Openvswitch(OVS);然后用戶從訪問(wèn)終端發(fā)出訪問(wèn)請(qǐng)求被提交到運(yùn)行所訪問(wèn)的虛擬機(jī)的物理服務(wù)器中運(yùn)行的OVS上;然后OVS將中無(wú)法找到從源地址(訪問(wèn)終端)到目的地址(虛擬服務(wù)機(jī))的流,于是向控制器發(fā)出PACKET-IN事件信號(hào);然后控制器查詢?cè)L問(wèn)控制白名單,確認(rèn)這次訪問(wèn)是否符合預(yù)設(shè)的規(guī)則;最后如果訪問(wèn)合規(guī),則生成相應(yīng)的流,并下發(fā)到對(duì)應(yīng)的OVS上;如果訪問(wèn)不合規(guī),則直接丟棄這次訪問(wèn)請(qǐng)求。本發(fā)明解決;俄傳統(tǒng)攻擊防御方案中在云計(jì)算環(huán)境中需要使用昂貴硬件、無(wú)法滿足多樣化接入設(shè)備攻擊的問(wèn)題,可以用于虛擬機(jī)的訪問(wèn)控制?!綢PC分類】H04L29/06,G06F9/455【公開(kāi)號(hào)】CN105376256【申請(qǐng)?zhí)枴緾N201510901792【發(fā)明人】莫展鵬,楊松,季統(tǒng)凱【申請(qǐng)人】國(guó)云科技股份有限公司【公開(kāi)日】2016年3月2日【申請(qǐng)日】2015年12月8日