專家如何看第二層交換機(jī)安全問題
第二層交換機(jī)還是比較常用的,于是我研究了一下第二層交換機(jī)安全問題,在這里拿出來和大家分享一下,希望對大家有用。最初的網(wǎng)絡(luò)設(shè)計者在設(shè)計時更多地考慮如何保證網(wǎng)絡(luò)的聯(lián)通性,而很少考慮網(wǎng)絡(luò)的安全性。同樣,很多專家開發(fā)了能夠自動發(fā)現(xiàn)拓?fù)浣Y(jié)構(gòu)、自動維系網(wǎng)絡(luò)設(shè)備關(guān)系的協(xié)議,如路由協(xié)議,這些協(xié)議能夠減少網(wǎng)管員的工作量,提高網(wǎng)絡(luò)的可用性,但是很多協(xié)議存在潛在漏洞,使網(wǎng)絡(luò)面臨被攻擊的風(fēng)險。
MAC攻擊
MAC地址是第二層交換機(jī)工作的基礎(chǔ),網(wǎng)絡(luò)依賴MAC地址保證數(shù)據(jù)的正常轉(zhuǎn)發(fā)。動態(tài)的二層地址表在一定時間以后(AGE TIME)會發(fā)生更新。如果某端口一直沒有收到源地址為某一MAC地址的數(shù)據(jù)包,那么該MAC地址和該端口的映射關(guān)系就會失效。這時,第二層交換機(jī)收到目的地址為該MAC地址的數(shù)據(jù)包就會進(jìn)行泛洪處理,對交換機(jī)的整體性能造成影響。假如攻擊者生成大量數(shù)據(jù)包,數(shù)據(jù)包的源MAC地址都不相同,就會充滿交換機(jī)的MAC地址表空間,導(dǎo)致真正的數(shù)據(jù)流到達(dá)交換機(jī)時被泛洪出去,不能被轉(zhuǎn)發(fā)到目的地,同時導(dǎo)致第二層交換機(jī)的查表速度下降。
在一般情況下,只有與第二層交換機(jī)連接的端口才會出現(xiàn)大量MAC地址。而與PC連接的端口很難出現(xiàn)大量MAC地址。很多第二層交換機(jī)不能識別與之相連的設(shè)備是交換機(jī)還是PC機(jī)。交換機(jī)特別是接入交換機(jī)提供端口的MAC地址學(xué)習(xí)控制功能,就顯得非常必要。在測試3Com 4226/4228交換機(jī)時,我發(fā)現(xiàn)百兆端口的地址表深度僅僅幾十個,而千兆端口的地址表深度基本上占據(jù)了交換機(jī)地址空間的絕大部分。提醒用戶限制交換機(jī)端口的地址學(xué)習(xí)功能,一旦地址表滿,必須丟棄收到的地址。用戶在使用時應(yīng)該合理打開這些功能。另外提醒用戶需要合理設(shè)置廣播域,劃分VLAN,避免廣播域太大,導(dǎo)致交換機(jī)的MAC地址表空間過大。
生成樹攻擊
還有生成樹問題。假如在網(wǎng)絡(luò)中用一臺PC機(jī)模擬生成樹協(xié)議,不斷發(fā)布BPDU包,就會導(dǎo)致一定范圍內(nèi)的生成樹拓?fù)浣Y(jié)構(gòu)定期地發(fā)生變化。雖然沒有流量,但是由于生成樹不穩(wěn)定,仍會導(dǎo)致整個網(wǎng)絡(luò)不斷發(fā)生動蕩,使網(wǎng)絡(luò)不可用。
路由協(xié)議攻擊
另一個類似的攻擊就是使用路由協(xié)議發(fā)起的攻擊,這一點(diǎn)更容易實現(xiàn),因為在Linux平臺中找到相關(guān)的軟件協(xié)議棧非常容易。雖然一些路由協(xié)議使用了加密和認(rèn)證算法,來傳遞路由的更新信息,但是用戶很少真正啟用這些功能。假如網(wǎng)絡(luò)設(shè)置不到位,路由器配置不好,很容易讓用戶在一個原本應(yīng)該是STUB的網(wǎng)段里,向整個網(wǎng)絡(luò)發(fā)送路由信息,對整個網(wǎng)絡(luò)的動態(tài)路由造成影響,導(dǎo)致路由震蕩,有可能把一些通往重要方向的數(shù)據(jù)包指向錯誤的方向。對于前者,第二層交換機(jī)可以關(guān)閉端口的STP功能進(jìn)行防范。對于后者,第二層交換機(jī)應(yīng)該開啟路由更新認(rèn)證功能,另外就是做好訪問控制和路由規(guī)劃。
假如攻擊發(fā)動時,發(fā)送數(shù)據(jù)包的源MAC地址為廣播地址,就會導(dǎo)致主機(jī)回應(yīng)的Response包不是單播包而是廣播包,導(dǎo)致二層網(wǎng)絡(luò)出現(xiàn)大量廣播,一旦網(wǎng)絡(luò)中有環(huán)路沒有被屏蔽掉,情況不可設(shè)想。我曾經(jīng)做過實驗,將兩臺交換機(jī)對聯(lián)形成環(huán)路,在每一側(cè)連接一臺PC機(jī),互相ping。由于第二層交換機(jī)之間的生成樹協(xié)議存在漏洞,不能很好地進(jìn)行收斂,形成環(huán)路,PC機(jī)的CPU占用率一下達(dá)到峰值,網(wǎng)絡(luò)的可利用率下降到了極點(diǎn)。ping 操作結(jié)束后,通過抓包分析,我發(fā)現(xiàn)交換機(jī)仍舊瘋狂轉(zhuǎn)發(fā)ARP包。
盡管以上談到的攻擊手段需要使用專門的工具來進(jìn)行,實現(xiàn)起來有一定難度,但是關(guān)鍵部門(如軍隊、政府)仍需提防上述攻擊,因為這些關(guān)鍵部門面對的不是業(yè)余黑客,而是具有專業(yè)水平的攻擊者,攻擊者隨時有可能使用戶的網(wǎng)絡(luò)癱瘓。