一種虛擬機安全隔離方法【專利摘要】本發(fā)明涉及云計算【
技術(shù)領(lǐng)域:
】,特別是一種虛擬機安全隔離方法。本發(fā)明先把整個平臺被劃分成一個或多個集群,每個集群分配一個大的子網(wǎng);接著在所有宿主機上建立一組默認的防火墻規(guī)則,默認隔離與其他子網(wǎng)之間的通信;當用戶向云平臺提交創(chuàng)建虛擬機請求時,云平臺自動給用戶分配到某個大集群,并在此大集群所屬的大子網(wǎng)下給該用戶建立一個子網(wǎng);同時,把虛擬機的虛擬網(wǎng)絡(luò)接口加入到默認的防火墻規(guī)則下實現(xiàn)隔離的約束;當該用戶再次創(chuàng)建虛擬機時,虛擬機的IP地址設(shè)置成同個集群內(nèi)的同個子網(wǎng),同時也把虛擬機的虛擬網(wǎng)絡(luò)接口加入到默認的防火墻規(guī)則下;再將MAC地址與IP地址綁定。本發(fā)明避免了虛擬機之間相互攻擊;可以用于虛擬機的安全隔離。【專利說明】一種虛擬機安全隔離方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及云計算【
技術(shù)領(lǐng)域:
】,特別是一種虛擬機安全隔離方法?!?br>背景技術(shù):
】[0002]在云平臺內(nèi)部運行著由不同用戶控制的虛擬機,用戶在虛擬機內(nèi)部的行為通常都難以控制。尤其在公有云內(nèi)部,用戶使用虛擬機運行不同的業(yè)務(wù);不同用戶的虛擬機之間必須要采取安全的隔離措施以避免在云平臺內(nèi)部的相互攻擊;以保證云平臺的網(wǎng)絡(luò)安全和用戶業(yè)務(wù)的正常運行。通常要隔離屬于不同用戶的主機之間的訪問采取VLAN隔離的辦法,虛擬機之間的隔離一般都結(jié)合這種方法,步驟如下:[0003]1、先把內(nèi)網(wǎng)的地址劃分成多個VLAN;[0004]2、把不同的VLAN分配給不同的用戶;[0005]3、一個用戶創(chuàng)建虛擬機以后,把虛擬機的IP地址分配成屬于相應的VLAN;[0006]4、通過設(shè)置VLAN之間的相互隔離來達到用戶之間虛擬機相互隔離的目的。[0007]但是,這種方法存在以下弊端:[0008]1、用戶都使用相同大小的VLAN,如果用戶少創(chuàng)建或不創(chuàng)建虛擬機,就造成內(nèi)網(wǎng)IP地址的浪費;如果用戶創(chuàng)建虛擬機較多,一個VLAN的地址又可能不足夠,限制了用戶創(chuàng)建虛擬機的規(guī)模。[0009]2、IP地址使用無法監(jiān)管,容易造成IP地址沖突;由于用戶可以在虛擬機內(nèi)部手動設(shè)置IP地址,設(shè)置的地址不同于原分配地址時會出現(xiàn)兩種情況;第一是設(shè)置的IP地址剛好屬于同一個VLAN,這時候無法檢測到新設(shè)置的IP地址已經(jīng)被使用,平臺再分配此IP地址時就會造成沖突。第二是設(shè)置的IP地址不屬于同一個VLAN,這時候虛擬機的網(wǎng)絡(luò)連接是無效的,不能進行任何網(wǎng)絡(luò)通信?!?br/>發(fā)明內(nèi)容】[0010]本發(fā)明解決的技術(shù)問題在于提供一種虛擬機安全隔離方法,可管理和監(jiān)控子網(wǎng)的管理,解決了虛擬機之間相互攻擊,網(wǎng)絡(luò)管理混亂等相關(guān)問題。[0011]本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:[0012]所述的方法包括如下步驟:[0013]步驟1:將云平臺的宿主物理機根據(jù)邏輯上的需求,把一臺或多臺劃分到一個集群上,整個平臺被劃分成一個或多個集群,每個集群分配一個大的子網(wǎng);[0014]步驟2:在所有宿主機上建立一組默認的防火墻規(guī)則,默認隔離與其他子網(wǎng)之間的通信;[0015]步驟3:當用戶向云平臺提交創(chuàng)建虛擬機請求時,云平臺自動給用戶分配到某個集群,并在此集群所屬的大子網(wǎng)下給該用戶建立一個子網(wǎng);同時,將虛擬機的虛擬網(wǎng)絡(luò)接口加入到默認的防火墻規(guī)則下實現(xiàn)隔離的約束;[0016]步驟4:當該用戶再次創(chuàng)建虛擬機時,虛擬機的IP地址設(shè)置成同個集群內(nèi)的同個子網(wǎng),同時也將虛擬機的虛擬網(wǎng)絡(luò)接口加入到默認的防火墻規(guī)則下;[0017]步驟5:當已有子網(wǎng)資源使用完后、再次創(chuàng)建虛擬機時,云平臺為該用戶新增子網(wǎng),同時以舊的防火墻規(guī)則為基礎(chǔ)新建一組防火墻規(guī)則,允許舊的子網(wǎng)與新的子網(wǎng)之間進行通信;[0018]步驟6:將創(chuàng)建虛擬機的MAC地址與IP地址之間的綁定,防止用戶修改IP。[0019]所述的步驟2中子網(wǎng)默認隔離是指不同的子網(wǎng)不在同一個沖突域,相互是不能通訊。[0020]當用戶創(chuàng)建虛擬機,平臺給虛擬機自動選擇用戶所屬的子網(wǎng)的IP,并且設(shè)置IP自動獲取。[0021]如果用戶在虛擬機里重新設(shè)置其他IP,該IP不能通訊,以確保不會對網(wǎng)絡(luò)有任何的影響。[0022]本發(fā)明方案的有益效果如下:[0023]1、本發(fā)明的方法的子網(wǎng)在用戶創(chuàng)建虛擬機時才創(chuàng)建,并且子網(wǎng)的范圍可以通過修改掩碼的方式進行調(diào)整,云平臺可根據(jù)用戶創(chuàng)建虛擬機的量隨時進行調(diào)整,避免內(nèi)網(wǎng)IP地址的浪費。[0024]2、本發(fā)明的方法可結(jié)合MAC地址與IP地址的綁定避免用戶修改IP地址后造成的網(wǎng)絡(luò)混亂,即便用戶成功修改其他IP地址,也能阻斷其通信,防止IP地址沖突?!緦@綀D】【附圖說明】[0025]下面結(jié)合附圖對本發(fā)明進一步說明:[0026]圖1為本發(fā)明的流程圖;[0027]圖2為本發(fā)明的模型架構(gòu)圖;【具體實施方式】[0028]見圖1、2所示,本發(fā)明具體實施過程如下:[0029]1、宿主機劃分集群,并且集群分配一個大的子網(wǎng)。[0030]比如劃分給集群A—個大的子網(wǎng)10.0.0.0/16,通常給在云平臺給集群分配大的子網(wǎng)采用配置文件的方式。[0031]VNET_SUBNET=10.0.0.0[0032]VNET_NETMASK=255.255.0.0[0033]2、平臺給用戶分配一個大子網(wǎng)下的子網(wǎng),并且不同子網(wǎng)默認是隔離的。[0034]通過配置的方式設(shè)置大子網(wǎng)下小子網(wǎng)的數(shù)量,方式如下:[0035]SUBNET_SIZES=255[0036]假如給集群分配的大子網(wǎng)為10.0.0.0/16,小子網(wǎng)的數(shù)量為255,那么為某個用戶分配的子網(wǎng)可能為10.99.0.0/16[0037]宿主節(jié)點執(zhí)行下面命令[0038]#brctladdbrbr99[0039]#iplinkaddlinkethlvlan99typevlanid99[0040]#iplinksetvlan99up[0041]#brctladdifbr99vlan99[0042]#ipaddradd10.99.0.1/32devbr99[0043]創(chuàng)建虛擬機后,為其加載默認的防火墻規(guī)則,這里以iptables的規(guī)則為例[0044]Chaini_5B9B3BCF—out(Ireferences)[0045]numtargetprotoptsourcedestinat1n[0046]IACCEPTall—0.0.0.0/00.0.0.0/0[0047]Chaini_5B9B3BCF—in(Ireferences)[0048]numtargetprotoptsourcedestinat1n[0049]IACCEPTall—10.251.255.176/280.0.0.0/0[0050]2ACCEPTtcp—0.0.0.0/00.0.0.0/0[0051]tcpspt:22[0052]3ACCEPTtcp—0.0.0.0/00.0.0.0/0[0053]tcpdpt:22[0054]4DROPall—0.0.0.0/00.0.0.0/0[0055]3、當該用戶再次創(chuàng)建虛擬機時,虛擬機的IP地址設(shè)置成同個集群內(nèi)的同個子網(wǎng)。設(shè)置ip采用dnsmasq來設(shè)置ip,設(shè)置方式如下,在宿主機執(zhí)行下面命令:[0056]#/usr/sbin/dnsmasq—strict-order—bind-1nterfaces—conf-file=[0057]—domain=local—pid-file=/var/run/setip11,pid[0058]—listen-address=10.99.0.1—interfaceeucabrll—except-1nterface=1[0059]—dhcp-range=10.99.0.1,static,120s—dhcp-lease-max=256[0060]—dhcp-opt1n=10.99.0.1—dhcp-opt1n=6,8.8.8.8[0061]—dhcp-hostsgile=/etc/network,conf[0062]—dhcp-script=/usr/share/gTunnel/update2db.py—leasefile-ro[0063]在/etc/network,conf配置虛擬機的子網(wǎng)ip,例如下面:[0064]#cat/etc/network,conf[0065]52:54:0:25:8c:16,tesr.rt,10.99.3.44[0066]4、當已有子網(wǎng)資源使用完后,再次創(chuàng)建時,云平臺為該用戶新增子網(wǎng),同時以舊的防火墻規(guī)則為基礎(chǔ)新建一組防火墻規(guī)則,允許舊的子網(wǎng)與新的子網(wǎng)之間進行通信:[0067]Chaini_5B9B3BCF—out(Ireferences)[0068]numtargetprotoptsourcedestinat1n[0069]IACCEPTall—0.0.0.0/00.0.0.0/0[0070]Chaini_5B9B3BCF—in(Ireferences)[0071]numtargetprotoptsourcedestinat1n[0072]IACCEPTall—10.251.255.176/280.0.0.0/0[0073]2ACCEPTtcp—0.0.0.0/00.0.0.0/0[0074]tcpspt:22[0075]3ACCEPTtcp—0.0.0.0/00.0.0.0/0[0076]tcpdpt:22[0077]4ACCEPTall—10.251.255.240/280.0.0.0/0[0078]5DROPall—0.0.0.0/00.0.0.0/0[0079]5、創(chuàng)建虛擬機的MAC地址與IP地址之間的綁定,防止用戶修改IP。具體實現(xiàn)方式在宿主機上執(zhí)行以下命令:[0080]#ebtables-tnat_Nlibvirt-1-vnet9[0081]#ebtables-tnat_N1-vnet9_mac[0082]#ebtables-tnat_N1-vnet9_ipv4_ip[0083]#ebtables-tnat_APREROUTIN出_ivnet9_jlibvirt-1-vnet9[0084]#ebtables-tnat_Alibvirt-1-vnet9-j1-vnet9_mac[0085]#ebtables-tnat_A1-vnet9-mac_s52:54:0:25:8c:16_jRETURN[0086]#ebtables-tnat_A1-vnet9_mac-jDROP[0087]#ebtables-tnat_Alibvirt-1-vnet9-pIPv4-j1-vnet9_ipv4_ip[0088]#ebtables-tnat_A1-vnet9-1pv4-1p-pIPv4—ip-src0.0.0.0—ip-protoudp-jRETURN[0089]#ebtables-tnat_A1-vnet9-1pv4-1p-pIPv4—ip-src10.99.3.44-jRETURN[0090]#ebtables-tnat_A1-vnet9-1pv4-1p-jDROP?!緳?quán)利要求】1.一種虛擬機安全隔離方法,其特征在于:所述的方法包括如下步驟:步驟1:將云平臺的宿主物理機根據(jù)邏輯上的需求,把一臺或多臺劃分到一個集群上,整個平臺被劃分成一個或多個集群,每個集群分配一個大的子網(wǎng);步驟2:在所有宿主機上建立一組默認的防火墻規(guī)則,默認隔離與其他子網(wǎng)之間的通Is;步驟3:當用戶向云平臺提交創(chuàng)建虛擬機請求時,云平臺自動給用戶分配到某個集群,并在此集群所屬的大子網(wǎng)下給該用戶建立一個子網(wǎng);同時,將虛擬機的虛擬網(wǎng)絡(luò)接口加入到默認的防火墻規(guī)則下實現(xiàn)隔離的約束;步驟4:當該用戶再次創(chuàng)建虛擬機時,虛擬機的IP地址設(shè)置成同個集群內(nèi)的同個子網(wǎng),同時也將虛擬機的虛擬網(wǎng)絡(luò)接口加入到默認的防火墻規(guī)則下;步驟5:當已有子網(wǎng)資源使用完后、再次創(chuàng)建虛擬機時,云平臺為該用戶新增子網(wǎng),同時以舊的防火墻規(guī)則為基礎(chǔ)新建一組防火墻規(guī)則,允許舊的子網(wǎng)與新的子網(wǎng)之間進行通Is;步驟6:將創(chuàng)建虛擬機的MAC地址與IP地址之間的綁定,防止用戶修改IP。2.根據(jù)權(quán)利要求1所述的虛擬機安全隔離方法,其特征在于:所述的步驟2中子網(wǎng)默認隔離是指不同的子網(wǎng)不在同一個沖突域,相互是不能通訊。3.根據(jù)權(quán)利要求1所述的虛擬機安全隔離方法,其特征在于:當用戶創(chuàng)建虛擬機,平臺給虛擬機自動選擇用戶所屬的子網(wǎng)的IP,并且設(shè)置IP自動獲取。4.根據(jù)權(quán)利要求2所述的虛擬機安全隔離方法,其特征在于:當用戶創(chuàng)建虛擬機,平臺給虛擬機自動選擇用戶所屬的子網(wǎng)的IP,并且設(shè)置IP自動獲取。5.根據(jù)權(quán)利要求1至4任一項所述的虛擬機安全隔離方法,其特征在于:如果用戶在虛擬機里重新設(shè)置其他IP,該IP不能通訊,以確保不會對網(wǎng)絡(luò)有任何的影響?!疚臋n編號】H04L29/06GK104468568SQ201410737305【公開日】2015年3月25日申請日期:2014年12月5日優(yōu)先權(quán)日:2014年12月5日【發(fā)明者】張瑜科,楊松,莫展鵬,季統(tǒng)凱申請人:國云科技股份有限公司