薛 建 曲守寧
(濟(jì)南大學(xué)信息網(wǎng)絡(luò)中心,山東 濟(jì)南 250022)
DAI、IPSG與園區(qū)網(wǎng)IP地址管理
薛 建 曲守寧
(濟(jì)南大學(xué)信息網(wǎng)絡(luò)中心,山東 濟(jì)南 250022)
本文首先介紹了DHCP Snooping、DAI和IPSG的工作原理,然后闡述如何利用這些技術(shù)提高園區(qū)網(wǎng)IP地址管理的安全性和有效性。
DHCP Snooping;DAI;IPSG
隨著DHCP(動(dòng)態(tài)主機(jī)配置協(xié)議)在園區(qū)網(wǎng)中越來越廣泛的應(yīng)用,伴隨而來的IP地址安全性問題也越來越多:私自修改IP或MAC地址、私自架設(shè)或冒充DHCP服務(wù)器、DHCP耗竭攻擊等,還有園區(qū)網(wǎng)原來就固有的ARP欺騙攻擊、中間人攻擊等。這些問題有些是人為的,而有些是電腦中類似ARP木馬導(dǎo)致的。這些問題給園區(qū)網(wǎng)的DHCP動(dòng)態(tài)IP地址管理帶來了挑戰(zhàn)。
各網(wǎng)絡(luò)廠商都開發(fā)了許多技術(shù)來避免這些問題,其中最有效的當(dāng)屬DHCP snooping、DAI(Dynamic ARP Inspection)和IPSG(IP Source Guard)合理地組合使用這些技術(shù),將有效地遏制這些攻擊給園區(qū)網(wǎng)IP地址管理帶來的困擾。
ARP(Address Resolution Protocol)在以太網(wǎng)環(huán)境中,用于解析通訊雙方的MAC地址,即將IP“解析”到對應(yīng)的MAC地址。
ARP協(xié)議基于廣播,在設(shè)計(jì)上有許多漏洞:ARP響應(yīng)報(bào)文無需請求即可直接發(fā)送;沒有確認(rèn)機(jī)制,任何人都可以發(fā)起ARP請求或response,這都給攻擊者留下巨大漏洞。
2.1 ARP欺騙原理
圖1中PC1和PC2在一個(gè)VLAN,其網(wǎng)關(guān)為192.168.0.254,正常情況下通過show arp(路由器上)和arpa(PC上)命令顯示的各設(shè)備的ARP表項(xiàng)如圖1,各ARP表都提供了IP地址和MAC地址正確的對應(yīng)關(guān)系。
PC1要欺騙PC2(通常情況下PC1是被種ARP欺騙木馬),它在沒有收到ARP request的情況下,直接發(fā)出一個(gè)“192.168.0.254 is at 00dd.f800.0001”的ARP reply,PC2收到這個(gè)ARP消息后,將更新自己的ARP表項(xiàng),如圖2所示,它的ARP表里網(wǎng)關(guān)192.168.0.254的MAC地址已經(jīng)被改成PC1的 MAC地址,這樣PC2所有發(fā)往網(wǎng)關(guān)的流量都會(huì)發(fā)往了PC1;同樣,PC1會(huì)發(fā)出一個(gè)“192.168.0.2 is at 00dd.f800.0001”的ARP reply,網(wǎng)關(guān)收到后更新自己的ARP表,這樣網(wǎng)關(guān)所有本應(yīng)該發(fā)往PC2的流量就發(fā)往了PC1,這樣PC2和外部網(wǎng)絡(luò)的所有通訊就都會(huì)經(jīng)過PC1。
圖1 正常情況下的ARP表
這時(shí)如果PC1同時(shí)在本地運(yùn)行一個(gè)報(bào)文分析工具窺探PC2發(fā)過來的數(shù)據(jù),那么就可以在PC2不斷網(wǎng)的情況下,窺探PC2的上網(wǎng)流量,這就是the man in the middle,中間人攻擊。
典型的發(fā)生了ARP欺騙的局域網(wǎng),其三層交換機(jī)的ARP表會(huì)出現(xiàn)大量IP地址對應(yīng)一個(gè)MAC地址的現(xiàn)象,這個(gè)MAC地址就是發(fā)起arp欺騙的PC的MAC地址。
圖2 發(fā)生arp欺騙情況下的arp表
DHCP監(jiān)聽(DHCP Snooping)是一種DHCP安全特性,目前各大廠商的2層智能交換機(jī)普遍提供對DHCP Snooping的支持。通過啟用DHCP監(jiān)聽特性,交換機(jī)能夠過濾通過交換機(jī)的DHCP報(bào)文。
在開啟了DHCP監(jiān)聽功能的交換機(jī)上,可以將交換機(jī)的端口劃分為信任端口(trusted port)和非信任端口(untrusted port)。通常我們將DHCP服務(wù)器所在的端口(也可能是DHCP服務(wù)器所在在方向的trunk端口)設(shè)置為信任端口,而將其它的用戶端口都設(shè)置成非信任端口,如圖3所示:
圖3 DHCP Snooping的端口劃分
交換機(jī)限制用戶端口(非信任端口)只能夠發(fā)送DHCP請求,丟棄來自用戶端口的所有其它DHCP報(bào)文,例如DHCP Offer報(bào)文等。而且,并非所有來自用戶端口的DHCP請求都被允許通過,交換機(jī)還會(huì)比較DHCP請求報(bào)文的(報(bào)文頭里的)源MAC地址和(報(bào)文內(nèi)容里的)DHCP客戶機(jī)的硬件地址(即CHADDR字段),只有這兩者相同的請求報(bào)文才會(huì)被轉(zhuǎn)發(fā),否則將被丟棄,這樣就防止了DHCP耗竭攻擊。
信任端口可以接收所有的DHCP報(bào)文。通過只將交換機(jī)連接到合法DHCP服務(wù)器的端口設(shè)置為信任端口,其它端口設(shè)置為非信任端口,就可以防止用戶私自偽造DHCP服務(wù)器對網(wǎng)絡(luò)造成的影響。這個(gè)特性還可以防止路由器反接對網(wǎng)絡(luò)造成的影響。網(wǎng)絡(luò)接入層經(jīng)常會(huì)發(fā)生用戶將寬帶路由反接的情況,這時(shí)寬帶路由器上默認(rèn)啟動(dòng)的DHCP服務(wù)就會(huì)對同一個(gè)網(wǎng)段內(nèi)的其它用戶造成影響,而啟用了DHCP Snooping的交換機(jī)將阻止這臺(tái)路由器的DHCP Offer報(bào)文,從而避免對其它用戶造成影響。
DHCP監(jiān)聽特性還可以對端口的DHCP報(bào)文進(jìn)行限速。通過在每個(gè)非信任端口下進(jìn)行限速,這將可以阻止利用合法DHCP請求報(bào)文進(jìn)行的廣播攻擊。
DHCP監(jiān)聽還有一個(gè)非常重要的作用就是建立一張DHCP監(jiān)聽綁定表(DHCP Snooping Binding)。一旦一個(gè)連接在非信任端口的客戶端獲得一個(gè)合法的DHCP Offer,交換機(jī)就會(huì)自動(dòng)在DHCP監(jiān)聽綁定表里添加一個(gè)綁定條目,內(nèi)容包括了該非信任端口的客戶端IP地址、MAC地址、端口號、VLAN編號、租期等信息。對于靜態(tài)指定的服務(wù)器地址,可以手工添加靜態(tài)綁定。
這個(gè)綁定表將非常有用,下面提到的通過DAI來防止arp欺騙和利用IPSG防止IP及MAC地址盜用就是利用這個(gè)綁定表。
Dynamic ARP Inspection(DAI)DAI以DHCP Snooping綁定表為基礎(chǔ)。配置啟用了DAI的交換機(jī)在更新自己ARP表或?qū)⑹盏降腁RP報(bào)文轉(zhuǎn)發(fā)出去之前先進(jìn)行合法性校驗(yàn),主要看ARP報(bào)文中的IP及MAC對應(yīng)關(guān)系是否合法,對于那些不滿足IP和MAC地址對應(yīng)關(guān)系的ARP報(bào)文進(jìn)行丟棄,DAI同時(shí)也會(huì)丟棄那些以太網(wǎng)幀頭源MAC與ARP body里的MAC不一致的非法ARP。
根據(jù)前述的ARP欺騙的原理,我們看到無論何種類型的ARP欺騙,其ARP報(bào)文中的IP和其聲稱MAC地址肯定不一致,無法通過根據(jù)DHCP Snooping綁定表進(jìn)行的對應(yīng)關(guān)系合法性檢查,其報(bào)文將被丟棄,其從而阻止了ARP欺騙的發(fā)生,而中間人攻擊是依賴于ARP欺騙的,ARP欺騙無法實(shí)施,中間人攻擊就更無計(jì)可施了。
需要說明的是,和DHCP Snooping得到主流廠商的普遍支持不同,DAI是思科公司的私有技術(shù),其它廠家的交換設(shè)備會(huì)采用其它的方案來解決ARP欺騙的問題。通常配置了DAI的交換機(jī)在丟棄非法的ARP報(bào)文后將會(huì)進(jìn)行日志記錄。
圖4 DAI根據(jù)DHCP Snooping綁定表進(jìn)行ARP報(bào)文合法性檢查
ARP inspection只用來檢測ARP請求的,防止非法的ARP請求,對其它請求不進(jìn)行檢查,如果要檢查其它請求,需要使用下述的IP Source Guard。
IPSG(IP Source Guard)使用DHCP Snooping綁定表的信息,對端口、IP地址和MAC地址的一致性進(jìn)行校驗(yàn),如果三者不統(tǒng)一則丟棄這些數(shù)據(jù)包。簡而言之,IPSG就是把PORT-MAC-IP這三者綁定起來,通過IPSG可以過濾非法IP地址、解決IP地址沖突的問題,還能確保非授權(quán)設(shè)備不能通過自己指定IP地址的方式來訪問網(wǎng)絡(luò)或攻擊網(wǎng)絡(luò)導(dǎo)致。
配置了IPSG的交換機(jī)內(nèi)部有一個(gè)IP源綁定表(IP Source Binding Table)作為每個(gè)端口接收到的數(shù)據(jù)包的檢測標(biāo)準(zhǔn),IP源綁定表會(huì)將PORT-MAC-IP三者綁定起來。只有在兩種情況下,交換機(jī)會(huì)轉(zhuǎn)發(fā)數(shù)據(jù):
(1)所接收到的IP包滿足IP源綁定表中Port/IP/MAC的對應(yīng)關(guān)系;
(2)所接收到的是DHCP數(shù)據(jù)包,其余數(shù)據(jù)包將被交換機(jī)做丟棄處理。
IP源綁定表(IP Source Binding Table)的生成依據(jù)是DHCP Snooping綁定表。配置了IPSG的交換機(jī)根據(jù)DHCP監(jiān)聽綁定表的內(nèi)容自動(dòng)生成IP源綁定表,然后根據(jù)IP源綁定表里面的內(nèi)容自動(dòng)在接口加載基于端口的VLAN ACL(PVACL),由該ACL(可以稱之為源IP地址過濾器)來過濾所有IP流量??蛻舳税l(fā)送的IP數(shù)據(jù)包中,只有其源IP地址和源MAC滿足源IP綁定表才會(huì)被發(fā)送,對于具有源IP綁定表之外的其它源IP地址的流量,都將被過濾,從而杜絕了IP地址盜用和私自修改MAC地址。
PC沒有發(fā)送DHCP請求時(shí),其連接的交換機(jī)端口默認(rèn)拒絕除了DHCP請求之外的所有數(shù)據(jù)包,因此PC使用靜態(tài)IP是無法連接網(wǎng)絡(luò)的,從而也杜絕了DHCP環(huán)境中用戶擅自設(shè)置靜態(tài)IP地址的問題。
以DHCP Snooping為基礎(chǔ),通過在匯聚和接入交換機(jī)上配置DAI和IPSG,將基本上可以杜絕IP地址盜用、私自架設(shè)DHCP服務(wù)器、ARP欺騙和中間人攻擊的產(chǎn)生,從而避免其對網(wǎng)絡(luò)穩(wěn)定性和網(wǎng)絡(luò)安全造成的影響。
當(dāng)然上述方案也有局限性:所有配置都要在為數(shù)眾多的匯聚層和接入層設(shè)備上實(shí)現(xiàn),配置要有一定的工作量;且像DAI這樣的技術(shù)還要依賴特定廠家的設(shè)備等。我們已經(jīng)看到許多高校校園網(wǎng)在將電信級解決方案比如PPPOE、網(wǎng)絡(luò)扁平化等技術(shù)應(yīng)用于校園網(wǎng)方面做出的嘗試和成功案例,我們也期待這些新的解決方案能給園區(qū)網(wǎng)IP地址管理的安全性、有效性帶來新的提升。
[1]華為公司中文站點(diǎn)[EB/OL].http://www.huawei.com/cn/.
[2]史罕初,彭毓?jié)贗P DHCP Snooping的大型局域物安全策略研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2009,(11):20-22..
[3]思科公司英文站點(diǎn)[EB/OL].http://www.cisco.com.
TheApplication of DAI and IPSG in LAN IPAddress Management
Xue Jian Qu Shouning
(Information Network Center of Jinan University,Jinan 250022,Shandong)
act】This paper introduces the principles of DHCP Snooping、DAI and IPSG first,then explains how to improve the safety and effectiveness of IP address management with these technologies.
DHCP Snooping;DAI;IPSG
TP393.18
:A
:1008-6609(2015)03-0071-03
薛建,男,山東蒙陰人,工程師,本科,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)