一種適用于虛擬機的arp攻擊雙向防護方法【專利摘要】本發(fā)明涉及云計算領(lǐng)域,特別是指一種適用于虛擬機的ARP攻擊雙向防護方法。本發(fā)明首先在宿主物理機上安裝網(wǎng)絡(luò)數(shù)據(jù)包過濾工具,然后在網(wǎng)絡(luò)數(shù)據(jù)包過濾工具上建立虛擬網(wǎng)絡(luò)所有網(wǎng)關(guān)的IP地址到MAC地址之間的映射關(guān)系;接著虛擬機創(chuàng)建時,在網(wǎng)絡(luò)數(shù)據(jù)包過濾工具上建立NAT鏈表;虛擬機創(chuàng)建后,在網(wǎng)絡(luò)數(shù)據(jù)包過濾工具上建立虛擬機的MAC地址與IP地址之間的映射關(guān)系;最后在虛擬機的NAT鏈表中加入子鏈表,并在子鏈表上加入虛擬機MC地址與IP地址之間的映射關(guān)系。本發(fā)明實現(xiàn)了ARP攻擊雙向防護只需要在宿主機上執(zhí)行,虛擬機內(nèi)部無需再安裝ARP防火墻軟件;提供一個節(jié)省資源、靈活方便的虛擬機ARP攻擊雙向防護的方法。【專利說明】一種適用于虛擬機的ARP攻擊雙向防護方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及云計算領(lǐng)域,特別是指一種適用于虛擬機的ARP攻擊雙向防護方法?!?br>背景技術(shù):
】[0002]在云計算環(huán)境下,由于虛擬機被廣泛使用,普遍具有網(wǎng)絡(luò)連接的虛擬機又使得網(wǎng)絡(luò)中主機的數(shù)量急劇增長,同時,虛擬機采用的虛擬網(wǎng)卡在物理地址設(shè)置方面不可控的特性又使得網(wǎng)絡(luò)沖突比以往變得更加頻繁,因此,ARP(AddressResolutionProtocol,地址解析協(xié)議)攻擊將會是云計算環(huán)境下虛擬機安全面臨的重要威脅之一,目前在虛擬機上采取的ARP攻擊防護手段都是基于物理機ARP防護的,一般有如下:[0003]-是在虛擬機中安裝ARP防火墻軟件之類的網(wǎng)絡(luò)數(shù)據(jù)包過濾工具,如Windows系統(tǒng)下的360ARP防火墻;[0004]二是在云計算系統(tǒng)的外部部署硬件防火墻,對外來的ARP攻擊進行防護。[0005]上述方法存在以下弊端:[0006]1、防護手段不全面,沒有充分考慮云計算環(huán)境下的特殊性,對處于同一臺物理機下的虛擬機之間的相互攻擊不能進行檢測和防護;[0007]2、不能減緩攻擊對內(nèi)網(wǎng)網(wǎng)絡(luò)環(huán)境的影響,若攻擊源在內(nèi)網(wǎng),上述方法只能對攻擊數(shù)據(jù)包進行檢測和隔絕,而不能徹底丟棄攻擊數(shù)據(jù)包,攻擊源還是會占用內(nèi)網(wǎng)的帶寬,在攻擊頻繁的時候還會造成內(nèi)網(wǎng)擁堵,進而影響到整個云平臺的業(yè)務(wù)正常運行?!?br/>發(fā)明內(nèi)容】[0008]本發(fā)明解決的技術(shù)問題在于提供一種適用虛擬機ARP攻擊的雙向防護方法,解決傳統(tǒng)方法存在的浪費資源等不足,提供一個節(jié)省物理資源、靈活方便虛擬機ARP防火墻的解決方案。[0009]本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:[0010]包括如下步驟:[0011]步驟1:在宿主物理機上安裝網(wǎng)絡(luò)數(shù)據(jù)包過濾工具,用于過濾數(shù)據(jù)鏈路層數(shù)據(jù)包;[0012]步驟2:在網(wǎng)絡(luò)數(shù)據(jù)包過濾工具上建立虛擬網(wǎng)絡(luò)所有網(wǎng)關(guān)的IP地址到MAC地址之間的映射關(guān)系,直接丟棄外部具有錯誤映射關(guān)系的數(shù)據(jù)包,防止外部的攻擊篡改虛擬機的網(wǎng)關(guān);[0013]步驟3:虛擬機創(chuàng)建時,在網(wǎng)絡(luò)數(shù)據(jù)包過濾工具上建立NAT鏈表;[0014]步驟4:虛擬機創(chuàng)建后,在網(wǎng)絡(luò)數(shù)據(jù)包過濾工具上建立虛擬機的MAC地址與IP地址之間的映射關(guān)系,直接丟棄外部具有錯誤映射關(guān)系的數(shù)據(jù)包,防止外部的攻擊篡改虛擬機的MAC地址,影響虛擬機與外部的通信;[0015]步驟5:在虛擬機的NAT鏈表中加入子鏈表,并在子鏈表上加入虛擬機MAC地址與IP地址之間的映射關(guān)系,只允許具有正確映射關(guān)系的數(shù)據(jù)包發(fā)送到宿主機外部。[0016]所述的網(wǎng)絡(luò)數(shù)據(jù)包過濾工具可以是Linux下的ebtables。[0017]所述的修改虛擬機IP時,相應(yīng)的更新虛擬機子鏈表的規(guī)則;[0018]所述的子鏈表規(guī)則,在刪除虛擬機時,同時刪除規(guī)則,避免出現(xiàn)冗余。[0019]本發(fā)明的方法不需要在虛擬機上安裝任何的附加軟件,對原有系統(tǒng)無任何的侵入性,免去了原有系統(tǒng)內(nèi)部安裝ARP防火墻的工作,節(jié)省了系統(tǒng)內(nèi)部資源消耗,大大節(jié)省了用戶的便利性。本發(fā)明的方法是一種雙向防護的方法,對虛擬機內(nèi)外的ARP工具都能進行防護,能全面應(yīng)對ARP攻擊的威脅,對于云平臺管理員來說,大大節(jié)省了平臺管理員的網(wǎng)絡(luò)維護成本,為ARP攻擊防護,提供了有效的防御措施。本發(fā)明的方法從源頭過濾ARP攻擊數(shù)據(jù)包,避免攻擊對網(wǎng)絡(luò)帶寬的占用,改善內(nèi)網(wǎng)的網(wǎng)絡(luò)環(huán)境,尤其是對安全意識薄弱的用戶,避免了云平臺中個別虛擬機用戶由于使用不當(dāng)導(dǎo)致虛擬機向外部發(fā)送攻擊,而導(dǎo)致云平臺網(wǎng)絡(luò)癱瘓問題?!緦@綀D】【附圖說明】[0020]下面結(jié)合附圖對本發(fā)明進一步說明:[0021]圖1為本發(fā)明的流程圖;[0022]圖2為本發(fā)明的模型架構(gòu)圖?!揪唧w實施方式】[0023]本發(fā)明的實施方式有多種,這里以Linux下的ebtables為例說明其中一種實現(xiàn)方法,流程圖如圖1所示,具體實施過程如下:[0024]1、在宿主物理機上安裝網(wǎng)絡(luò)數(shù)據(jù)包過濾工具,用于過濾數(shù)據(jù)鏈路層數(shù)據(jù)包。[0025]#yuminstallebtables.x86_64-y[0026]2、在網(wǎng)絡(luò)數(shù)據(jù)包過濾工具上建立虛擬網(wǎng)絡(luò)所有網(wǎng)關(guān)的IP地址到MAC地址之間的映射關(guān)系,直接丟棄外部具有錯誤映射關(guān)系的數(shù)據(jù)包,防止外部的攻擊篡改虛擬機的網(wǎng)關(guān),執(zhí)行命令如下:[0027]假如節(jié)點1的虛擬機的網(wǎng)關(guān)為FE:54:00:66:77:77,ip為10.10.10.1,那么在節(jié)點1輸入以下命令[0028]ftebtables-AFORWARD-pARP-arp-ip-src10.10.10.1__arp-mac-src!FH:54;00:66:--:77_一log-arp-一1og-prefixARP-Attack-jDROP[0029]參數(shù)解釋[0030]-arp-ip-src10.10.10.1#網(wǎng)關(guān)ip地址[0031]--arp-mac-src!FE:54:00:66:77:77#網(wǎng)關(guān)mac地址[0032]-log-arp-log-prefixARP-Attack#這個攻擊時觸發(fā)日志打印,用于提示攻擊[0033]3、虛擬機創(chuàng)建時,在網(wǎng)絡(luò)數(shù)據(jù)包過濾工具上建立NAT(NetworkAddressTranslation,網(wǎng)絡(luò)地址轉(zhuǎn)換)鏈表,虛擬機創(chuàng)建后,在網(wǎng)絡(luò)數(shù)據(jù)包過濾工具上建立虛擬機的MAC地址與IP地址之間的映射關(guān)系,直接丟棄外部具有錯誤映射關(guān)系的數(shù)據(jù)包,防止外部的攻擊篡改虛擬機的MAC地址,影響虛擬機與外部的通信,執(zhí)行命令如下:[0034]#ebtables-AFORWARD-pARP-arp-ip-src自定義ip[0035]--arp-mac-src!自定義mac地址一log-arp-log-prefix[0036]ARP-Attack-jDROP[0037]4、在虛擬機的NAT鏈表中加入子鏈表,并在子鏈表上加入虛擬機MAC地址與IP地址之間的映射關(guān)系,只允許具有正確映射關(guān)系的數(shù)據(jù)包發(fā)送到宿主機外部。執(zhí)行如下命令:[0038]創(chuàng)建子鏈表[0039]#ebtables_tnat_NI-vnetO-arp-mac[0040]#ebtables_tnat_NI-vnet〇-arp-ip[0041]相應(yīng)添加規(guī)貝lj,假如虛擬機分配的ip為10.10.10.4,mac地址為FE:54:00:66:66:66[0042]#ebtables-tnat-Alibvirl-I-vnetO-pARP-jI-vnet()-aip-mac#ebtables-tnat-Alibvirt-I-vnetO-pARP-jI-vnetO-arp-ip#ebables-tnat-AI-vnet0-ai*p-mac-pARP-arp-mac-src52:54:0:66:66:66-jRETURN#ebables-tnat-AI-vnetO-ai-p-mac-jDROP#ebtables-tn°t-AI-vnetO-aip-ip-pARP-arp-ip-src10.10.10.4-jRETURN#ebtables-tnat-AI-vnetO-arp-ip-jDROP[0043]關(guān)閉虛擬機時刪除規(guī)則[0044]#ebtables-t:nat-FI-vnetO-aip-ip#ebtables-tnat-FI-ynet0-arp-mac#ebtables-tnat-XI-vnetO-arp-ip#ebtables-tnat-XI-vnet(.)-arp-ip〇【權(quán)利要求】1.一種適用于虛擬機的ARP攻擊雙向防護方法,其特征在于:包括如下步驟:步驟1:在宿主物理機上安裝網(wǎng)絡(luò)數(shù)據(jù)包過濾工具,用于過濾數(shù)據(jù)鏈路層數(shù)據(jù)包;步驟2:在網(wǎng)絡(luò)數(shù)據(jù)包過濾工具上建立虛擬網(wǎng)絡(luò)所有網(wǎng)關(guān)的IP地址到MAC地址之間的映射關(guān)系,直接丟棄外部具有錯誤映射關(guān)系的數(shù)據(jù)包,防止外部的攻擊篡改虛擬機的網(wǎng)關(guān);步驟3:虛擬機創(chuàng)建時,在網(wǎng)絡(luò)數(shù)據(jù)包過濾工具上建立NAT鏈表;步驟4:虛擬機創(chuàng)建后,在網(wǎng)絡(luò)數(shù)據(jù)包過濾工具上建立虛擬機的MAC地址與IP地址之間的映射關(guān)系,直接丟棄外部具有錯誤映射關(guān)系的數(shù)據(jù)包,防止外部的攻擊篡改虛擬機的MAC地址,影響虛擬機與外部的通信;步驟5:在虛擬機的NAT鏈表中加入子鏈表,并在子鏈表上加入虛擬機MAC地址與IP地址之間的映射關(guān)系,只允許具有正確映射關(guān)系的數(shù)據(jù)包發(fā)送到宿主機外部。2.根據(jù)權(quán)利要求1所述的適用于虛擬機的ARP攻擊雙向防護方法,其特征在于:所述的網(wǎng)絡(luò)數(shù)據(jù)包過濾工具可以是Linux下的ebtables。3.根據(jù)權(quán)利要求1或2所述的適用于虛擬機的ARP攻擊雙向防護方法,其特征在于:所述的修改虛擬機IP時,相應(yīng)的更新虛擬機子鏈表的規(guī)則;所述的子鏈表規(guī)則,在刪除虛擬機時,同時刪除規(guī)則,避免出現(xiàn)冗余?!疚臋n編號】H04L29/06GK104219241SQ201410448529【公開日】2014年12月17日申請日期:2014年9月4日優(yōu)先權(quán)日:2014年9月4日【發(fā)明者】劉勇彬,楊松,莫展鵬,季統(tǒng)凱申請人:國云科技股份有限公司