劉珍億 蘇崢嶸
摘? ?要:文章介紹了企業(yè)網(wǎng)接入層交換機(jī)所面臨的安全威脅,分析了常見防范技術(shù)的原理,并對不同的應(yīng)用環(huán)境給出了兩種解決方案,并對這些方案進(jìn)行了優(yōu)劣比較。
關(guān)鍵詞:MAC地址;ARP協(xié)議;DHCP協(xié)議;端口安全
企業(yè)網(wǎng)絡(luò)的接入層交換機(jī)工作在數(shù)據(jù)鏈路層,它連接的是終端用戶,基于介質(zhì)訪問控制(Media Access Control,MAC)地址表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。由于傳統(tǒng)局域網(wǎng)協(xié)議的設(shè)計得不夠嚴(yán)謹(jǐn),對數(shù)據(jù)報文來源的合法性缺乏足夠的安全檢查機(jī)制,導(dǎo)致局域網(wǎng)中經(jīng)常出現(xiàn)拒絕服務(wù)、動態(tài)主機(jī)設(shè)置協(xié)議(Dynamic Host Configuration Protocol,DHCP)服務(wù)器仿冒、ARP欺騙等安全威脅。解決企業(yè)網(wǎng)接入層安全問題,可以將網(wǎng)絡(luò)安全造成的損失大大降低,意義十分重大。
1? ? 接入交換機(jī)常見安全威脅
1.1? MAC地址泛洪攻擊
MAC地址,也叫物理地址,是全球唯一的48 bit的標(biāo)識地址。在網(wǎng)絡(luò)底層的比特流傳輸過程,是通過該地址來識別網(wǎng)絡(luò)設(shè)備的。交換機(jī)在緩存中維護(hù)著一張計算機(jī)輔助制造(Computer Aided Manufacturing,CAM)表,它衍生自MAC地址表,它是交換機(jī)在做基于硬件的快速轉(zhuǎn)發(fā)時要查找的一張二層轉(zhuǎn)發(fā)表,表中記錄了MAC地址與端口、VLAN的映射關(guān)系,表項(xiàng)內(nèi)容自動老化。交換機(jī)的端口能夠自動學(xué)習(xí)MAC地址,每收到一個幀時,都會檢查該幀中的源MAC,并從CAM表查找對應(yīng)條目,如果找到則直接轉(zhuǎn)發(fā),否則就將該MAC地址和端口的對應(yīng)關(guān)系存入CAM表,以便當(dāng)下一次往該MAC地址發(fā)送數(shù)據(jù)時,可以確定向哪個端口轉(zhuǎn)發(fā)數(shù)據(jù)[1]。
交換機(jī)CAM表的容量是有限的,它能存儲的行數(shù)取決于交換機(jī)的內(nèi)存大小。如果攻擊者發(fā)送大量偽造數(shù)據(jù)包,且源MAC不斷改變,交換機(jī)的CAM表將很快被填滿,再也無法接受新的條目,導(dǎo)致合法用戶的數(shù)據(jù)流到達(dá)交換機(jī)時被擠出去,交換機(jī)的轉(zhuǎn)發(fā)效率極其低下,影響到網(wǎng)絡(luò)整體性能,攻擊者還可以竊取合法用戶的數(shù)據(jù)流量。
1.2? DHCP服務(wù)器攻擊
DHCP服務(wù)器提供IP地址租用服務(wù),當(dāng)內(nèi)網(wǎng)的PC設(shè)置為自動獲取IP地址時,就會在開機(jī)后發(fā)送DHCP Request廣播請求租用地址。DHCP服務(wù)器會分配一個可用IP給該計算機(jī),請求IP地址的客戶端計算機(jī)會得到一個IP地址,同時也獲取到默認(rèn)網(wǎng)關(guān)、DNS服務(wù)器地址等信息[2]。
最初的網(wǎng)絡(luò)設(shè)計者主要考慮的是保證網(wǎng)絡(luò)的連通性,而對網(wǎng)絡(luò)的安全性考慮得不夠周全。如果企業(yè)網(wǎng)內(nèi)部有多臺提供IP分配服務(wù)的Server,將會給網(wǎng)絡(luò)管理帶來麻煩。攻擊者可以大量偽造DHCP Request請求包,耗盡合法DHCP Server的IP地址池。當(dāng)有PC請求IP的時候,合法的DHCP服務(wù)器就無法為其分配地址,這就是DHCP服務(wù)器DoS攻擊。
攻擊者還可以非法搭建一個DHCP服務(wù)器供內(nèi)網(wǎng)PC租用IP,并人為配置一個惡意的DNS地址。這時,用戶可能獲取到一個錯誤的IP地址導(dǎo)致不能上網(wǎng),或者能上網(wǎng)但卻被惡意的DNS地址引導(dǎo)到仿冒的網(wǎng)站。這就是DHCP服務(wù)器仿冒攻擊。
1.3? ARP欺騙攻擊
ARP協(xié)議工作在數(shù)據(jù)鏈路層,數(shù)據(jù)在以太網(wǎng)鏈路上是以幀的形式進(jìn)行傳輸,要在以太網(wǎng)中傳輸IP數(shù)據(jù)包,必須知道目標(biāo)IP所對應(yīng)的MAC地址信息,ARP的基本功能就是根據(jù)目標(biāo)IP來查找目標(biāo)MAC地址,以確保通信的正常進(jìn)行。網(wǎng)絡(luò)中的主機(jī)、交換機(jī)和路由器上,都有一張ARP緩存表,表中記錄了IP地址與MAC地址的一一對應(yīng)關(guān)系[3]。
根據(jù)ARP協(xié)議的工作機(jī)制,為了降低網(wǎng)絡(luò)上過多的ARP流量,一臺設(shè)備哪怕收到的ARP Response報文并非自己請求的,它也會將其存入到自己的ARP緩存表中。例如,攻擊者向PC1發(fā)送一個偽造的ARP響應(yīng)報文,告訴PC1:地址172.16.1.2(PC2的IP)對應(yīng)的MAC是D4-3A-7E-C6-D3-E2(攻擊者的MAC),PC1將這個映射關(guān)系寫入自己的ARP緩存,以后發(fā)送數(shù)據(jù)時,將本該發(fā)往PC2的數(shù)據(jù)發(fā)送給了攻擊者。攻擊者就截獲了PC1發(fā)往PC2的通信。攻擊者不但可以欺騙主機(jī),還可以欺騙網(wǎng)關(guān)[4]。
2? ? 應(yīng)對安全威脅的技術(shù)手段
2.1? 風(fēng)暴控制(Storm? Control)
合理細(xì)分VLAN可以減小局域網(wǎng)廣播風(fēng)暴的影響范圍,但光這樣還不夠。當(dāng)交換機(jī)的某個端口接收大量的broadcast,multiast或未知unicast報文時,仍會引發(fā)廣播風(fēng)暴。攻擊者發(fā)動DoS攻擊、協(xié)議棧的錯誤實(shí)現(xiàn)、網(wǎng)絡(luò)設(shè)備的錯誤配置均可能導(dǎo)致局域網(wǎng)廣播風(fēng)暴的發(fā)生。在接入交換機(jī)上配置的Storm Control功能,可以成功地避免二層廣播風(fēng)暴導(dǎo)致的網(wǎng)絡(luò)性能下降或網(wǎng)絡(luò)故障。Storm Control功能監(jiān)視進(jìn)棧的流量狀態(tài),通過一定時間內(nèi)的比較和測量,預(yù)先設(shè)定閾值的方法來管理流量,當(dāng)某種類型流量的閾值到達(dá)時,這種流量就會被丟棄。
2.2? 端口安全(Port? Security)
通過配置端口安全,可以只允許特殊MAC或IP的PC接入網(wǎng)絡(luò),還可以限制交換機(jī)端口接入設(shè)備的數(shù)量。為了提高安全性,可將MAC地址和對應(yīng)的端口綁定起來(綁定的地址稱為安全地址),當(dāng)然也可以把指定的IP地址和相應(yīng)的端口綁定起來,或者是兩者都綁定。對某端口啟用端口安全功能后,當(dāng)其安全地址的數(shù)目達(dá)到最大允許數(shù)目后,若該端口再接收一個源地址不屬于安全地址的數(shù)據(jù)包時,將產(chǎn)生一個安全違例,此時管理人員可以根據(jù)需要,采用不同的安全違例處理方式,主要有protect,restrict和shutdown 3種[5]。
2.3? DHCP監(jiān)聽(DHCP? Snooping)
通過配置DHCP Snooping,交換機(jī)能夠阻攔DHCP報文。DHCP Snooping將交換機(jī)的所有端口劃分成兩種類型:trust和untrust。交換機(jī)限定untrust端口只能夠發(fā)送DHCP Request報文,丟棄來自untrust端口的所有其他DHCP報文。trust端口可以接收所有的DHCP報文。一般把連接到真實(shí)DHCP Server的端口設(shè)置為trust端口,其他端口設(shè)置為untrust端口。
DHCP Snooping還有一個附帶的功能就是創(chuàng)建了一個DHCP監(jiān)聽數(shù)據(jù)庫。一旦某臺PC成功獲取了一個IP,交換機(jī)便會自動在監(jiān)聽數(shù)據(jù)庫中添加一條綁定項(xiàng),該綁定條項(xiàng)可作為其他應(yīng)用的依據(jù)。
2.4? 動態(tài)ARP檢測
部署動態(tài)ARP檢測(Dynamic ARP Detection,DAI)的前提是要部署DHCP Snooping,在DHCP環(huán)境下,通過部署DHCP Snooping將會生成一個監(jiān)聽綁定數(shù)據(jù)庫,這個數(shù)據(jù)庫包含的信息可以作為ARP合法性檢驗(yàn)的依據(jù)。DAI技術(shù)將交換機(jī)的物理接口分為trust和untrust兩種狀態(tài),對trust端口直接放行(不做檢測),而對于untrust接口,收到ARP報文后會進(jìn)行合法性檢驗(yàn)。
DAI功能會消耗交換機(jī)的CPU資源的,開啟DAI后有可能會成為DoS攻擊的目標(biāo)。所以我們有必要再對端口配置ARP報文限速。untrust端口的默認(rèn)速度限制是15 pps,trust端口則是無限制。當(dāng)untrust端口收到的ARP報文數(shù)量超出配置的閥值,端口將會進(jìn)入errdisable狀態(tài)[6]。
2.5? ARP報文校驗(yàn)(ARP? Check)
在PC發(fā)送ARP報文前獲得PC真實(shí)的IP和MAC,然后進(jìn)行ARP Check:校驗(yàn)ARP報文中發(fā)送者M(jìn)AC與真實(shí)的MAC是否相同,不同則丟棄;校驗(yàn)ARP報文中發(fā)送者IP與真實(shí)的IP是否相同,不同則丟棄。
除了以上技術(shù)手段,還有環(huán)路檢測、保護(hù)端口、端口阻塞、系統(tǒng)保護(hù)、CPU保護(hù)策略(CPP)、STP安全機(jī)制、dot1X等措施可以提高接入交換機(jī)的安全性。
3? ? 應(yīng)對安全威脅的綜合解決方案
3.1? 靜態(tài)IP環(huán)境解決方案
3.1.1? 端口安全+ARP報文校驗(yàn)
對接入交換機(jī)上連接PC的二層端口開啟Port Security功能,將合法PC的IP地址和MAC地址(安全地址)寫入交換機(jī)的硬件表項(xiàng);在接入交換機(jī)連接終端用戶的端口開啟ARP-Check功能,通過使用ARP-Check技術(shù)校驗(yàn)ARP報文的正確性。如果非法的IP/MAC接入網(wǎng)絡(luò),ARP校驗(yàn)將失敗,這樣的用戶將不能正常使用網(wǎng)絡(luò)。
該方案的優(yōu)點(diǎn)是采用硬件的方式直接校驗(yàn)ARP報文,控制十分嚴(yán)格,不消耗CPU資源。缺點(diǎn)是端口安全必須逐一進(jìn)行配置,需收集所有終端的IP和MAC信息,對于用戶可能要頻繁變動端口的環(huán)境不太適合。
3.1.2? 全局地址綁定+ARP報文校驗(yàn)
在接入交換機(jī)上全局開啟address-bind功能,全局綁定IP與對應(yīng)MAC,將安全地址寫入交換機(jī)的硬件表項(xiàng),在下聯(lián)口開啟ARP-Check功能,對于未綁定或匹配錯誤的用戶都不能正常使用網(wǎng)絡(luò)。
該方案的優(yōu)點(diǎn)是控制相對嚴(yán)格(但比端口安全要寬松),因?yàn)槠涞刂凡唤壎ǖ骄唧w端口。采用硬件校驗(yàn)方式,效率較高。缺點(diǎn)是必須逐一配置并收集所有用戶IP地址和MAC地址,但比前一方案要靈活,不需確認(rèn)IP所對應(yīng)的端口,適用于用戶需頻繁變動交換機(jī)端口的場景[7]。
3.2? DHCP環(huán)境解決方案
3.2.1? DHCP? Snooping+IP? Source? Guard+ARP報文校驗(yàn)
提取DHCP Snooping數(shù)據(jù)庫中的IP和MAC信息,然后通過IP Source Guard特性將數(shù)據(jù)庫中的IP和MAC信息寫入交換機(jī)的硬件表項(xiàng),最后使用ARP報文校驗(yàn)功能檢驗(yàn)所有ARP報文的合法性。如果用戶通過DHCP獲取到IP后試圖發(fā)動ARP欺騙攻擊,或者是用戶私設(shè)靜態(tài)IP,他們的ARP報文校驗(yàn)都將失敗,這樣的用戶將不能正常使用網(wǎng)絡(luò)[8]。
該方案的優(yōu)點(diǎn)是不必逐一去做每個終端的地址綁定,硬件方式檢查安全表項(xiàng)。缺點(diǎn)是在安全功能上,對交換機(jī)的要求比較嚴(yán)格,交換機(jī)需同時具備DHCP監(jiān)聽、IP源防護(hù)和ARP報文檢驗(yàn)這3種安全特性,會消耗交換機(jī)的硬件資源表項(xiàng)。
3.2.2? DHCP? Snooping +DAI
提取DHCP Snooping綁定數(shù)據(jù)庫中的IP與MAC,然后通過DAI特性檢驗(yàn)進(jìn)入的ARP報文,將ARP報文中的發(fā)送者IP及發(fā)送者 MAC字段與DHCP Snooping綁定數(shù)據(jù)庫里面的對應(yīng)信息進(jìn)行對比,如果相同則允許通過,否則將丟棄該報文。
該方案的優(yōu)點(diǎn)是不必逐一去做每個用戶的地址綁定,配置和維護(hù)管理相對簡單;和方案(1)相比,可以節(jié)省設(shè)備所需的硬件安全資源表項(xiàng)。缺點(diǎn)是DAI是CPU檢查ARP報文,這將會額外消耗交換機(jī)的CPU資源,當(dāng)交換機(jī)上連接的用戶較少時可以使用(例如低于30),如果交換機(jī)連接的用戶數(shù)量較多時,方案(1)比較適合。
4? ? 結(jié)語
接入層交換機(jī)的安全威脅主要是由于ARP協(xié)議和DHCP協(xié)議自身的缺陷造成的,在流量控制的前提下,做好防ARP攻擊尤為重要,防止ARP攻擊的關(guān)鍵在于對ARP報文進(jìn)行合法性校驗(yàn)。單一的安全技術(shù)往往無法解決問題,實(shí)際應(yīng)用中往往綜合多種技術(shù)進(jìn)行防范。
在靜態(tài)IP環(huán)境下,用戶接入端口如果不經(jīng)常變動,可以選擇較為嚴(yán)格的端口安全+ARP報文校驗(yàn)方案;如果用戶經(jīng)常變動接入端口,可以選擇全局地址綁定+ARP報文校驗(yàn)方案。
在動態(tài)IP環(huán)境下,推薦使用DHCP Snooping + IP Source Guard + ARP報文校驗(yàn)方案,因?yàn)樵摲桨覆幌腃PU資源,能承載更多的用戶數(shù)量。
[參考文獻(xiàn)]
[1]林圣杰.校園網(wǎng)絡(luò)安全接入技術(shù)與應(yīng)用[J].硅谷,2009(11):82-83.
[2]謝希仁.計算機(jī)網(wǎng)絡(luò)[M].4版.北京:電子工業(yè)出版社,2003.
[3]史壽樂.ARP病毒與校園網(wǎng)絡(luò)安全研究[J].信息安全與技術(shù),2014(9):33-35.
[4]趙罡.簡單網(wǎng)絡(luò)管理協(xié)議的ARP欺騙防御機(jī)制[J].武漢工程大學(xué)學(xué)報,2011(4):103-105.
[5]汪雙頂,余明輝.網(wǎng)絡(luò)組建與維護(hù)技術(shù)[M].2版.北京:人民郵電出版社,2014.
[6]張文庫.企業(yè)網(wǎng)絡(luò)搭建及應(yīng)用(銳捷版)[M].3版.北京:電子工業(yè)出版社,2013.
[7]張文杰.你不可忽視的園區(qū)網(wǎng)ARP安全防護(hù)[EB/OL].(2010-04-03)[2019-05-20].http://www.ruijie.com.cn/fa/xw-hlw/83468.
[8]湯小康.基于DHCP Snooping技術(shù)的校園網(wǎng)非法DHCP服務(wù)器的接入[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2015(7):48-51.