沈 昀
(中國電信股份有限公司無錫分公司,無錫 214000)
校園網(wǎng)是指在校園范圍內(nèi),將計算機等終端以共享資源的方式連接起來,同時具備教學(xué)和信息服務(wù)等功能的通信系統(tǒng)的集合。校園網(wǎng)具有終端數(shù)量大,流動性高,終端上線峰值集中等特點。隨著校園網(wǎng)的持續(xù)發(fā)展和學(xué)生攜帶終端種類的增加,目前校園網(wǎng)使用的IPv4協(xié)議,在地址數(shù)量,安全性,可管理性,移動性,健壯性上暴露出一定的缺陷。而下一代互聯(lián)網(wǎng)所使用的IPv6協(xié)議,能夠提供巨大的地址空間,豐富的安全機制,更高的轉(zhuǎn)發(fā)速率。二者結(jié)合,IPv6給校園網(wǎng)用戶提供了高速便捷網(wǎng)絡(luò)體驗的同時,也引入了新的安全隱患。
按攻擊對象和攻擊類型,IPv6校園網(wǎng)網(wǎng)絡(luò)安全威脅一般可分為三大類,五小類:
(1)針對網(wǎng)絡(luò)基礎(chǔ)設(shè)施(即校園網(wǎng)路由器,交換機)的攻擊。NDP(Neighbor Discovery Protocol,鄰居發(fā)現(xiàn)協(xié)議)表項耗盡:IPv6使用NDP協(xié)議替代原先ARP(Address Resolution Protocol,地址解析協(xié)議),完成鏈路層地址和網(wǎng)絡(luò)層地址映射功能,路由器為每一個IPv6終端保存NDP表項,每個表項包含終端的mac地址,IPv6地址,路由器接口,以及生存時間等信息。表項生成一般由終端的NS/NA報文觸發(fā)。由于單個用戶的IPv6地址掩碼一般為/64,其所對應(yīng)的表項需占用147573952T存儲空間(假設(shè)每個表項8Byte)。攻擊節(jié)點通過發(fā)送偽造的NS/NA報文給路由器,使得路由器被動生成并保存海量NDP表項,當(dāng)占用的存儲空間到達上限后,新終端將無法正常接入。攻擊節(jié)點甚至可僅憑本地鏈路地址機制發(fā)起攻擊,不需要網(wǎng)絡(luò)管理員分配全局單播地址。
(2)針對校園網(wǎng)其他終端節(jié)點的攻擊。DAD(Duplicate Address Detection,地址沖突檢測)欺騙:IPv6動態(tài)地址分配過程中,增加了地址的DAD檢測,該地址才能正常使用。攻擊節(jié)點監(jiān)聽并發(fā)送偽造的鄰居響應(yīng),報文中包含正常節(jié)點的待檢測地址,導(dǎo)致DAD檢測失敗,迫使正常節(jié)點重新發(fā)起地址申請。攻擊節(jié)點借此阻止終端連入網(wǎng)絡(luò)并消耗網(wǎng)絡(luò)處理資源。
路由器欺騙:攻擊節(jié)點發(fā)送偽造的路由器通告。正常節(jié)點接收到這條通告,刷新自己的鄰居表項,并根據(jù)被欺騙的表項,將報文發(fā)送給偽裝路由器,攻擊節(jié)點借此達成中間人攻擊。
(3)針對Internet節(jié)點的攻擊。DoS(Deny of Service,拒絕服務(wù))攻擊:在傳統(tǒng)的IPv4網(wǎng)絡(luò)下,單一節(jié)點往往只有十幾個可用的公網(wǎng)IP,發(fā)起拒絕服務(wù)攻擊需要攻擊者偽造源IP地址或者控制分布不同地點的大量傀儡機。其中源IP地址偽造可以被路由器的URPF(Unicast Reverse Path Forwarding,單播反向路徑轉(zhuǎn)發(fā))功能檢出并封堵。在IPv6環(huán)境下,情況發(fā)生了變化。原先需要上百萬個IPv4公網(wǎng)終端發(fā)起的DOS攻擊,現(xiàn)在只需要一個IPv6接入點就有足夠的全局單播地址的可以實現(xiàn)。一旦發(fā)起攻擊,部分防火墻,DPI設(shè)備,甚至沒有足夠空間存儲5元組連接,以及告警信息。攻擊時,由于沒有偽造源IP地址,路由器URPF檢測封堵功能也會失效。
圖1 IPv6校園網(wǎng)攻擊類型
目前,國際上主要通過SEND(Secure Neighbor Discovery,安全鄰居發(fā)現(xiàn))協(xié)議來解決IPv6接入層的安全性問題。SEND協(xié)議通過在NDP協(xié)議報文中增加安全選項,來解決報文重傳,報文可信等問題。但SEND協(xié)議在校園網(wǎng)的部署也存在很大困難:
(1)大部分操作系統(tǒng)和網(wǎng)絡(luò)設(shè)備目前不支持SEND協(xié)議。實際部署中,網(wǎng)絡(luò)管理者往往面臨一個混雜網(wǎng)絡(luò)。
(2)SEND在加密解密時消耗大量計算資源,這對網(wǎng)絡(luò),終端硬件提出了很高的要求。
(3)部分類型的攻擊,例如針對外網(wǎng)的DOS攻擊,SEND協(xié)議無法緩解。
SEND協(xié)議并不適合解決目前IPv6校園網(wǎng)面臨的安全威脅。IPv6校園網(wǎng)安全方案應(yīng)當(dāng)采用綜合技術(shù),在盡量不變更現(xiàn)有網(wǎng)絡(luò)硬件軟件的前提下,解決或者緩解網(wǎng)絡(luò)安全隱患。方案采用預(yù)防,限制,溯源,攔截的總體原則,分為2個模塊:
(1)網(wǎng)絡(luò)優(yōu)化:分析用戶規(guī)模,調(diào)整網(wǎng)絡(luò)參數(shù),優(yōu)化報文轉(zhuǎn)發(fā)。通過犧牲小部分網(wǎng)絡(luò)性能,達到預(yù)防,限制攻擊流量的目的。
(2)攻擊檢測,溯源和攔截:DPI服務(wù)器負責(zé)攻擊模式和攻擊源的檢測,并將攻擊源信息發(fā)送給校園網(wǎng)控制器controller,也可由網(wǎng)絡(luò)設(shè)備通過snmp,被動采集方式上報異常信息。網(wǎng)絡(luò)控制器負責(zé)網(wǎng)絡(luò)設(shè)備的表項的收集,存儲,攻擊源端口的查找和封堵攔截。
2.1.1 核心路由器
開啟NDP鄰居反向查找轉(zhuǎn)發(fā):對于靜態(tài)用戶,如果設(shè)備支持,可開啟NDP鄰居反向查找轉(zhuǎn)發(fā)功能,路由器轉(zhuǎn)發(fā)報文時,會首先查找NDP鄰居表項,表項不存在則丟棄報文。
限制NDP鄰居表項學(xué)習(xí)總數(shù):對于靜態(tài)用戶,建議每個用戶分配不同的接入vlan,并在相應(yīng)的三層接口限制NDP鄰居表項學(xué)習(xí)總數(shù)。
使用DHCPv6方式分配動態(tài)地址:對于動態(tài)用戶,建議采用DHCPv6方式分配地址,路由器轉(zhuǎn)發(fā)時能夠根據(jù)保存的五元組表項轉(zhuǎn)發(fā)報文,丟棄偽造報文。
2.1.2 匯聚/接入交換機
開啟NDP snooping并指定靜態(tài)router端口:針對路由器欺騙,開啟并指定靜態(tài)router端口后,其他端口收到的偽造RS,RA報文均被丟棄。
二層隔離:有兩種實現(xiàn)方式,端口隔離和vlan內(nèi)隔離。開啟該功能后,攻擊節(jié)點和正常節(jié)點在二層互相隔離,針對NDP協(xié)議的二層攻擊報文不能到達其他正常終端。
規(guī)劃并限制端口mac數(shù)量:NDP表項攻擊中,攻擊者的每一個報文都要變更頭部的源mac地址。通過限制單個端口學(xué)習(xí)到的mac地址數(shù)量,配合mac地址老化時間,可限制此類攻擊報文的發(fā)送速率。
2.2.1 攻擊檢測
方法一:采用第三方DPI檢測設(shè)備(綠盟,Hillstone等)。服務(wù)器旁掛校園網(wǎng)核心路由器。流量通過鏡像方式到服務(wù)器端口。該方案檢測能力強,但是費用較高。
方法二:依靠網(wǎng)絡(luò)設(shè)備自身檢測能力,通過SNMP或者syslog方式發(fā)送日志給網(wǎng)絡(luò)控制器。日志分析由網(wǎng)絡(luò)控制器完成。日志也可以由控制器登錄網(wǎng)絡(luò)設(shè)備采集。該方案檢測能力弱,但是費用較低。
2.2.2 攻擊溯源和攔截
第一步:網(wǎng)絡(luò)控制器以5分鐘(mac地址老化時間)為周期,登錄設(shè)備采集二層協(xié)議和三層協(xié)議表項。控制器可基于Python實現(xiàn),(雙核3G,6G內(nèi)存,40線程)每輪可采集400臺設(shè)備,基本可覆蓋一中型校園網(wǎng)。
第二步:控制器根據(jù)DPI設(shè)備返回的攻擊者IP地址或者異常表項,查找匹配三層/二層信息,控制交換機關(guān)閉端口或者限制mac地址轉(zhuǎn)發(fā)。
圖2 攻擊溯源攔截方案示意圖
IPv6校園網(wǎng),既面臨傳統(tǒng)安全威脅(例如路由器鄰居欺騙),又面臨IPv6特有的安全威脅,例如NDP 鄰居表項耗盡攻擊和針對外網(wǎng)節(jié)點的Dos攻擊。本文從網(wǎng)絡(luò)優(yōu)化、攻擊溯源兩個方面出發(fā),按照預(yù)防、限制、溯源、攔截原則,給出了IPv6校園網(wǎng)安全防護方案,希望能給校園網(wǎng)運維人員帶去幫助。