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

圖2 DAD攻擊示意圖


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