在IPv6" title="IPv6">IPv6網(wǎng)絡(luò)中,由于使用ND協(xié)議" title="ND協(xié)議">ND協(xié)議代替了IPv4中的ARP協(xié)議" title="ARP協(xié)議">ARP協(xié)議,,以及對用戶的身份認(rèn)證方面需要針對用戶的IPv6地址進(jìn)行處理,,所以在IPv6的接入層安全技術(shù)相比在IPv4網(wǎng)絡(luò)中,必須進(jìn)行更新,使之能夠滿足在IPv6網(wǎng)絡(luò)中使用的要求,。并且,,IPv6的接入層安全技術(shù)應(yīng)能夠與IPv4的接入層安全技術(shù)共存,滿足在IPv6/IPv4雙棧網(wǎng)絡(luò)中的要求,。
在園區(qū)網(wǎng)部署中,,接入層的安全防護(hù)問題是一項(xiàng)很重要的部署考慮,在該問題上,,主要考慮協(xié)議安全及用戶身份安全兩個(gè)部分,。
協(xié)議安全:使用IPv4的園區(qū)網(wǎng)進(jìn)行部署的時(shí)候,必須考慮ARP攻擊的問題,,防止網(wǎng)絡(luò)中出現(xiàn)ARP欺騙及ARP泛洪帶來的網(wǎng)絡(luò)性能及可靠性問題,。在部署IPv6后,要考慮使用ND協(xié)議帶來的接入層安全風(fēng)險(xiǎn),。
用戶身份安全:采用802.1X認(rèn)證,,確保接入網(wǎng)絡(luò)的用戶身份的可靠性,在部署了IPv6的網(wǎng)絡(luò)中,,為了確認(rèn)接入用戶的身份信息,,同樣需要進(jìn)行用戶身份認(rèn)證。同時(shí),,為了后續(xù)對用戶的接入信息進(jìn)行綁定或?qū)徲?jì)等操作,,認(rèn)證客戶端需要收集能夠標(biāo)識用戶身份的信息,包括用戶的登錄名,,IP地址等內(nèi)容,,上傳到認(rèn)證服務(wù)器。
一,、ND協(xié)議安全
在IPv4網(wǎng)絡(luò)中,,針對ARP攻擊問題,大部分的網(wǎng)絡(luò)設(shè)備廠商都推出了各自的ARP防攻擊解決方案,,在很大程度上解決了ARP攻擊的問題,。伴隨著IPv6網(wǎng)絡(luò)的建設(shè),在IPv6協(xié)議族中的NDP協(xié)議越來越被重視,,而在ND協(xié)議的設(shè)計(jì)與ARP協(xié)議一樣并未提供認(rèn)證機(jī)制,,導(dǎo)致網(wǎng)絡(luò)中的主機(jī)是不可信的,從而使得針對ND協(xié)議的攻擊非常容易,。
1. ND協(xié)議的功能介紹
ND協(xié)議,,全稱為鄰居發(fā)現(xiàn)協(xié)議(Neighbor Discovery Protocol),是IPv6的關(guān)鍵協(xié)議之一,,可以說,,ND協(xié)議是IPv4某些協(xié)議在IPv6中綜合起來的升級和改進(jìn),如ARP、ICMP路由器發(fā)現(xiàn)和ICMP重定向等協(xié)議,。當(dāng)然,,作為IPv6的基礎(chǔ)性協(xié)議,ND還提供了其他功能,,如前綴發(fā)現(xiàn),、鄰居不可達(dá)檢測、重復(fù)地址檢測,、地址自動(dòng)配置等,。
1) ND協(xié)議的主要報(bào)文類型ND協(xié)議定義的報(bào)文使用ICMP承載,,其類型包括:路由器請求報(bào)文,、路由器通告報(bào)文、鄰居請求報(bào)文,、鄰居通告報(bào)文和重定向報(bào)文,。在本文中,我們主要關(guān)注ND協(xié)議發(fā)生攻擊的情況,,對ND的報(bào)文種類只做簡要描述:
●路由器請求(RS):主機(jī)啟動(dòng)后,,通過RS消息向路由器發(fā)出請求,期望路由器立即發(fā)送RA消息響應(yīng),。從而獲取網(wǎng)絡(luò)中的配置信息,,包括網(wǎng)關(guān)地址,網(wǎng)絡(luò)前綴,,鏈路MTU等信息,。
● 路由器通告(RA):RA報(bào)文用于對RS報(bào)文進(jìn)行回應(yīng)。網(wǎng)關(guān)也可以通過周期性的在鏈路范圍內(nèi)組播RA報(bào)文,,是同一鏈路范圍內(nèi)的主機(jī)獲取相同的網(wǎng)絡(luò)配置信息,。這些配置信息包括:主機(jī)的地址獲取方式;網(wǎng)絡(luò)中的前綴信息,;網(wǎng)絡(luò)中的PMTU信息,;網(wǎng)絡(luò)中的網(wǎng)關(guān)信息等。
●鄰居請求報(bào)文(NS):NS消息與NA消息配合實(shí)現(xiàn)鄰居的鏈路層地址獲取,、檢查鄰居是否可達(dá),、重復(fù)地址檢測等功能。
●鄰居通告報(bào)文(NA):NA報(bào)文是主機(jī)對NS的響應(yīng)報(bào)文,,同時(shí)主機(jī)在鏈路層地址變化時(shí)也可以主動(dòng)發(fā)送NA消息,,以通知相鄰節(jié)點(diǎn)自己的鏈路層地址或者角色發(fā)生改變。
2) ND協(xié)議主要功能介紹ND協(xié)議中,,主要新增加了RA,RS兩種報(bào)文,,這兩種報(bào)文的增加,使得在主機(jī)側(cè)能夠通過接收RA報(bào)文,獲取網(wǎng)絡(luò)中的配置參數(shù),,更加方便的進(jìn)行網(wǎng)絡(luò)的部署和管理,。在地址解析,重復(fù)地址檢查等功能上,,ND協(xié)議與ARP協(xié)議沒有過多的區(qū)別,。
●路由器發(fā)現(xiàn)
路由器發(fā)現(xiàn)是指主機(jī)怎樣定位本地鏈路上路由器和確定其配置信息的過程,主要包含查詢?nèi)笔【W(wǎng)關(guān),、前綴發(fā)現(xiàn)及參數(shù)發(fā)現(xiàn)三方面的內(nèi)容,。
●地址解析
地址解析是指某節(jié)點(diǎn)在知道目的節(jié)點(diǎn)IP地址的情況下,確定目的鏈路層地址的過程,。
當(dāng)一個(gè)節(jié)點(diǎn)需要得到同一本地鏈路上另外一個(gè)節(jié)點(diǎn)的鏈路層地址時(shí),,需要進(jìn)行地址解析,該機(jī)制類似于IPv4中的ARP,。 ND協(xié)議用NS和NA報(bào)文完成IPv6地址到鏈路層地址的解析,,解析后的鏈路層地址和IP地址等信息用來建立節(jié)點(diǎn)的一個(gè)鄰居緩存表項(xiàng)。
●鄰居不可達(dá)檢測
鄰居不可達(dá)檢測是節(jié)點(diǎn)如何確定鄰居不可達(dá)狀態(tài)的過程,。
ND協(xié)議用NS和NA報(bào)文來驗(yàn)證鄰居節(jié)點(diǎn)的可達(dá)性,。節(jié)點(diǎn)在確定鄰居的鏈路層地址后,跟蹤?quán)従泳彺姹淼臓顟B(tài),,定時(shí)發(fā)送NS報(bào)文,,如果鄰居在規(guī)定的可達(dá)時(shí)間內(nèi)(缺省值為30秒)不能接收或者發(fā)送返回的報(bào)文,則刪除此鄰居緩存表項(xiàng),。
鄰居的可達(dá)性并不能說明端到端的可達(dá)性,。因?yàn)橄噜徆?jié)點(diǎn)可能是主機(jī)或者路由器,所以相鄰節(jié)點(diǎn)并不一定就是數(shù)據(jù)包的最終目標(biāo),。NUD檢測僅僅驗(yàn)證了到目標(biāo)路徑上第一跳的可達(dá)性狀態(tài),。
●重復(fù)地址檢測
重復(fù)地址檢測是節(jié)點(diǎn)確定即將使用的地址是否被另一節(jié)點(diǎn)使用的過程。
在節(jié)點(diǎn)自動(dòng)配置某個(gè)接口的IPv6單播地址之前,,必須在本地鏈路范圍內(nèi)驗(yàn)證要使用的臨時(shí)地址是唯一的,,并且未被其他節(jié)點(diǎn)使用過。
只要NS報(bào)文發(fā)送到本地鏈路上(缺省發(fā)送一次NS報(bào)文),,如果在規(guī)定時(shí)間內(nèi)沒有NA報(bào)文進(jìn)行應(yīng)答,,則認(rèn)為這個(gè)臨時(shí)單播地址在本地鏈路上是唯一的,可以分配給接口,;反之,,這個(gè)臨時(shí)地址是重復(fù)的,不能使用此地址,。
2. ND常見攻擊介紹
由于ND協(xié)議擴(kuò)展了ARP協(xié)議的功能,,而沒有對其進(jìn)行安全性的擴(kuò)展,,所以在IPv6的網(wǎng)絡(luò)中,ND協(xié)議仍然面臨原有ARP協(xié)議的風(fēng)險(xiǎn),,同時(shí),,在ND協(xié)議中新增的RA,RS報(bào)文,雖然簡化了網(wǎng)絡(luò)管理的工作,,但引入了新的風(fēng)險(xiǎn),。
在IPv6的接入層ND防攻擊中,除了要關(guān)注同ARP共有的地址欺騙攻擊及DAD攻擊外,,特別需要關(guān)注針對RA的攻擊,。
1) 地址欺騙攻擊地址欺騙攻擊與IPv4中ARP攻擊的方式類似,攻擊者可以使用RS/NS/NA報(bào)文來修改受害主機(jī)或網(wǎng)關(guān)上受害主機(jī)的MAC地址,,造成受害主機(jī)無法與網(wǎng)絡(luò)進(jìn)行正常的通信
圖1 RS/NS/NA仿冒攻擊示意圖
如圖1所示,,攻擊者能夠偽造NS/NA報(bào)文,發(fā)送給網(wǎng)關(guān)或受害主機(jī),,通過這種方式來對網(wǎng)關(guān)上受害主機(jī)的MAC地址或受害主機(jī)上的特定的MAC地址進(jìn)行修改,,造成了受害用戶無法接收到正常的數(shù)據(jù)報(bào)文。
另外,,攻擊者B能夠利用虛假的NA/RS/NS報(bào)文,對正常用戶及網(wǎng)關(guān)中的ND緩存進(jìn)行改寫,,造成正常用戶之間無法互訪及網(wǎng)關(guān)無法向正確的用戶專發(fā)報(bào)文等一系列的網(wǎng)絡(luò)故障,。

圖2 DAD攻擊示意圖


Detection從前文的描述,我們知道,,在局域網(wǎng)中ARP或ND攻擊的根本原因是無法對所交互的ARP或ND報(bào)文進(jìn)行驗(yàn)證,,從而無法得知正確的用戶IP、MAC,、端口的綁定信息,,所以無法對異常的ND報(bào)文進(jìn)行過濾,,使得網(wǎng)絡(luò)中可能發(fā)生ARP/ND攻擊。
Detection技術(shù)結(jié)合綁定表項(xiàng)對ND報(bào)文進(jìn)行過濾,能夠更好的防御ND攻擊,。
2) RA Trust與DHCP TrustRA Trust與DHCP
Trust的功能不同,,但是思路是相同的,管理員可以在相應(yīng)的連接DHCP服務(wù)器或網(wǎng)關(guān)的接口上進(jìn)行配置,,通過手工指定連接DHCP服務(wù)器與連接發(fā)送RA的設(shè)備的接口(通常是網(wǎng)關(guān)),,能夠避免網(wǎng)絡(luò)中DHCP報(bào)文與RA報(bào)文的任意發(fā)送。當(dāng)進(jìn)行了RA
Trust與DHCP Trust后,,DHCP的服務(wù)器端報(bào)文與RA報(bào)文只能從配置了TRUST的端口進(jìn)入,,避免了DHCP服務(wù)器欺騙與RA攻擊,提升了局域網(wǎng)安全性,。
snooping表項(xiàng)達(dá)到允許學(xué)習(xí)的最大數(shù)目后,,將不允許新增動(dòng)態(tài)學(xué)習(xí)表項(xiàng),以保證當(dāng)一個(gè)接口所接入的某一臺主機(jī)發(fā)起ND攻擊時(shí)不會導(dǎo)致整個(gè)設(shè)備的ND
Snooping表資源都被耗盡,。
Detection技術(shù),,對非法報(bào)文進(jìn)行過濾,,提高了用戶側(cè)ND報(bào)文的可信性及安全性,防止網(wǎng)絡(luò)出現(xiàn)地址欺騙及DAD造成的攻擊,。配合DHCP Trust與RA
Trust功能,,禁止非法的DHCP報(bào)文與RA報(bào)文發(fā)送,防止了針對RA的攻擊,。通過限制ND
snooping表項(xiàng)的學(xué)習(xí)數(shù)量,,避免的對設(shè)備的DoS攻擊。通過提供了一套完整的ND防攻擊解決方案,,提高了用戶接入層的ND安全水平,。
圖5 客戶端IP地址上傳