專利名稱:一種基于dhcp旁路阻斷方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機網(wǎng)絡安全領(lǐng)域,具體地說,是在特定場所,特別是公共場所的局域網(wǎng)內(nèi)對特定的上網(wǎng)機實施有效的網(wǎng)絡阻斷,阻止其任何網(wǎng)絡服務。
背景技術(shù):
對于公共場所或非經(jīng)營場所的局域網(wǎng),一般采取一定的措施來阻斷局域網(wǎng)內(nèi)的上網(wǎng)機,就是設置防火墻,建立過濾表。這種措施采用的方法是在網(wǎng)絡的邊界安裝防火墻等訪問控制設備。防火墻的作用是設置一定的訪問權(quán)限,只有訪問權(quán)限之內(nèi)的用戶才能夠通過防火墻進行訪問,如果不在訪問權(quán)限之內(nèi),就被防火墻檔住。這種方法的缺點是只能實現(xiàn)預設的上網(wǎng)機的阻斷,無法對上網(wǎng)機實現(xiàn)實時阻斷;便攜性差,無法滿足客戶需求。為了實現(xiàn)對特定場所的局域網(wǎng)內(nèi)的上網(wǎng)機的阻斷,采用的方式一般是旁路阻斷, 并一般有兩種方式一是通過TCP協(xié)議的特性,對TCP連接實施阻斷。這種方法的缺點是只能對基于TCP協(xié)議的網(wǎng)絡應用產(chǎn)生效果,而對基于UDP協(xié)議的網(wǎng)絡應用無能為力。并且,隨著科技的發(fā)展,各種網(wǎng)絡應用層出不窮,很多網(wǎng)絡應用能很好的解決TCP協(xié)議的某些特性,從而使得連接能夠順利執(zhí)行。另一種方法是通過ICMP協(xié)議,向特定上網(wǎng)機發(fā)送阻斷信息,從而實現(xiàn)阻斷相應的網(wǎng)絡連接。這種方法的缺點除了很多網(wǎng)絡應用能夠忽略ICMP信息,繼續(xù)建立連接外,還較大程度的增加了網(wǎng)絡負載,使得網(wǎng)絡性能下降。動態(tài)主機設置協(xié)議(DynamicHost Configuration Protocol, DHCP)是一個局域網(wǎng)的網(wǎng)絡協(xié)議,使用UDP協(xié)議工作,主要有兩個用途給內(nèi)部網(wǎng)絡或網(wǎng)絡服務供應商自動分配IP地址給用戶給內(nèi)部網(wǎng)絡管理員作為對所有計算機作中央管理的手段。無論是動態(tài)分配的IP還是手動配置的IP均要通過DHCP服務器對IP進行認證。根據(jù)檢索結(jié)果,在本領(lǐng)域中還未有使用DHCP網(wǎng)絡協(xié)議來監(jiān)控局域網(wǎng)上的計算機,并對其實施阻斷的方法。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種通過旁路實時阻斷局域網(wǎng)內(nèi)特定上網(wǎng)機的網(wǎng)絡服務內(nèi)容,并阻斷其所有網(wǎng)絡服務的方法。為實現(xiàn)上述目的,本發(fā)明的解決方案是一種基于DHCP旁路阻斷方法,其步驟包括I)在需要監(jiān)控的DHCP網(wǎng)段中設置具有鏡像接口的交換機,得到該DHCP網(wǎng)段中所有上網(wǎng)機的數(shù)據(jù)包;2)對所述數(shù)據(jù)包進行處理得到上網(wǎng)機的MAC地址并與用戶自定義的安全機上網(wǎng)名單進行對比,找出不安全上網(wǎng)機;3)當所述不安全上網(wǎng)機發(fā)包進行接入網(wǎng)絡請求時,根據(jù)所述入網(wǎng)請求方式處理發(fā)包,偽造DHCPACK包或者DHCP0FFER包,對所述不安全上網(wǎng)機進行阻斷。所述入網(wǎng)請求方式為采用動態(tài)獲取網(wǎng)絡配置信息時,阻斷方法如下
2-1)不安全上網(wǎng)機發(fā)送DISCOVER數(shù)據(jù)包,查找網(wǎng)段中DHCP服務器;2-2)旁路服務器在所述DHCP服務器發(fā)送OFFER前,向該不安全上網(wǎng)機發(fā)送偽造DHCP0FFER 包;2-3)所述不安全上網(wǎng)機向旁路服務器發(fā)送request包請求網(wǎng)絡配置,所述旁路服務器截獲request包之后,根據(jù)截獲的request包信息偽造DHCP ACK包,同時分配一個已經(jīng)存在的IP地址給該不安全上網(wǎng)機;2-4)所述不安全上網(wǎng)機在接受到偽造DHCP ACK包后,驗證分配IP地址是否存在;2-5)所述上網(wǎng)機無法獲取到正確的IP地址,旁路實現(xiàn)阻斷。所述入網(wǎng)請求方式為手動配置網(wǎng)絡信息時,阻斷方法如下
3-1)不安全上網(wǎng)機發(fā)送inform包,查找網(wǎng)段中DHCP服務器;3-2)旁路服務器在所述DHCP服務器發(fā)送inform前,向該不安全上網(wǎng)機發(fā)送偽造DHCPinform 包;3-3)所述不安全上網(wǎng)機接收到該偽造DHCP inform包向旁路服務器發(fā)送request包請求網(wǎng)絡配置,所述旁路服務器截獲request包之后,根據(jù)截獲的request包信息偽造DHCP NACK 包,3-4)所述不安全上網(wǎng)機接受到偽造DHCP NACK包后,重新請求IP地址;3-5)所述上網(wǎng)機無法獲取到正確的IP地址,旁路實現(xiàn)阻斷。所述具有鏡像接口的交換機中提取的交換機鏡像包需滿足包含物理層的數(shù)據(jù)包。對于所述上網(wǎng)機兩種不同的處理過程可放在同一臺旁路服務器單獨處理,或分為兩臺旁路服務器分別處理。所述不安全上網(wǎng)機接收偽造DHCP inform包后,該不安全上網(wǎng)機接受第一個到達OFFER包和匹配XID值,丟棄其他發(fā)包,直到接受到偽造DHCP ACK包。所述步驟2-5)對于不同的上網(wǎng)機采用不同的處理方式無法上網(wǎng),需要再次手動配置網(wǎng)絡;或者重新開始DHCP請求過程請求正確的IP地址,所述旁路服務器可采取動態(tài)獲取網(wǎng)絡配置信息實現(xiàn)對不安全上網(wǎng)機阻斷。所述不安全上網(wǎng)機采用UDP協(xié)議廣播形式發(fā)包。所述旁路服務器偽造DHCP服務器兩種類型的數(shù)據(jù)包ACK包和NACK包;所述ACK包的作用為告知所述不安全上網(wǎng)機設置的IP地址及網(wǎng)絡配置可以使用,所述NACK包的作用為告知所述不安全上網(wǎng)機設置的IP地址及網(wǎng)絡配置不可用,
需要重新申請。在所述需要監(jiān)控的DHCP網(wǎng)段中設置一或多個具有鏡像接口的交換機,至少包括一個以上旁路服務器。本發(fā)明的優(yōu)點和積極效果由于本發(fā)明中,采取底層協(xié)議的特性實施阻斷,所以可移植性好,并且相對于基于應用協(xié)議的阻斷方式而言,維護成本低,不需要根據(jù)應用協(xié)議的更新而更新。實時性好,可在任何網(wǎng)絡環(huán)境下使用,不需要改變原有的網(wǎng)絡結(jié)構(gòu)。保密性強,在上網(wǎng)機無法察覺的情況下,實施有效阻斷。
圖I是本發(fā)明一實施例中基于DHCP阻斷方法流程示意圖;圖2a是本發(fā)明一實施例中DHCP協(xié)議頭結(jié)構(gòu)示意圖;圖2b本發(fā)明一實施例中OPTION格式示意圖;圖3為本發(fā)明基于DHPC旁路阻斷方法流程圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本分買那個實施例中的技術(shù)方案進行清除、完整地描述,可以理解的是,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍?!ぁ?br>
如圖3所示,一種基于DHCP實現(xiàn)旁路阻斷的方法流程圖,它包括a.在需要監(jiān)控的網(wǎng)段中設置具有鏡像口的交換機,將交換機的鏡像口連接到旁路服務器的檢測口,用于分析鏡像數(shù)據(jù)包,將交換機的上聯(lián)口,也就是上網(wǎng)口串聯(lián)到網(wǎng)絡拓撲中,要確保需要監(jiān)控的上網(wǎng)機的數(shù)據(jù)包均要通過具有鏡像口的交換機,用于獲得被監(jiān)控的所有上網(wǎng)機的數(shù)據(jù)包,將旁路服務器的發(fā)送口接到交換機的端口上,若條件許可,也可接到路由的端口上。(具有鏡像口的交換機不需要任何配置)b.連接在具有鏡像口的交換機的旁路服務器,用于對上網(wǎng)機的數(shù)據(jù)包進行處理。根據(jù)從交換機上獲取的實時用戶數(shù)據(jù)包,記錄上網(wǎng)機的MAC地址,并與用戶可自定義的安全上網(wǎng)機名單進行比對,若在名單中,則對數(shù)據(jù)包不做任何處理,若不在名單中,則根據(jù)截獲的數(shù)據(jù)包類型進行有效阻斷。上網(wǎng)機在一開始請求上網(wǎng)時有兩種方式一種是自動獲取IP地址,另一種是手動獲取IP地址。對于自動獲取IP地址的上網(wǎng)機,通過旁路服務器偽造DHCP OFFER包使上網(wǎng)機對真實的DHCP OFFER包忽略,然后上網(wǎng)機會向旁路服務器發(fā)送request數(shù)據(jù)包,旁路服務器可再向上網(wǎng)機發(fā)送NACK包使得上網(wǎng)機無法獲得正確IP地址及上網(wǎng)配置,從而達到阻斷的效果。對于手動獲取IP地址的上網(wǎng)機,通過偽造DHCP NACK包使上網(wǎng)機無法獲得正確的IP地址及上網(wǎng)配置,從而達到阻斷的效果。對于DHCP阻斷流程如圖I所示,說明如下對于不屬于安全上網(wǎng)機名單中的上網(wǎng)機請求,對于剛接入網(wǎng)絡的上網(wǎng)機有兩種上網(wǎng)方式一種是動態(tài)獲取網(wǎng)絡配置信息;另一種是手動配置網(wǎng)絡信息。對于采取動態(tài)獲取網(wǎng)絡配置的上網(wǎng)機,上網(wǎng)機首先使用UDP協(xié)議,通過端口 68,以廣播的形式發(fā)送DISCOVER數(shù)據(jù)包,其目的是在其所在的局域網(wǎng)中查找DHCP服務器。根據(jù)DHCP協(xié)議,在一個局域網(wǎng)中可以有多個DHCP服務器,當DHCP服務器接收到上網(wǎng)機發(fā)送的DISCOVER數(shù)據(jù)包后,這些DHCP服務器均會向上網(wǎng)機回復一個OFFER包。上網(wǎng)機根據(jù)接收的OFFER包的時間順序及XID的值,只接受第一個到達的及XID的值與之相匹配的OFFER包,其它的后到達的由其它DHCP服務器發(fā)出的OFEER包將被丟棄,并且在隨后的交互過程中,只識別這一臺DHCP服務器,直到這臺DHCP服務器發(fā)送NACK包為止。當上網(wǎng)機接受到NACK包之后,將會重新廣播DISCOVER數(shù)據(jù)包。由于存在于網(wǎng)絡中的真實DHCP服務器在應答之前以ARP的方式廣播確定網(wǎng)絡內(nèi)IP的使用情況,所以對于旁路服務器來說,有充足的時間在真實的DHCP服務器之前向上網(wǎng)機發(fā)送offer包。只要上網(wǎng)機確認接受了阻斷服務器的OFFER包,對于后續(xù)的其他的DHCP服務器發(fā)送的offer包,上網(wǎng)機會將其忽略,這樣,上網(wǎng)機會認為旁路服務器為當前網(wǎng)絡的DHCP服務器。之后,上網(wǎng)機將發(fā)送request包,向旁路服務器請求網(wǎng)絡配置,阻斷服務器截獲request包之后,根據(jù)截獲的request包信息,構(gòu)造ACK包,分配一個已經(jīng)存在的IP地址給上網(wǎng)機,上網(wǎng)機在接受到ACK包之后,會通過ARP的方式驗證分配的IP地址是否存在,這時,由于IP地址已經(jīng)存在,上網(wǎng)機會不斷的重新發(fā)送request包。最終,上網(wǎng)機會因為無法獲取到正確的IP地址,從而達到阻斷的目的。對于手動配置網(wǎng)絡設置的上網(wǎng)機,上網(wǎng)機會在設置完之后以廣播的形式發(fā)送inform包,其目的在于請求DHCP服務器驗證其IP地址的正確性。根據(jù)DHCP協(xié)議,當DHCP服務器接收到inform包之后,DHCP服務器可回復兩種類型的數(shù)據(jù)包,分別為ACK包和NACK包。ACK包的作用是告訴上網(wǎng)機,其設置的IP地址及網(wǎng)絡配置可以使用,而NACK包的作用是告訴上網(wǎng)機,其設置的IP地址及網(wǎng)絡配置不可用,需要重新申請。旁路服務器通過截獲的inform包,向上網(wǎng)機發(fā)送NACK包,上網(wǎng)機在接收到NACK包之后,會認為IP地址已經(jīng)被 使用,對于不同的上網(wǎng)機可有不同的處理方式,一種是直接造成無法上網(wǎng)的效果,需要再次手動配置網(wǎng)絡,另一種則是重新開始DHCP請求過程請求正確的IP地址,這時,旁路服務器可采取與動態(tài)獲取IP同樣的操作實現(xiàn)對上網(wǎng)機的阻斷。DHCP的協(xié)議格式如圖2a所示Op是信息操作碼,用來表示是請求還是應答,htype是硬件地址類型,hlen是硬件地址長度,hops在有中轉(zhuǎn)的情況下使用,本發(fā)明中設置為0,xid為隨機數(shù),用來標識不同的會話期,sec為IP使用期限,當超過此期限,上網(wǎng)機會重新向DHCP服務器發(fā)送請求,flags為標志位,在用中轉(zhuǎn)的情況下使用,本發(fā)明中設置為0,ciaddr為上網(wǎng)機IP地址,在上網(wǎng)機特殊狀態(tài)下使用,可選項,本發(fā)明中設置為0.0. 0.0。yiaddr為用戶的IP地址,用于DHCP服務器回復,為上網(wǎng)機提供IP地址。Siaddr,giaddr在有中轉(zhuǎn)的情況下使用,本發(fā)明中設置為0.0. 0.0。chaddr為上網(wǎng)機MAC地址,sname為DHCP服務器名稱,可選。File為可選域,在本發(fā)明中設置為NULL。如圖2b所示OPTION為配置選項,上網(wǎng)機通過讀取配置選項信息設置網(wǎng)絡,其格式如圖2下方所示。配置選項必須以4字節(jié)的magic number開始,其十進制值為
99.130. 83. 99,以end option結(jié)束,其十進制值為255。不同選項用不同的code標識,其大小為I個字節(jié),其后緊跟著的I個字節(jié)表示該選項配置信息的大小,用I個字節(jié)表示。Info表示配置信息,長度為len。對于DHCP OFFER包的構(gòu)造,根據(jù)截獲的數(shù)據(jù)包,將op類型設置為應答,并將xid設置為與截獲的數(shù)據(jù)包相同。對于選項域,其中code 53message type必須包含,用于表示信息類型,數(shù)值2表示DHCP OFFER包,除此之外還必須包含code 54DHCP serverIdentifier,用于表示該DHCP服務器,構(gòu)造的DHCP OFFER包,可將此值修改為需要的值。當上網(wǎng)機接收到構(gòu)造的DHCP OFFER包,會以此作為局域網(wǎng)內(nèi)的DHCP服務器的IP地址,對其他的DHCP服務器的DHCP OFFER包將忽略,從而達到阻斷的目的。對于DHCP NACK包的構(gòu)造,除了上述的設置之外,須把code 53message type的數(shù)值設置為6,表示DHCP NACK包。當上網(wǎng)機接收到構(gòu)造的DHCP NACK包,上網(wǎng)機會重新請求獲取IP地址,繼而可用上述方式實現(xiàn)阻斷。
本發(fā)明對交換機鏡像包的要求是必須為包含物理層的數(shù)據(jù)包。只有這樣的數(shù)據(jù) 包,才能夠獲取MAC地址,并偽造DHCP包。對于上網(wǎng)機兩種不同的處理過程可放在同一臺旁路服務器上,也可以分成兩臺分別處理相應請求。
權(quán)利要求
1.一種基于DHCP旁路阻斷方法,其步驟包括 1)在需要監(jiān)控的DHCP網(wǎng)段中設置具有鏡像接口的交換機,得到該DHCP網(wǎng)段中所有上網(wǎng)機的數(shù)據(jù)包; 2)對所述數(shù)據(jù)包進行處理得到上網(wǎng)機的MAC地址并與用戶自定義的安全機上網(wǎng)名單進行對比,找出不安全上網(wǎng)機; 3)當所述不安全上網(wǎng)機發(fā)包進行接入網(wǎng)絡請求時,根據(jù)所述入網(wǎng)請求方式處理發(fā)包,偽造DHCPACK包或者DHCPOFFER包,對所述不安全上網(wǎng)機進行阻斷。
2.權(quán)利要求I所述的基于DHCP旁路阻斷方法,其特征在于,所述入網(wǎng)請求方式為采用動態(tài)獲取網(wǎng)絡配置信息時,阻斷方法如下 2-1)不安全上網(wǎng)機發(fā)送DISCOVER數(shù)據(jù)包,查找網(wǎng)段中DHCP服務器; 2-2)旁路服務器在所述DHCP服務器發(fā)送OFFER前,向該不安全上網(wǎng)機發(fā)送偽造DHCPOFFER 包; 2-3)所述不安全上網(wǎng)機向旁路服務器發(fā)送request包請求網(wǎng)絡配置,所述旁路服務器截獲request包之后,根據(jù)截獲的request包信息偽造DHCP ACK包,同時分配一個已經(jīng)存在的IP地址給該不安全上網(wǎng)機; 2-4)所述不安全上網(wǎng)機在接受到偽造DHCP ACK包后,驗證分配IP地址是否存在; 2-5)所述上網(wǎng)機無法獲取到正確的IP地址,旁路實現(xiàn)阻斷。
3.如權(quán)利要求I所述的基于DHCP旁路阻斷方法,其特征在于,所述入網(wǎng)請求方式為手動配置網(wǎng)絡信息時,阻斷方法如下 3-1)不安全上網(wǎng)機發(fā)送inform包,查找網(wǎng)段中DHCP服務器; 3-2)旁路服務器在所述DHCP服務器發(fā)送inform前,向該不安全上網(wǎng)機發(fā)送偽造DHCPinform 包; 3-3)所述不安全上網(wǎng)機接收到該偽造DHCP inform包向旁路服務器發(fā)送request包請求網(wǎng)絡配置,所述旁路服務器截獲request包之后,根據(jù)截獲的request包信息偽造DHCPNACK 包, 3-4)所述不安全上網(wǎng)機接受到偽造DHCP NACK包后,重新請求IP地址; 3-5)所述上網(wǎng)機無法獲取到正確的IP地址,旁路實現(xiàn)阻斷。
4.如權(quán)利要求I所述的基于DHCP旁路阻斷方法,其特征在于,所述具有鏡像接口的交換機中提取的交換機鏡像包需滿足包含物理層的數(shù)據(jù)包。
5.如權(quán)利要求2或3所述的基于DHCP旁路阻斷方法,其特征在于,對于所述上網(wǎng)機兩種不同的處理過程可放在同一臺旁路服務器單獨處理,或分為兩臺旁路服務器分別處理。
6.如權(quán)利要求2所述的基于DHCP旁路阻斷方法,其特征在于,所述不安全上網(wǎng)機接收偽造DHCP inform包后,該不安全上網(wǎng)機接受第一個到達OFFER包和匹配XID值,丟棄其他發(fā)包,直到接受到偽造DHCP ACK包。
7.如權(quán)利要求3所述的基于DHCP旁路阻斷方法,其特征在于,所述步驟2-5)對于不同的上網(wǎng)機采用不同的處理方式無法上網(wǎng),需要再次手動配置網(wǎng)絡;或者重新開始DHCP請求過程請求正確的IP地址,所述旁路服務器可采取動態(tài)獲取網(wǎng)絡配置信息實現(xiàn)對不安全上網(wǎng)機阻斷。
8.如權(quán)利要求2或3所述的基于DHCP旁路阻斷方法,其特征在于,所述不安全上網(wǎng)機采用UDP協(xié)議廣播形式發(fā)包。
9.如權(quán)利要求2所述的基于DHCP旁路阻斷方法,其特征在于,旁路服務器偽造DHCP服務器兩種類型的數(shù)據(jù)包=ACK包和NACK包;所述ACK包的作用為告知所述不安全上網(wǎng)機設置的IP地址及網(wǎng)絡配置可以使用,所述NACK包的作用為告知所述不安全上網(wǎng)機設置的IP地址及網(wǎng)絡配置不可用,需要重新申請。
10.如權(quán)利要求I所述的基于DHCP旁路阻斷方法,其特征在于,在需要監(jiān)控的DHCP網(wǎng)段中設置一或多個具有鏡像接口的交換機,至少包括一個以上旁路服務器。
全文摘要
本發(fā)明涉及一種DHCP旁路阻斷方法,其步驟包括1)在需要監(jiān)控的DHCP網(wǎng)段中設置具有鏡像接口的交換機,得到該DHCP網(wǎng)段中所有上網(wǎng)機的數(shù)據(jù)包;2)對數(shù)據(jù)包進行處理得到上網(wǎng)機的MAC地址并與用戶自定義的安全機上網(wǎng)名單進行對比,找出不安全上網(wǎng)機;3)當不安全上網(wǎng)機發(fā)包進行接入網(wǎng)絡請求時,根據(jù)所述入網(wǎng)請求方式處理發(fā)包,偽造DHCPACK包或者DHCPOFFER包,對不安全上網(wǎng)機進行阻斷;4)循環(huán)進行步驟2)-3),對DHCP網(wǎng)段中的上網(wǎng)機進行連續(xù)阻斷。在本發(fā)明中,采取底層協(xié)議的特性實施阻斷,可移植性好,并且相對于基于應用協(xié)議的阻斷方式而言,維護成本低、實時性好,可在任何網(wǎng)絡環(huán)境下使用,不需改變原有的網(wǎng)絡結(jié)構(gòu)。保密性強,在上網(wǎng)機無法察覺的情況下,實施有效阻斷。
文檔編號H04L29/06GK102904902SQ20121042737
公開日2013年1月30日 申請日期2012年10月31日 優(yōu)先權(quán)日2012年10月31日
發(fā)明者曹爽 申請人:北京銳安科技有限公司