趙菁*
?
防御MAC地址泛洪攻擊的交換機(jī)安全配置方法
趙菁*
(北京信息職業(yè)技術(shù)學(xué)院,北京,100018)
大多數(shù)交換機(jī)的安全威脅主要來(lái)自局域網(wǎng)內(nèi)部。出于無(wú)知、好奇,甚至是惡意,某些局域網(wǎng)用戶(hù)會(huì)對(duì)交換機(jī)進(jìn)行攻擊。不管他們的動(dòng)機(jī)是什么,這都是管理員們不愿看到的。為此,除了在規(guī)定、制度上進(jìn)行規(guī)范外,管理員們要從技術(shù)上做好部署,讓攻擊者無(wú)功而返。本文以Cisco交換機(jī)的安全部署為例討論校園網(wǎng)中的交換機(jī)安全,給出了防御MAC地址泛洪攻擊的交換機(jī)安全配置方法。
網(wǎng)絡(luò)安全;MAC層攻擊;交換機(jī)端口安全
大多數(shù)交換機(jī)的安全威脅主要來(lái)自局域網(wǎng)內(nèi)部。出于無(wú)知、好奇,甚至是惡意,某些局域網(wǎng)用戶(hù)會(huì)對(duì)交換機(jī)進(jìn)行攻擊。不管他們的動(dòng)機(jī)是什么,這都是管理員們不愿看到的。為此,除了在規(guī)定、制度上進(jìn)行規(guī)范外,管理員們要從技術(shù)上做好部署,讓攻擊者無(wú)功而返。本文以Cisco交換機(jī)的安全部署為例討論校園網(wǎng)中的交換機(jī)安全,給出了防御MAC地址泛洪攻擊的交換機(jī)安全配置方法。
常見(jiàn)的二層攻擊或交換機(jī)攻擊是MAC泛洪,它會(huì)導(dǎo)致交換機(jī)的CAM表溢出,進(jìn)而導(dǎo)致交換機(jī)向其所有端口定期泛洪數(shù)據(jù)幀。展開(kāi)這種攻擊的目的有可能是為了廣泛收集流量樣本,也有可能是為了發(fā)起DOS攻擊。
交換機(jī)CAM表的空間是有限的,因此同一時(shí)間內(nèi)它只能存放有限數(shù)量的條目。網(wǎng)絡(luò)入侵者可以使用大量無(wú)效的源MAC地址,來(lái)惡意地向交換機(jī)泛洪。如果這時(shí)去往交換機(jī)端口所連合法設(shè)備的流量抵達(dá)交換機(jī),它也無(wú)法創(chuàng)建一個(gè)CAM表?xiàng)l目,交換機(jī)則必須向所有端口泛洪這個(gè)數(shù)據(jù)幀。會(huì)造成以下不良影響:
(1)交換機(jī)流量轉(zhuǎn)發(fā)的效率很低且流量巨大,這可能會(huì)影響到網(wǎng)絡(luò)中所有用戶(hù)的傳輸速度。
(2)入侵設(shè)備可以連接到任意交換機(jī)端口,并截獲該接口平常無(wú)法收到的流量。
MAC泛洪攻擊的過(guò)程:
步驟1:交換機(jī)基于合法MAC地址表的條目來(lái)轉(zhuǎn)發(fā)流量
步驟2:攻擊者(MAC地址B)以不同的源MAC地址發(fā)送多個(gè)數(shù)據(jù)包
步驟3:在較短的時(shí)間內(nèi),交換機(jī)的CAM表會(huì)一直被填充,直到它再也無(wú)法接受新條目為止。只要攻擊行為還在進(jìn)行中,交換機(jī)的MAC地址表就一直處于填滿(mǎn)的狀態(tài)
步驟4:交換機(jī)開(kāi)始把它接收到的數(shù)據(jù)包,向所有端口泛洪,因此主機(jī)A發(fā)往主機(jī)C的數(shù)據(jù)幀,也會(huì)被泛洪到交換機(jī)端口2上
圖1 正常情況
圖2 MAC地址泛洪攻擊
緩解MAC泛洪攻擊的建議:為了防止MAC地址泛洪,管理員可以使用端口安全特性。在端口安全特性的配置中,管理員可以定義某個(gè)端口上允許接入的MAC地址數(shù)量。也可以在端口安全特性中指定端口允許接入的MAC地址。
2.1.1 故障現(xiàn)象
當(dāng)企業(yè)員工或外部來(lái)訪(fǎng)人員訪(fǎng)問(wèn)企業(yè)大樓時(shí),他們可以不受限制的接入大樓中的交換機(jī)端口,假設(shè)管理員只希望有5個(gè)人,他們可以把筆記本連接到一個(gè)指定的交換機(jī)端口中,這時(shí)管理員希望能夠限制這個(gè)交換機(jī)端口只為這5個(gè)筆記本的MAC地址提供接入服務(wù),并且該接口不能自動(dòng)學(xué)習(xí)任何MAC地址。
2.1.2 故障分析
一方面是企業(yè)的安全管理制度不到位,沒(méi)有對(duì)來(lái)訪(fǎng)人員使用企業(yè)的網(wǎng)絡(luò)設(shè)備做出相應(yīng)的限制規(guī)定;另一方面,安全技術(shù)防御措施不到位。
2.1.3 解決辦法
一是完善管理制度,二是在改交換機(jī)上配置端口安全。
實(shí)施端口安全的步驟為:
(1)配置端口安全
配置端口安全特性,只允許5個(gè)地址連接到這個(gè)端口,為這5個(gè)MAC地址分別配置地址條目,這樣做實(shí)際上就是為該端口存儲(chǔ)一個(gè)擁有5個(gè)條目的MAC地址表,并且不允許該端口自動(dòng)學(xué)習(xí)額外的地址。
(2)允許交換機(jī)處理數(shù)據(jù)幀
當(dāng)數(shù)據(jù)幀到達(dá)這個(gè)交換機(jī)端口,交換機(jī)會(huì)以MAC地址表來(lái)檢查它們的源MAC地址,如果數(shù)據(jù)幀的源MAC地址符合表中對(duì)應(yīng)的一個(gè)條目,那么交換機(jī)就會(huì)像處理其他數(shù)據(jù)幀那樣處理這個(gè)數(shù)據(jù)幀。
(3)不允許新地址創(chuàng)建新的MAC地址表?xiàng)l目
當(dāng)擁有其他MAC地址的數(shù)據(jù)幀抵達(dá)該端口,交換機(jī)檢測(cè)到這個(gè)地址在當(dāng)前的MAC地址表中,并且由于端口的MAC地址數(shù)量限制,而不會(huì)自動(dòng)為這個(gè)新的MAC地址創(chuàng)建新條目。
(4)交換機(jī)采取行為來(lái)響應(yīng)其他數(shù)據(jù)幀
交換機(jī)不允許設(shè)備訪(fǎng)問(wèn)該端口,并會(huì)根據(jù)配置,采取下列行為之一:可以吧交換機(jī)端口關(guān)閉;只禁止這個(gè)MAC地址進(jìn)行訪(fǎng)問(wèn),并生成日志錯(cuò)誤消息;禁止這個(gè)MAC地址的訪(fǎng)問(wèn),但不生成日志消息。
配置端口安全:
設(shè)置端口安全來(lái)限制交換機(jī)端口可接入的MAC地址數(shù)量,以及制定某個(gè)具體終端設(shè)備MAC地址的步驟。
管理員可以按下列步驟設(shè)置端口安全:
步驟1:?jiǎn)⒂枚丝诎踩?/p>
步驟2:設(shè)置該接口上允許接入的最大MAC地址數(shù)量,默認(rèn)值是1.
步驟3:(可選)指定該接口上允許的具體MAC地址。
步驟4:當(dāng)不允許的MAC地址嘗試接入時(shí),定義該接口要采取的行為。
2.2.1 故障現(xiàn)象
在這個(gè)情景中,攻擊者利用黑客工具,使攻擊者的未授權(quán)設(shè)備向交換機(jī)CAM表泛洪偽造的MAC地址,把MAC地址表填滿(mǎn),如圖3所示。當(dāng)MAC地址表填滿(mǎn)后,VLAN就變成了一個(gè)集線(xiàn)器,并會(huì)泛洪所有單播數(shù)據(jù)幀。CAM 表滿(mǎn)了后,流量以洪泛方式發(fā)送到所有接口,也就代表 TRUNK 接口上的流量也會(huì)發(fā)給所有接口和鄰接交換機(jī),會(huì)造成交換機(jī)負(fù)載過(guò)大,網(wǎng)絡(luò)緩慢和丟包甚至癱瘓。MAC泛洪攻擊后的現(xiàn)象如圖4所示。
圖3 MAC泛洪攻擊者接入交換機(jī)端口
在黑客攻擊端口F12端口隨機(jī)生成了很多MAC地址,這些MAC地址瞬間就會(huì)把MAC地址表填滿(mǎn)。
圖4 MAC泛洪攻擊后的現(xiàn)象
2.2.2 故障分析
曾經(jīng)對(duì)網(wǎng)絡(luò)造成非常大威脅的SQL蠕蟲(chóng)病毒就利用組播目標(biāo)地址,構(gòu)造假目標(biāo) MAC 來(lái)填滿(mǎn)交換機(jī) CAM 表。應(yīng)使用 Port Security feature 防范MAC/CAM攻擊。
為了預(yù)防這類(lèi)攻擊,管理員可以參考圖3,在非信任用戶(hù)端口上配置端口安全特性,利用端口安全特性限制MAC地址泛洪攻擊,并鎖定端口。端口安全特性還可以設(shè)置一個(gè)SNMP TRAP消息,來(lái)通告違規(guī)行為。該特性在該端口允許接入的MAC地址數(shù)量范圍之內(nèi),允許安全MAC地址接入,超出MAC地址最大數(shù)量的新MAC地址所發(fā)來(lái)的數(shù)據(jù)幀則會(huì)被丟棄。
在圖3場(chǎng)景中,接入層設(shè)備是CISCO 3560交換機(jī)。管理員要在F0/12端口上啟用端口安全特性,來(lái)防止任何未授權(quán)設(shè)備連接到這個(gè)端口中。管理員已經(jīng)根據(jù)該端口所接收到的所有流量,配置了QOS策略和其他的安全ACL。網(wǎng)路管理員的需求不是關(guān)閉F0/12端口,而是限制該端口只接受授權(quán)的MAC地址。
2.2.3 模擬泛洪攻擊:
利用偽造數(shù)據(jù)幀或數(shù)據(jù)包軟件,不停變化源MAC地址向外發(fā)包,讓有限的MAC地址表空間無(wú)法容納進(jìn)而破壞MAC地址表。在這里有三臺(tái)PC,一臺(tái)是正常用戶(hù),一臺(tái)是管理機(jī),還有一臺(tái)是模擬黑客的機(jī)器。
在攻擊前,SHOW MAC地址表,可以看到MAC地址表是正常的,如圖5所示,當(dāng)黑客發(fā)起攻擊后,MAC地址表異常,如圖4所示。
圖5 正常的MAC地址表
配置端口安全后,當(dāng)黑客發(fā)起攻擊,會(huì)產(chǎn)生報(bào)警,并限制了該端口的數(shù)據(jù)傳送,如圖6所示:
圖6 限制未授權(quán)地址發(fā)來(lái)的數(shù)據(jù)幀,創(chuàng)建日志
2.2.4 解決方法
(1)防御MAC泛洪攻擊方法1-靜態(tài)MAC地址綁定
以下是在交換機(jī)上面配置MAC地址綁定,并采取了當(dāng)發(fā)現(xiàn)有其他的MAC地址接入到此端口的時(shí)候就將它設(shè)置不不轉(zhuǎn)發(fā)數(shù)據(jù)并且上報(bào)網(wǎng)管平臺(tái)的措施。
Switch(config)#interface fastEthernet 0/12Switch(config-if)#switchport mode accessSwitch(config-if)#switchport port-securitySwitch(config-if)#switchport port-security mac-address 00E0.A342.20E6Switch(config-if)# switchport port-security violation restrict
(2)防御MAC泛洪攻擊方法2-粘性綁定MAC地址
根據(jù)實(shí)際應(yīng)用的要求,應(yīng)該給一個(gè)端口綁定多個(gè)MAC地址通行,如果采取靜態(tài)MAC地址綁定的方法會(huì)使管理員得工作變得太繁瑣,而且容易出錯(cuò),所以應(yīng)該采取粘性綁定MAC地址的方法將接入到此端口的MAC地址自動(dòng)綁定到該端口上。配置命令如下所示:
Switch(config)#interface fastEthernet 0/12Switch(config-if)#switchport mode accessSwitch(config-if)#switchport port-securitySwitch(config-if)#switchport port-security mac-address sticky
使用接入到交換機(jī)端口FA0/12這個(gè)接口的計(jì)算機(jī)發(fā)送一點(diǎn)數(shù)據(jù)包,然后查看交換機(jī)上面的MAC地址表??梢钥吹?,交換機(jī)自動(dòng)學(xué)習(xí)到F0/12端口的MAC地址,并且自動(dòng)變成靜態(tài)綁定的。
通過(guò)查看端口安全,可以看出FA0/12端口有3條違反策略的。執(zhí)行的是Restrict。而Fa0/2沒(méi)有違反的策略,執(zhí)行Shutdown。
Switch#show port-security Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action (Count) (Count) (Count) -------------------------------------------------------------------- Fa0/12 1 1 3 Restrict Fa0/2 1 1 0 Shutdown ---------------------------------------------------------------------- Switch#
基于MAC地址的限制的方法對(duì)于實(shí)際工程中應(yīng)用的是比較廣泛的。合理配置網(wǎng)絡(luò)中的設(shè)備可以有效提高網(wǎng)絡(luò)的安全性,本文中提出的端口安全特性可以有效解決網(wǎng)絡(luò)中的MAC泛洪攻擊問(wèn)題,為了更好地防御交換機(jī)二層攻擊,除了本文指出的MAC泛洪攻擊,還應(yīng)注意防范ARP欺騙攻擊、DHCP攻擊等,有效做好這些防御措施,提高交換機(jī)的安全性。
[1] 網(wǎng)絡(luò)安全技術(shù)與解決方案, [美]Yusuf Bhaiji, CCIE #9305 著. 人民郵電出版社, 2010.
[2] 彭淑華, 孔坡. 交換機(jī)端口安全之MAC地址洪泛攻擊[J], 互聯(lián)網(wǎng)研究.
[3] 蘆彩林, 李龍軍. 基于WinPcap的MAC地址泛洪攻擊技術(shù)研究[J].電腦開(kāi)發(fā)與應(yīng)用, 2012, 25(11): 18-23.
[4] 徐飛. 交換機(jī)端口的安全管理技術(shù)[J]. 計(jì)算機(jī)光盤(pán)軟件與應(yīng), 2014, 205-206.
[5] 徐芳, 楊軍. 淺談交換機(jī)端口安全防護(hù)措施在內(nèi)網(wǎng)中的應(yīng)用[J]. 電腦知識(shí)與技術(shù), 2012, 8(17): 4079-4104.
[6] 汪宇聽(tīng). M A C 地址與交換機(jī)端口的綁定—交換機(jī)的端口安全配置[J]. 統(tǒng)計(jì)與管理, 2009(5): 28.
Switch Security Configuration Method for Defending MAC Address Flooding Attack
ZHAO Jing*
(Beijing Information Technology College. Beijing, 100018, China)
Most of the security threats of switches mainly come from intranet. Out of ignorance, curiosity, and even malicious, some LAN users attack the switches. Whatever their motives, this is what administrators don't want to see. To this end, in addition to the standard stipulated in the system, administrators are technically ready to deploy, let the attackers failed. Taking the security deployment of Cisco switches as an example, this paper discusses the security of switches in campus networks, and gives a Switch security configuration method for defending MAC addresses flooding attacks.
network security; MAC layer attack; Switch port security
趙菁. 防御MAC地址泛洪攻擊的交換機(jī)安全配置方法[J]. 數(shù)碼設(shè)計(jì), 2017, 6(5): 83-85.
ZHAO Jing. Switch Security Configuration Method for Defending MAC Address Flooding Attack[J]. Peak Data Science, 2017, 6(5): 83-85.
10.19551/j.cnki.issn1672-9129.2017.05.034
S126
A
1672-9129(2017)05-0083-03
2017-02-15;
2017-03-20。
趙菁(1975-),女,北京,教師,副教授,研究方向:信息安全。E-mail:2377184990@qq.com