專利名稱:一種基于dhcp snooping的安全接入方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)的接入安全技術(shù),尤其涉及一種基于DHCPSN00PING的安全接入方法。
背景技術(shù):
動(dòng)態(tài)主機(jī)設(shè)置協(xié)議(DynamicHost Configuration Protocol, DHCP)是一個(gè)局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,主要有兩個(gè)用途給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動(dòng)分配IP地址給用戶給內(nèi)部網(wǎng)絡(luò)管理員作為對(duì)所有計(jì)算機(jī)作中央管理的手段。DHCP SNOOPING功能指交換機(jī)監(jiān)測(cè)DHCP CLIENT通過DHCP協(xié)議獲取IP的過程。它通過設(shè)置可信端口和非可信端口,來防止DHCP攻擊及私設(shè)DHCPSERVER。從可信端口接收的 DHCP報(bào)文無需校驗(yàn)即可轉(zhuǎn)發(fā)。典型的設(shè)置是將可信端口連接DHCP SERVE或者DHCP RELAY 代理。非可信端口連接DHCP CLIENT,交換機(jī)將轉(zhuǎn)發(fā)從非可信端口接收的DHCP請(qǐng)求報(bào)文,不轉(zhuǎn)發(fā)從非可信端口接收的DHCP回應(yīng)報(bào)文。如果從非可信端口接收DHCP回應(yīng)報(bào)文,除了發(fā)出告警信息外,并可根據(jù)設(shè)置對(duì)該端口執(zhí)行相應(yīng)的動(dòng)作,比如SHUTDOWN,下發(fā)BLACKH0LE。如果啟用了 DHCP SNOOPING綁定功能,則交換機(jī)將會(huì)保存非可信端口下的DHCPCLIENT的綁定信息,每一條綁定信息包含該DHCP CLIENT的MAC地址、IP地址、租期、VLAN號(hào)和端口號(hào),這些綁定信息存放于DHCP SNOOPING的綁定表中。DHCP OPTION 82 是 DHCP 報(bào)文中的中繼代理信息選項(xiàng)(Relay Agent Information Option),其選項(xiàng)編號(hào)為82。DHCP OPTION 82是為了增強(qiáng)DHCP服務(wù)器的安全性,改善IP地址配置策略而提出的一種機(jī)制。通過在網(wǎng)絡(luò)接入設(shè)備上配置DHCP中繼代理功能,中繼代理把從客戶端接收到的DHCP請(qǐng)求報(bào)文添加進(jìn)OPTION 82選項(xiàng)(其中包含了客戶端的接入物理端口和接入設(shè)備標(biāo)識(shí)等信息),然后再把該報(bào)文轉(zhuǎn)發(fā)給DHCP服務(wù)器,支持OPTION 82功能的DHCP服務(wù)器接收到報(bào)文后,根據(jù)預(yù)先配置策略和報(bào)文中OPTION 82信息分配IP地址和其它配置信息給客戶端,同時(shí)DHCP服務(wù)器也可以依據(jù)OPTION 82中的信息識(shí)別可能的DHCP 攻擊報(bào)文并作出防范。DHCP OPTION 82是在DHCP中繼代理(DHCP RELAY)中利用的,如果在接入環(huán)境中不配置DHCP RELAY,則無法利用DHCP OPTION 82的功能,來規(guī)劃和管理接入端用戶IP的分配。如果不對(duì)每個(gè)交換機(jī)端口的DHCP綁定數(shù)目進(jìn)行限制,則會(huì)有惡意用戶偽造大量 DHCP請(qǐng)求,從而耗盡交換機(jī)的資源以及DHCP SERVER的地址空間。由于一般接入交換機(jī)本身沒有大空間的非易失存儲(chǔ)介質(zhì)(如flash),交換機(jī)一旦出現(xiàn)異常重啟后,或者關(guān)機(jī)重啟后,存放在交換機(jī)內(nèi)存中的DHCPSN00PING綁定表將會(huì)消失,而由于用戶可能通過其他網(wǎng)絡(luò)設(shè)備(比如集線器HUB等)接入交換機(jī)的,用戶感知不到交換機(jī)重啟了,用戶的DHCP CLIENT不會(huì)去重新申請(qǐng)地址,或者續(xù)租,在這種情況下,由于沒有用戶綁定信息,這會(huì)造成用戶無法接入網(wǎng)絡(luò),這將造成用戶造成極大的不便。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于DHCP SNOOPING的安全接入方法,有效的解決了通過DHCP分配地址帶來的安全和可靠性,能夠有效的控制和管理通過DHCP方式接入網(wǎng)絡(luò)的安全性問題。為達(dá)到上述的目的,本發(fā)明采用技術(shù)方案如下一種基于DHCP SNOOPING的安全接入方法包括以下步驟步驟1、為交換機(jī)收到的用戶DHCP請(qǐng)求報(bào)文添加定義或缺省設(shè)置的0PTI0N82 ;步驟2、設(shè)置交換機(jī)端口的DHCP綁定數(shù)目上限;步驟3、為用戶創(chuàng)建一個(gè)臨時(shí)的REQUEST綁定,并將DHCP請(qǐng)求報(bào)文轉(zhuǎn)發(fā)至可信端 Π ;步驟4、從可信端口收到DHCP ACK后,查詢臨時(shí)的REQUEST綁定,如果存在相同用戶MAC,則創(chuàng)建DHCP用戶的綁定信息,并將綁定信息下發(fā)到硬件;步驟5、將綁定信息加入到DHCP SNOOPING綁定報(bào)文中,并對(duì)綁定報(bào)文進(jìn)行加密和散列處理,再轉(zhuǎn)發(fā)給后臺(tái)服務(wù)器備份;步驟6、交換機(jī)一旦重啟,從后臺(tái)服務(wù)器獲取綁定信息,并對(duì)綁定信息進(jìn)行ARP確認(rèn),確定綁定信息是否有效。DHCP用戶綁定信息包括DHCP CLIENT的MAC地址、IP地址、租期、VLAN號(hào)和端口號(hào)。加密采用共享密鑰的DES方式,散列處理采用MD5方式。如果沒有收到回復(fù)的綁定中用戶IP對(duì)應(yīng)的綁定信息,或者ARP回應(yīng)中的MAC與綁定的MAC不一致,則認(rèn)為該綁定無效,刪除該綁定;否則認(rèn)為該綁定有效,綁定將被保留。本發(fā)明的有益效果為交換機(jī)收到的用戶DHCP請(qǐng)求報(bào)文添加定義或缺省設(shè)置的 OPTION 82,這些選項(xiàng)能為該用戶分配特定網(wǎng)段的IP,管理員可以在上聯(lián)交換機(jī)、路由器或防火墻上配置ACL,來對(duì)這些IP的訪問權(quán)限進(jìn)行管理。將在端口上配置綁定數(shù)量,超過該數(shù)量后,新的請(qǐng)求將被交換機(jī)丟棄,避免有人惡意發(fā)送DHCP請(qǐng)求耗盡DHCP地址池以及交換機(jī)軟硬件資源。交換機(jī)會(huì)將用戶的綁定信息(IP,MAC, VLAN, PORT)下發(fā)到硬件,阻止非法的 IP通過交換機(jī)轉(zhuǎn)發(fā)。交換機(jī)的綁定信息將會(huì)上傳到一個(gè)后臺(tái)服務(wù)器,避免交換機(jī)重啟后用戶綁定表消失,導(dǎo)致用戶無法上網(wǎng)。一旦交換機(jī)重啟后,將從后臺(tái)服務(wù)器獲取綁定信息,為了安全起見,后臺(tái)服務(wù)器與交換機(jī)上傳下載綁定信息時(shí)均需要對(duì)這些信息進(jìn)行加密;下載的綁定信息需要發(fā)送ARP請(qǐng)求對(duì)綁定進(jìn)行確認(rèn),確定綁定信息是否有效。采用本發(fā)明的技術(shù)方案有效的解決了通過DHCP分配地址帶來的安全和可靠性,能夠有效的控制和管理通過DHCP方式接入網(wǎng)絡(luò)的安全性問題。
圖1為采用本發(fā)明的網(wǎng)絡(luò)應(yīng)用圖;圖2為本發(fā)明方法的流程圖;圖3為本發(fā)明使用的DHCP SNOOPING綁定報(bào)文格式
具體實(shí)施方式
以下結(jié)合
和具體實(shí)施方式
來進(jìn)一步說明本發(fā)明。本發(fā)明方法的網(wǎng)絡(luò)環(huán)境如圖1所示。根據(jù)上述發(fā)明內(nèi)容的技術(shù)方案,其實(shí)現(xiàn)的詳細(xì)步驟如下,如圖2所示(1)交換機(jī)啟動(dòng)DHCP SNOOPING以后,端口設(shè)置DHCP SNOOPING用戶控制方式,設(shè)置硬件表項(xiàng),所有的報(bào)文都不能轉(zhuǎn)發(fā),DHCP報(bào)文重定向到CPU。DHCP用戶在動(dòng)態(tài)獲取IP之前,除了能向DHCP服務(wù)器請(qǐng)求IP夕卜,不能訪問其他資源。配置DHCP OPTION 82的添加內(nèi)容,可以指定一個(gè)特定的字符串和十六進(jìn)制串,缺省下內(nèi)容為交換機(jī)CPU MAC、用戶VLAN和端口號(hào)。(2)交換機(jī)配置后臺(tái)服務(wù)器地址以及端口號(hào),設(shè)置端口綁定數(shù)目上限,以及可信口 (用于通信 DHCP SERVER)。(3)接入交換機(jī)的DHCP SNOOPING模塊截獲用戶的DHCP請(qǐng)求后,根據(jù)源MAC查詢綁定表,如果該MAC在綁定表中存在,或者該端口下的綁定數(shù)未達(dá)到配置的綁定數(shù)上限,交換機(jī)附加標(biāo)識(shí)未通過認(rèn)證的PTION 82選項(xiàng)(其中子選項(xiàng)1為用戶定義或缺省設(shè)置,子選項(xiàng) 2存放接入交換機(jī)的CPU MAC地址)到DHCP請(qǐng)求報(bào)文尾部,對(duì)DHCP請(qǐng)求報(bào)文其它部分不作修改,從可信口轉(zhuǎn)發(fā)出去。同時(shí),交換機(jī)會(huì)創(chuàng)建一個(gè)臨時(shí)的REQUEST綁定,記錄用戶的MAC, 端口和VLAN信息。(4) DHCP SNOOPING模塊截獲用戶的DHCP應(yīng)答包后,如果其中包含OPTION 82選項(xiàng),取出其中的兩個(gè)子選項(xiàng),如果子選項(xiàng)2的MAC地址不是本機(jī)MAC地址,丟棄該應(yīng)答包。同時(shí)根據(jù)報(bào)文中的chaddr字段查詢REQUEST綁定表,如果存在相同用戶MAC,則創(chuàng)建一個(gè)綁定信息,記錄DHCP CLIENT的MAC地址、IP地址、租期、VLAN號(hào)和端口號(hào)。從應(yīng)答報(bào)文中剝離OPTION 82,然后根據(jù)綁定中的端口號(hào)將報(bào)文從該端口轉(zhuǎn)發(fā)給客戶端。將用戶的綁定信息 (IP, MAC, VLAN, PORT)下發(fā)到硬件,阻止非法的IP通過交換機(jī)轉(zhuǎn)發(fā)。(5)將DHCP SNOOPING綁定信息加入到DHCP SNOOPING綁定報(bào)文中,再轉(zhuǎn)發(fā)給后臺(tái)服務(wù)器備份。交換機(jī)和后臺(tái)服務(wù)器之間的DHCP SNOOPING綁定報(bào)文使用UDP連接在網(wǎng)絡(luò)上傳播,為了保證安全性和防篡改,可以對(duì)DHCP SNOOPING綁定報(bào)文進(jìn)行加密和散列處理,本發(fā)明加密采用共享密鑰的DES方式,散列采用MD5方式。DHCP SNOOPING綁定報(bào)文承載于UDP中,其報(bào)文格式如圖3所示,各字段解釋如下Version 版本號(hào),目前為1Type 類型,目前為1,表示包含綁定信息SeqNo 序列號(hào),每發(fā)送一個(gè)報(bào)文,加1SecretLen 被加密報(bào)文的長(zhǎng)度Signature =DHCP SNOOPING綁定報(bào)文所有字段的MD5散列結(jié)果SwitchIPAddr 交換機(jī)的 IP 地址SwitchID 交換機(jī) ID,取交換機(jī) CPU MACCount 綁定數(shù)量 ClientMAC 租用地址的PC終端MAC地址Reserved 保留,填 0ClientVlanId =DHCP 用戶接入交換機(jī)的 Vlan ID
PortNum =DHCP用戶所在的交換機(jī)端口號(hào)ClientIP 用戶 IP 地址ClientMask 地址掩碼ClientGateway 網(wǎng)關(guān)參數(shù)ClientLease :DHCP 地址租期bindingTimeStamp 分配地址的時(shí)間戳為了防止用戶信息泄露以及傳輸過程中被惡意篡改,需要對(duì)報(bào)文進(jìn)行DES加密和 MD5散列處理,DES密鑰由用戶配置,交換機(jī)與后臺(tái)服務(wù)器的密鑰必須確保一致。發(fā)送報(bào)文前,先進(jìn)行加密,后進(jìn)行散列處理,具體過程如下自SwitchIPAddr字段開始,一直到結(jié)尾的報(bào)文內(nèi)容進(jìn)行DES加密,密文與明文等長(zhǎng),密文放入DHCP SNOOPING綁定報(bào)文中SwitchIPAddr字段開始的報(bào)文區(qū)域,密文長(zhǎng)度置于DHCP SNOOPING綁定報(bào)文的kcretLen字段,然后交給散列處理模塊。對(duì)于交換機(jī)DES 加密后的DHCP SNOOPING綁定報(bào)文,計(jì)算MD5散列時(shí)Signature字段先清零,然后對(duì)整個(gè)報(bào)文作散列運(yùn)算,散列操作完成后散列值填入Signature字段,這時(shí)報(bào)文可以發(fā)出交換機(jī)。收到報(bào)文后,先進(jìn)行散列計(jì)算,再解密,具體過程如下計(jì)算時(shí)先備份signature字段的值,然后signature字段清零,再計(jì)算整個(gè)報(bào)文的 MD5散列值,如果散列值與備份的signature字段的值一樣,則散列驗(yàn)證成功,繼續(xù)對(duì)DHCP SNOOPING綁定報(bào)文作DES解密處理。如果散列驗(yàn)證失敗,丟棄該DHCP SNOOPING綁定報(bào)文。 對(duì)于接收到的MD5散列驗(yàn)證成功的報(bào)文,交換機(jī)對(duì)從Signature字段之后位置開始,長(zhǎng)度由kcretLen字段指定的報(bào)文內(nèi)容進(jìn)行DES解密處理,還原出自SwitchIPAddr字段開始的 DHCP SNOOPING綁定報(bào)文內(nèi)容。(6) 一旦交換機(jī)重啟后,將根據(jù)配置的后臺(tái)服務(wù)器IP地址和端口號(hào),從后臺(tái)服務(wù)器獲取綁定信息,從后臺(tái)服務(wù)器下載完這些綁定后,為了確保綁定信息的依然有效,需要發(fā)送ARP請(qǐng)求對(duì)這些信息進(jìn)行確認(rèn),請(qǐng)求IP為綁定中的用戶IP,沒有收到回復(fù)的IP對(duì)應(yīng)的綁定信息,或者如果ARP回應(yīng)中的MAC與綁定的MAC不一致,綁定將被刪除,否則綁定將被保留。本發(fā)明采用技術(shù)方案為交換機(jī)收到的用戶DHCP請(qǐng)求報(bào)文添加定義或缺省設(shè)置的 OPTION 82,這些選項(xiàng)能為該用戶分配特定網(wǎng)段的IP,管理員可以在上聯(lián)交換機(jī)、路由器或防火墻上配置ACL,來對(duì)這些IP的訪問權(quán)限進(jìn)行管理。將在端口上配置綁定數(shù)量,超過該數(shù)量后,新的請(qǐng)求將被交換機(jī)丟棄,避免有人惡意發(fā)送DHCP請(qǐng)求耗盡DHCP地址池以及交換機(jī)軟硬件資源。交換機(jī)會(huì)將用戶的綁定信息(IP,MAC, VLAN, PORT)下發(fā)到硬件,阻止非法的 IP通過交換機(jī)轉(zhuǎn)發(fā)。交換機(jī)的綁定信息將會(huì)上傳到一個(gè)后臺(tái)服務(wù)器,避免交換機(jī)重啟后用戶綁定表消失,導(dǎo)致用戶無法上網(wǎng)。一旦交換機(jī)重啟后,將從后臺(tái)服務(wù)器獲取綁定信息,為了安全起見,后臺(tái)服務(wù)器與交換機(jī)上傳下載綁定信息時(shí)均需要對(duì)這些信息進(jìn)行加密;下載的綁定信息需要發(fā)送ARP請(qǐng)求對(duì)綁定進(jìn)行確認(rèn),沒有收到回復(fù)的IP對(duì)應(yīng)的綁定信息將被刪除。通過DHCP分配地址帶來的安全和可靠性,能夠有效的控制和管理通過DHCP方式接入網(wǎng)絡(luò)的安全性問題。
權(quán)利要求
1.一種基于DHCP SNOOPING的安全接入方法,其特征在于,包括以下步驟 步驟1、為交換機(jī)收到的用戶DHCP請(qǐng)求報(bào)文添加定義或缺省設(shè)置的0PTI0N82 ; 步驟2、設(shè)置交換機(jī)端口的DHCP綁定數(shù)目上限;步驟3、為用戶創(chuàng)建一個(gè)臨時(shí)的REQUEST綁定,并將DHCP請(qǐng)求報(bào)文轉(zhuǎn)發(fā)至可信端口 ; 步驟4、從可信端口收到DHCP ACK后,查詢臨時(shí)的REQUEST綁定,如果存在相同用戶 MAC,則創(chuàng)建DHCP用戶的綁定信息,并將綁定信息下發(fā)到硬件;步驟5、將綁定信息加入到DHCP SNOOPING綁定報(bào)文中,并對(duì)綁定報(bào)文進(jìn)行加密和散列處理,再轉(zhuǎn)發(fā)給后臺(tái)服務(wù)器備份;步驟6、交換機(jī)一旦重啟,從后臺(tái)服務(wù)器獲取綁定信息,并對(duì)綁定信息進(jìn)行ARP確認(rèn),確定綁定信息是否有效。
2.根據(jù)權(quán)利要求1所述的一種基于DHCPSNOOPING的安全接入方法,其特征在于,DHCP 用戶綁定信息包括=DHCP CLIENT的MAC地址、IP地址、租期、VLAN號(hào)和端口號(hào)。
3.根據(jù)權(quán)利要求1所述的一種基于DHCPSNOOPING的安全接入方法,其特征在于,在步驟5中,加密采用共享密鑰的DES方式,散列處理采用MD5方式。
4.根據(jù)權(quán)利要求1所述的一種基于DHCPSNOOPING的安全接入方法,其特征在于,步驟6中,如果沒有收到回復(fù)的綁定中用戶IP對(duì)應(yīng)的綁定信息,或者ARP回應(yīng)中的MAC與綁定的MAC不一致,則認(rèn)為該綁定無效,刪除該綁定;否則認(rèn)為該綁定有效,綁定將被保留。
全文摘要
本發(fā)明公開一種基于DHCP SNOOPING的安全接入方法,為交換機(jī)收到的用戶DHCP請(qǐng)求報(bào)文添加定義或缺省設(shè)置的OPTION 82;在端口上配置綁定數(shù)量;交換機(jī)將用戶的綁定信息(IP,MAC,VLAN,PORT)下發(fā)到硬件;綁定信息經(jīng)過加密后上傳到一個(gè)后臺(tái)服務(wù)器;一旦交換機(jī)重啟,將從后臺(tái)服務(wù)器獲取綁定信息,下載的綁定信息需要發(fā)送ARP請(qǐng)求對(duì)綁定進(jìn)行確認(rèn),確定綁定信息是否有效。采用本發(fā)明的技術(shù)方案有效的解決了通過DHCP分配地址帶來的安全和可靠性,能夠有效的控制和管理通過DHCP方式接入網(wǎng)絡(luò)的安全性問題。
文檔編號(hào)H04L12/46GK102316101SQ20111022752
公開日2012年1月11日 申請(qǐng)日期2011年8月9日 優(yōu)先權(quán)日2011年8月9日
發(fā)明者梁小冰 申請(qǐng)人:神州數(shù)碼網(wǎng)絡(luò)(北京)有限公司