本發(fā)明屬于計算機數(shù)據(jù)通信的技術(shù)領(lǐng)域,具體涉及一種基于sdn的防止dhcp欺騙的方法。
背景技術(shù):
sdn最早起源于斯坦福大學(xué)的一個叫做cleanslate的校園項目。它是一種創(chuàng)新型的網(wǎng)絡(luò)體系架構(gòu),其核心思想是把轉(zhuǎn)發(fā)平面和控制平面進(jìn)行分離,通過集中式的控制器controller使用標(biāo)準(zhǔn)的接口來對各種不同的網(wǎng)絡(luò)設(shè)備進(jìn)行配置和管理,使得對網(wǎng)絡(luò)的管理更加集中化、精細(xì)化。
dhcp是用于向網(wǎng)絡(luò)中的計算機分配ip地址及一些tcp/ip配置信息,dhcp提供了安全、可靠且簡單的tcp/ip網(wǎng)絡(luò)設(shè)置,避免了tcp/ip網(wǎng)絡(luò)地址的沖突,同時大大降低了工作負(fù)擔(dān)。dhcp工作原理是客戶機從服務(wù)器獲取ip的四個租約過程,客戶機請求ip,服務(wù)器相應(yīng)請求,客戶機選擇ip,服務(wù)器確定租約。
從dhcp工作原理可以看出,如果客戶端是第一次、重新登錄或租期已滿不能更新租約,客戶端都是以廣播的方式來尋找服務(wù)器,并且只接收第一個到達(dá)的服務(wù)器提供的網(wǎng)絡(luò)配置參數(shù),如果在網(wǎng)絡(luò)中存在多臺dhcp服務(wù)器(有一臺或更多臺是非授權(quán)的),誰先應(yīng)答,客戶端就采用其提供的網(wǎng)絡(luò)配置參數(shù)。假如非授權(quán)的dhcp服務(wù)器先應(yīng)答,這樣客戶端最后獲得的網(wǎng)絡(luò)參數(shù)即是非授權(quán)的,客戶端即被欺騙了。而在實際應(yīng)用dhcp的網(wǎng)絡(luò)中,基本上都會采用dhcp中繼,這樣的話,本網(wǎng)絡(luò)的非授權(quán)dhcp服務(wù)器一般都會先于其余網(wǎng)絡(luò)的授權(quán)dhcp服務(wù)器的應(yīng)答(由于網(wǎng)絡(luò)傳輸?shù)难舆t),在這樣的應(yīng)用中,dhcp欺騙更容易實現(xiàn)。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于針對現(xiàn)有技術(shù)中的上述不足,提供一種基于sdn的防止dhcp欺騙的方法,以解決現(xiàn)有的dhcp部署允許存在多個dhcp服務(wù)器和容易植入惡意dhcp服務(wù)器問題。
為達(dá)到上述目的,本發(fā)明采取的技術(shù)方案是:
一種基于sdn的防止dhcp欺騙的方法,包括
步驟s1,sdn控制器接收dhcp數(shù)據(jù)報文的二層數(shù)據(jù)幀;
步驟s2,比較二層數(shù)據(jù)幀的源mac與dhcp數(shù)據(jù)報中的chaddr字段中的源mac;
步驟s3,當(dāng)兩者相等時,提取二層數(shù)據(jù)幀的源mac,并與mac-port映射表中的mac做匹配;
步驟s4,當(dāng)不匹配時,將dhcp數(shù)據(jù)報文做drop處理;
步驟s5,根據(jù)流表統(tǒng)計信息,統(tǒng)計每個端口接收到的dhcp請求報文的流量,建立物理機黑名單,并將黑名單內(nèi)的物理機端口發(fā)出的dhcp報文直接下發(fā)drop;
步驟s6,將sdn控制器記錄的dhcp服務(wù)器所在的物理端口和mac地址,建立為白名單,將非白名單發(fā)出的dhcp請求報文回復(fù)全部丟棄。
優(yōu)選地,當(dāng)dhcp數(shù)據(jù)報文由udp端口67發(fā)出并傳輸?shù)絪dn交換機的接口時,sdn交換機檢測到該dhcp數(shù)據(jù)報匹配流表項不成功,sdn交換機將該dhcp數(shù)據(jù)報發(fā)送至sdn控制器,并做步驟s1處理。
優(yōu)選地,根據(jù)步驟s2中比較結(jié)果顯示兩個mac的地址不同,丟棄該dhcp數(shù)據(jù)報文,若相同,進(jìn)入步驟s3中處理。
優(yōu)選地,mac-port映射表為根據(jù)當(dāng)前拓?fù)渚W(wǎng)絡(luò),存入的對應(yīng)物理機的mac地址和port端口。
優(yōu)選地,物理機黑名單用于記錄當(dāng)前物理機所在端口和其mac地址。
優(yōu)選地,白名單為sdn控制器記錄的當(dāng)前網(wǎng)絡(luò)中所有dhcp服務(wù)器所在的物理端口及mac地址。
本發(fā)明提供的基于sdn的防止dhcp欺騙的方法,具有以下有益效果:
本發(fā)明配置sdn網(wǎng)絡(luò),在sdn網(wǎng)絡(luò)中,利用dhcp服務(wù)器的配置信息,將dhcp服務(wù)器部署在sdn網(wǎng)絡(luò)中,首先通過dhcp數(shù)據(jù)報二層幀的源mac與該dhcp數(shù)據(jù)報中的chaddr字段中的源mac比較,首次判斷出偽造的dhcp數(shù)據(jù)報;進(jìn)而繼續(xù)通過提取dhcp數(shù)據(jù)報文中二層幀的源mac,并與mac-port映射表中的mac做匹配,若匹配不上,則將對此報文下發(fā)做drop處理;除此,建立物理機黑名單和白名單,防止惡意的攻擊,有效的解決了現(xiàn)有的dhcp部署允許存在多個dhcp服務(wù)器和容易植入惡意dhcp服務(wù)器的問題。
附圖說明
圖1為基于sdn的防止dhcp欺騙的方法的流程圖。
圖2為基于sdn的防止dhcp欺騙的方法的原理框圖。
具體實施方式
下面對本發(fā)明的具體實施方式進(jìn)行描述,以便于本技術(shù)領(lǐng)域的技術(shù)人員理解本發(fā)明,但應(yīng)該清楚,本發(fā)明不限于具體實施方式的范圍,對本技術(shù)領(lǐng)域的普通技術(shù)人員來講,只要各種變化在所附的權(quán)利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護(hù)之列。
根據(jù)本申請的一個實施例,如圖1-2所示,本方案的基于sdn的防止dhcp欺騙的方法。
配置sdn網(wǎng)絡(luò),在sdn網(wǎng)絡(luò)中,利用dhcp服務(wù)器的配置信息,將dhcp服務(wù)器部署在sdn網(wǎng)絡(luò)中,其具體操作步驟如下。
步驟s1,當(dāng)dhcp數(shù)據(jù)報由udp端口67發(fā)出并傳輸?shù)絪dn交換機的接口時,sdn交換機檢測到該dhcp數(shù)據(jù)報匹配流表項不成功,sdn交換機將該dhcp數(shù)據(jù)報發(fā)送至sdn控制器,sdn控制器接收dhcp數(shù)據(jù)報的二層數(shù)據(jù)幀。
步驟s2,sdn控制器對步驟s1中接收到的dhcp數(shù)據(jù)報的二層數(shù)據(jù)幀進(jìn)行檢查判斷,將二層幀的源mac與dhcp數(shù)據(jù)報中的chaddr字段中的源mac比較,如果兩者不相等,則斷定該dhcp數(shù)據(jù)報是一個偽造的數(shù)據(jù)報;如果兩個mac地址相同,轉(zhuǎn)到步驟s3中繼續(xù)判斷。
步驟s3,根據(jù)步驟s2中比較的結(jié)果,當(dāng)結(jié)果相等時,查看當(dāng)前拓?fù)渚W(wǎng)絡(luò),將物理機的mac地址和port端口存入mac-port映射表中,sdn控制器提取dhcp數(shù)據(jù)報文中二層幀的源mac,并與mac-port映射表中的mac做匹配。
步驟s4,根據(jù)步驟s3中匹配的結(jié)果,當(dāng)結(jié)果不匹配時,將該dhcp數(shù)據(jù)報文做drop處理。
步驟s5,根據(jù)流表統(tǒng)計信息統(tǒng)計從每個端口接收到的dhcp請求報文的流量情況,建立物理機黑名單,并將黑名單內(nèi)的物理機端口發(fā)出的dhcp報文直接下發(fā)drop。
步驟s6,將控制器中記錄的當(dāng)前網(wǎng)絡(luò)中所有dhcp服務(wù)器所在的物理端口及mac地址設(shè)置為白名單,只允許dhcpoffer和dhcpack消息由白名單里的信任端口發(fā)出回復(fù)報文,從其他非信任端口發(fā)出的這些dhcp回復(fù)請求報文全部丟棄,避免非授權(quán)dhcp服務(wù)器欺騙攻擊。
本發(fā)明通過配置sdn網(wǎng)絡(luò),在sdn網(wǎng)絡(luò)中利用dhcp服務(wù)器的配置信息,將dhcp服務(wù)器部署在sdn網(wǎng)絡(luò)中??蛻粼谡埱笤L問dhcp服務(wù)器時,對源udp端口68大于一定請求次數(shù)的主機mac地址,便將此次mac地址列為黑名單,防止惡意攻擊。其次,訪問請求到達(dá)sdn時,sdn控制器會先對此請求進(jìn)行認(rèn)證,sdn控制器也會生成對dhcp服務(wù)器的白名單。dhcp服務(wù)器收到sdn認(rèn)證后的請求并作出響應(yīng),sdn控制器對源udp端口67的響應(yīng)報文進(jìn)行比對,如果本次響應(yīng)的服務(wù)器不在dhcp服務(wù)器的白名單中,則丟棄該報文,防止dhcp欺騙的發(fā)生。
雖然結(jié)合附圖對發(fā)明的具體實施方式進(jìn)行了詳細(xì)地描述,但不應(yīng)理解為對本專利的保護(hù)范圍的限定。在權(quán)利要求書所描述的范圍內(nèi),本領(lǐng)域技術(shù)人員不經(jīng)創(chuàng)造性勞動即可做出的各種修改和變形仍屬本專利的保護(hù)范圍。