專利名稱:一種寬帶接入設(shè)備的用戶安全防護方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在二層寬帶接入設(shè)備上對采用DHCP (Dynamic Host Configuration Protocol, 動態(tài)主機配置協(xié)議)方式接入的用戶進行安全防護的方法。
背景技術(shù):
一、 DHCP接入認證
DHCP (Dynamic Host Configuration Protocol,動態(tài)主機配置協(xié)議)是一種目前較為常 見的寬帶接入認證方式。它建立在客戶端一服務(wù)器(client-server)模型之上。在認證的初 始階段,客戶端用戶主機(DHCP client)發(fā)起請求,發(fā)送DHCP請求(DHCP DISCOVER)報文, 申請網(wǎng)絡(luò)IP地址。網(wǎng)絡(luò)中的DHCP服務(wù)器(DHCP server)做出回應(yīng)若可以分配IP,則通過發(fā) 送DHCP分配應(yīng)答(DHCP ACK)報文向用戶主機傳送配置參數(shù);若無法分配,則發(fā)送DHCP拒絕 分配(DHCPNAK)報文。當用戶退出連接時,向服務(wù)器發(fā)送DHCP釋放(DHCP RELEASE)報文, DHCPserver回收之前分配給該用戶的IP地址,并可以將它分配給其它發(fā)出請求的用戶。具體 交互過程如附圖l所示。
二、 訪問控制列表技術(shù)
訪問控制列表(Access Control List)簡稱為ACL,訪問控制列表使用包過濾技術(shù), 在網(wǎng)絡(luò)設(shè)備上讀取第三層及第四層包頭中的信息如源地址,目的地址,源端口,目的 端口等,根據(jù)預(yù)先定義好的規(guī)則對包進行過濾,從而達到訪問控制的目的。該技術(shù)初 期僅在路由器上支持,近些年來已經(jīng)擴展到三層交換機,目前部分二層交換機(包括 接入設(shè)備)也開始提供ACL的支持了。
三、 數(shù)據(jù)報文捕獲機制
當前各主流網(wǎng)絡(luò)處理器(Network Processor, NP)或FPGA芯片均支持對于特定數(shù)據(jù)報文 的捕獲功能,其大致工作機制是這樣的程序員可以設(shè)定用于捕獲特定數(shù)據(jù)報文的報文過濾 器(filter),每一條filter的內(nèi)容包括報文處理行為(rule)和報文匹配原則(subrule)。 Rule確定行為,具體可以是丟棄報文(drop)、允許通過(allow)等;subrule定義了匹配原 則,這個可以多種多樣,例如對于本發(fā)明中涉及的二層DHCP報文而言,可以是匹配以太網(wǎng)幀 頭中的幀類型字段,確定是哪一種類型的報文。 一條filter設(shè)置生效并應(yīng)用到端口后,當端 口接收到與規(guī)則匹配的報文后,芯片底層硬件觸發(fā)中斷,開發(fā)人員可以在注冊fitler的同時 指定對應(yīng)的中斷服務(wù)程序用于報文捕獲后的數(shù)據(jù)處理。
四、 DHCP接入方式存在的安全隱患
采用DHCP的接入方式,主要存在以下安全隱患在用戶申請獲得合法的IP地址之前,上 層設(shè)備無法對來自該端口的報文進行基于IP的ACL安全過濾;而即使用戶獲得了IP地址,如果
有其他非法用戶盜用他的IP地址上網(wǎng),甚至采用地址欺騙的方式發(fā)起攻擊,單純的基于IP的
ACL安全機制也是無能為力的。目前,對此種安全隱患防范的主要方法是在采用基于IP的ACL 包過濾機制的基礎(chǔ)上,在用戶端口上綁定用戶的MAC地址。這樣可以有效的防止盜用IP的情形。 但同時帶來的問題是,如果用戶主機發(fā)生改變,如更換網(wǎng)卡等,用戶的MAC地址發(fā)生改變,就 無法上網(wǎng)了。這給用戶乃至運營商帶來了極大的不便。
發(fā)明內(nèi)容
本發(fā)明的目的在于,針對現(xiàn)有技術(shù)存在的缺陷和不足,提供一種有效地減輕上層網(wǎng)絡(luò)設(shè) 備的處理負擔,提高設(shè)備運行效率的寬帶接入設(shè)備的用戶安全防護方法。
為達到上述目的,本發(fā)明采用以下技術(shù)方案本發(fā)明一種寬帶接入設(shè)備的用戶安全防護 方法,包括如下步驟
步驟A,在數(shù)字用戶線接入復用器上對動態(tài)主機配置協(xié)議報文進行偵聽(DHCP snooping), 步驟B,通過對IP報文來源的監(jiān)測(IP Source guard),實現(xiàn)對用戶報文的通過進行限 制和過濾。
其中,所述步驟A具體為
步驟Al,開啟全局或永久性虛電路通道端口的動態(tài)主機配置協(xié)議報文偵聽功能使能開關(guān); 步驟A2,設(shè)置提取動態(tài)主機配置協(xié)議報文的過濾器;
步驟A3,所述過濾器在同一個端口提取動態(tài)主機配置協(xié)議報文后,中斷服務(wù)程序判斷報 文類型,并作相應(yīng)處理。
進一步的,所述步驟A3具體為
步驟A31,如果是上行的動態(tài)主機配置協(xié)議請求報文,向綁定數(shù)據(jù)庫的空閑記錄項中添 加一條記錄,將用戶主機MAC地址和PVC號填入對應(yīng)字段,狀態(tài)字段為未啟用;
步驟A32,如果是下行的動態(tài)主機配置協(xié)議分配應(yīng)答報文,更新綁定數(shù)據(jù)庫對應(yīng)記錄項 中的用戶主機IP地址字段,同時將狀態(tài)字段設(shè)為啟用;
步驟A33,如果是上行的動態(tài)主機配置協(xié)議釋放報文或者下行的拒絕分配報文,在綁定 數(shù)據(jù)庫中,找到對應(yīng)記錄項,刪除該記錄項,并把狀態(tài)字段設(shè)為未啟用。
進一步的,所述步驟B具體為
步驟Bl,開啟全局或永久性虛電路通道端口的IP報文來源監(jiān)測功能使能開關(guān); 步驟B2,所述永久性虛電路通道端口設(shè)置動態(tài)主機配置協(xié)議報文過濾器、非動態(tài)主機配 置協(xié)議報文過濾器和匹配過濾器;
步驟B3,所述動態(tài)主機配置協(xié)議報文過濾器捕獲到下行的動態(tài)主機配置協(xié)議分配應(yīng)答報
文;
步驟B4,在所述永久性虛電路通道端口解除非動態(tài)主機配置協(xié)議報文過濾器;
步驟B5,啟用匹配過濾器,以被捕獲報文中的IP+MAC+PVC為關(guān)鍵字字段在所述綁定數(shù) 據(jù)庫中查詢,如果有與所述關(guān)鍵字字段匹配的記錄項,則轉(zhuǎn)發(fā)該報文;否則,丟棄該報文;
步驟B6,當所述動態(tài)主機配置協(xié)議報文過濾器捕獲到上行的動態(tài)主機配置協(xié)議釋放報文 或者下行的拒絕分配報文,在所述綁定數(shù)據(jù)庫中刪除與其對應(yīng)的相關(guān)記錄項;
步驟B7,所述永久性虛電路通道端口解除匹配過濾器,重新綁定非動態(tài)主機配置協(xié)議報 文過濾器。
與現(xiàn)有技術(shù)相比較,本發(fā)明引入了DHCP snooping和IP Source guard的概念,以綁定 數(shù)據(jù)庫(binding database)為核心引擎,在較低的層次上實現(xiàn)了對于用戶數(shù)據(jù)報文的過濾, 實現(xiàn)方案簡單,并且通過動態(tài)的綁定用戶IP和MAC的方式克服了背景技術(shù)中提到的傳統(tǒng)基于 IP的ACL安全機制的缺陷,對非法用戶盜用他人IP上網(wǎng)或發(fā)起攻擊的情況進行了有效的防 護。當二層接入設(shè)備采用了本發(fā)明中的技術(shù)方法后,上層設(shè)備減少了報文處理量,并可以專 注于其它安全策略的實現(xiàn),從而降低了系統(tǒng)開發(fā)的難度和提高了系統(tǒng)的可靠性。
圖1是DHCP中客戶端和服務(wù)器數(shù)據(jù)報文交互過程示意圖2是本發(fā)明的DHCP snooping功能實現(xiàn)的流程圖3a是本發(fā)明的IP Source guard功能啟動的流程圖3b是IP Source guard功能中filter工作機制實現(xiàn)的流程圖。
具體實施例方式
在數(shù)字用戶線接入復用器(Digital Subscribe Loop Access Multiplexer, DSLAM)上 實現(xiàn)DHCPsno叩ing功能。其具體功能包括提取上、下行DHCP報文,創(chuàng)建和維護針對用戶 端口的綁定數(shù)據(jù)庫(binding database),數(shù)據(jù)庫中的每個記錄項(entry)包括以下字段 用戶主機IP地址、用戶主機MAC地址、用戶使用的永久性虛電路通道(Permanent Virtual Circuit, PVC)和記錄狀態(tài)status (標示該記錄是否啟用),其中IP/MAC/PVC為關(guān)鍵字字 段。
在實現(xiàn)DHCP snooping功能的基礎(chǔ)上,實現(xiàn)IP Source guard功能對用戶報文的通過 進行限制和過濾:用戶在通過DHCP獲得合法IP地址前不能訪問網(wǎng)絡(luò),此時DSLAM僅捕獲DHCP 報文,而丟棄其它的所有報文;盜用他人IP地址的非法報文,將在PVC端口就予以丟棄,不
允許進入網(wǎng)絡(luò);從PVC端口接收到的IP報文,將與binding database中的相關(guān)記錄項目進 行比較,不匹配的將被丟棄。
以上所有功能都支持基于全局和基于PVC端口的使能開關(guān)。
由于需要對上下行的報文進行截取、分析、過濾等操作,最佳的實現(xiàn)方式是在DSLAM的 線卡上實現(xiàn)DHCP snooping和IP Source guard功能。這主要是利用線卡上網(wǎng)絡(luò)處理器(NP) 或FPGA芯片的filter機制來實現(xiàn)對特定報文的捕獲并進而對報文進行處理,正如前文背景 技術(shù)介紹中所提到的那樣。
下面就結(jié)合附圖重點對線卡上的實現(xiàn)方法進行說明。 如圖2所示,在線卡上實現(xiàn)DHCP sno叩ing功能的步驟如下 步驟l:提供全局和PVC端口的使能開關(guān),初始化設(shè)置為關(guān)閉(disable)狀態(tài)。 步驟2:初始化binding database,所有entry的狀態(tài)(status)字段設(shè)置為未啟用(not ready)
步驟3:接收主控板下發(fā)的端口 DHCP snooping功能使能命令,將使能開關(guān)置為開啟 (enable)狀態(tài)。
步驟4:設(shè)置filter提取DHCP報文。
步驟5:提取到DHCP報文后,中斷服務(wù)程序判斷報文類型。
(1) 如果是上行的DHCP DISCOVER報文,向binding database的空閑entry中添加一 條記錄,將MAC地址和PVC號填入對應(yīng)字段,status字段仍為not ready。
(2) 如果是下行的DHCP ACK報文,査詢binding database,更新對應(yīng)entry中的IP 地址字段,同時將status字段設(shè)為啟用(active)。
(3) 如果是上行的DHCP RELEASE報文或者下行的DHCP NAK報文,査詢binding database, 找到對應(yīng)entry,將所有字段清0 (即刪除該記錄),并把status字段設(shè)為not ready,從而 使該entry回到初始狀態(tài)。
在線卡上實現(xiàn)IP Source guard功能,主要包括如下幾個步驟(步驟l一4如圖3a所示; 步驟5—8如圖3b所示)
步驟h提供全局和PVC端口的使能開關(guān),初始化設(shè)置為關(guān)閉(disable)狀態(tài)。 步驟2:接收主控板下發(fā)的端口 IP Source guard功能使能命令。
步驟3:判斷對應(yīng)端口的DHCP snooping功能使能開關(guān)狀態(tài),若為disable,則直接報錯 退出。
步驟4:在DHCP snooping功能使能的前提下,將該端口的IP Source guard功能使能開 關(guān)設(shè)為開啟(enable)狀態(tài)。
步驟5:剛開始用戶尚未通過DHCP認證得到分配的IP,因此status字段為未啟用(not ready),此時應(yīng)用2條filter到PVC端口 filterl捕獲DHCP報文,filter2丟棄所有報 文。此時可以保證除DHCP報文外所有其他報文都被丟棄。
步驟6:當步驟5中創(chuàng)建的filterl捕獲到下行的DHCP ACK報文后,在更新binding database entry表項的同時在該PVC端口解除原先設(shè)置的filter2,添加一條新的filter, 進行IP+MAC的匹配,稱之為f ilter3。此時,只有IP和MAC均匹配的報文才能夠進入網(wǎng)絡(luò), 其它報文將被丟棄。同時filterl繼續(xù)捕獲DHCP報文。
步驟7:當filterl捕獲到上行DHCP RELEASE報文或下行DHCP NAK報文,從binding database中刪除相關(guān)entry的同時,刪除步驟6中創(chuàng)建的匹配IP+MAC的filter3,重新綁定 步驟5中的filter2,系統(tǒng)拒絕接收除DHCP報文外的所有報文。
步驟8:重復步驟5-7,直到管理員關(guān)閉IP Source guard功能。
權(quán)利要求
1、一種寬帶接入設(shè)備的用戶安全防護方法,包括如下步驟步驟A,在數(shù)字用戶線接入復用器上對動態(tài)主機配置協(xié)議報文進行偵聽,步驟B,通過對IP報文來源的監(jiān)測,實現(xiàn)對用戶報文的通過進行限制和過濾。
2、 根據(jù)權(quán)利要求l所述的一種寬帶接入設(shè)備的用戶安全防護方法,其特征在于,所述步 驟A具體為步驟Al ,開啟全局或永久性虛電路通道端口的動態(tài)主機配置協(xié)議報文偵聽功能使能開關(guān); 步驟A2,設(shè)置提取動態(tài)主機配置協(xié)議報文的過濾器;步驟A3,所述過濾器在同一個端口提取動態(tài)主機配置協(xié)議報文后,中斷服務(wù)程序判斷報 文類型,并作相應(yīng)處理。
3、 根據(jù)權(quán)利要求2所述的一種寬帶接入設(shè)備的用戶安全防護方法,其特征在于,所述步 驟A3具體為步驟A31,如果是上行的動態(tài)主機配置協(xié)議請求報文,向綁定數(shù)據(jù)庫的空閑記錄項中添 加一條記錄,將用戶主機MAC地址和PVC號填入對應(yīng)字段,狀態(tài)字段為未啟用;步驟A32,如果是下行的動態(tài)主機配置協(xié)議分配應(yīng)答報文,更新綁定數(shù)據(jù)庫對應(yīng)記錄項 中的用戶主機IP地址字段,同時將狀態(tài)字段設(shè)為啟用;步驟A33,如果是上行的動態(tài)主機配置協(xié)議釋放報文或者下行的拒絕分配報文,在綁定 數(shù)據(jù)庫中,找到對應(yīng)記錄項,刪除該記錄項,并把狀態(tài)字段設(shè)為未啟用。
4、 根據(jù)權(quán)利要求1或3所述的一種寬帶接入設(shè)備的用戶安全防護方法,其特征在于,所 述步驟B具體為步驟B1,開啟全局或永久性虛電路通道端口的IP報文來源監(jiān)測功能使能開關(guān); 步驟B2,所述永久性虛電路通道端口設(shè)置動態(tài)主機配置協(xié)議報文過濾器、非動態(tài)主機配 置協(xié)議報文過濾器和匹配過濾器;步驟B3,所述動態(tài)主機配置協(xié)議報文過濾器捕獲到下行的動態(tài)主機配置協(xié)議分配應(yīng)答報文;步驟B4,在所述永久性虛電路通道端口解除非動態(tài)主機配置協(xié)議報文過濾器;步驟B5,啟用匹配過濾器,以被捕獲報文中的IP+MAC+PVC為關(guān)鍵字字段在所述綁定數(shù) 據(jù)庫中査詢,如果有與所述關(guān)鍵字字段匹配的記錄項,則轉(zhuǎn)發(fā)該報文;否則,丟棄該報文;步驟B6,當所述動態(tài)主機配置協(xié)議報文過濾器捕獲到上行的動態(tài)主機配置協(xié)議釋放報文 或者下行的拒絕分配報文,在所述綁定數(shù)據(jù)庫中刪除與其對應(yīng)的相關(guān)記錄項;步驟B7,所述永久性虛電路通道端口解除匹配過濾器,重新綁定非動態(tài)主機配置協(xié)議報 文過濾器。
全文摘要
本發(fā)明公開了一種寬帶接入設(shè)備的用戶安全防護方法,針對現(xiàn)有DHCP的接入方式,在用戶申請獲得合法的IP地址之前,上層設(shè)備無法對來自該端口的報文進行基于IP的ACL安全過濾的問題而發(fā)明。步驟A,在數(shù)字用戶線接入復用器上對動態(tài)主機配置協(xié)議報文進行偵聽,步驟B,通過對IP報文來源的監(jiān)測,實現(xiàn)對用戶報文的通過進行限制和過濾。本發(fā)明在較低的層次上實現(xiàn)了對用戶數(shù)據(jù)報文的過濾,實現(xiàn)方案簡單,并且通過動態(tài)的綁定用戶IP和MAC的方式克服了傳統(tǒng)基于IP的ACL安全機制的缺陷,對非法用戶盜用他人IP上網(wǎng)或發(fā)起攻擊的情況進行了有效的防護。當二層接入設(shè)備采用了本發(fā)明中的技術(shù)方法后,上層設(shè)備減少了報文處理量,降低了系統(tǒng)開發(fā)的難度,提高了系統(tǒng)的可靠性。
文檔編號H04L29/06GK101098227SQ200610090770
公開日2008年1月2日 申請日期2006年6月30日 優(yōu)先權(quán)日2006年6月30日
發(fā)明者捷 任, 熊文杰 申請人:中興通訊股份有限公司