趙菁*
?
防御MAC地址泛洪攻擊的交換機安全配置方法
趙菁*
(北京信息職業技術學院,北京,100018)
大多數交換機的安全威脅主要來自局域網內部。出于無知、好奇,甚至是惡意,某些局域網用戶會對交換機進行攻擊。不管他們的動機是什么,這都是管理員們不愿看到的。為此,除了在規定、制度上進行規范外,管理員們要從技術上做好部署,讓攻擊者無功而返。本文以Cisco交換機的安全部署為例討論校園網中的交換機安全,給出了防御MAC地址泛洪攻擊的交換機安全配置方法。
網絡安全;MAC層攻擊;交換機端口安全
大多數交換機的安全威脅主要來自局域網內部。出于無知、好奇,甚至是惡意,某些局域網用戶會對交換機進行攻擊。不管他們的動機是什么,這都是管理員們不愿看到的。為此,除了在規定、制度上進行規范外,管理員們要從技術上做好部署,讓攻擊者無功而返。本文以Cisco交換機的安全部署為例討論校園網中的交換機安全,給出了防御MAC地址泛洪攻擊的交換機安全配置方法。
常見的二層攻擊或交換機攻擊是MAC泛洪,它會導致交換機的CAM表溢出,進而導致交換機向其所有端口定期泛洪數據幀。展開這種攻擊的目的有可能是為了廣泛收集流量樣本,也有可能是為了發起DOS攻擊。
交換機CAM表的空間是有限的,因此同一時間內它只能存放有限數量的條目。網絡入侵者可以使用大量無效的源MAC地址,來惡意地向交換機泛洪。如果這時去往交換機端口所連合法設備的流量抵達交換機,它也無法創建一個CAM表條目,交換機則必須向所有端口泛洪這個數據幀。會造成以下不良影響:
(1)交換機流量轉發的效率很低且流量巨大,這可能會影響到網絡中所有用戶的傳輸速度。
(2)入侵設備可以連接到任意交換機端口,并截獲該接口平常無法收到的流量。
MAC泛洪攻擊的過程:
步驟1:交換機基于合法MAC地址表的條目來轉發流量
步驟2:攻擊者(MAC地址B)以不同的源MAC地址發送多個數據包
步驟3:在較短的時間內,交換機的CAM表會一直被填充,直到它再也無法接受新條目為止。只要攻擊行為還在進行中,交換機的MAC地址表就一直處于填滿的狀態
步驟4:交換機開始把它接收到的數據包,向所有端口泛洪,因此主機A發往主機C的數據幀,也會被泛洪到交換機端口2上

圖1 正常情況

圖2 MAC地址泛洪攻擊
緩解MAC泛洪攻擊的建議:為了防止MAC地址泛洪,管理員可以使用端口安全特性。在端口安全特性的配置中,管理員可以定義某個端口上允許接入的MAC地址數量。也可以在端口安全特性中指定端口允許接入的MAC地址。
2.1.1 故障現象
當企業員工或外部來訪人員訪問企業大樓時,他們可以不受限制的接入大樓中的交換機端口,假設管理員只希望有5個人,他們可以把筆記本連接到一個指定的交換機端口中,這時管理員希望能夠限制這個交換機端口只為這5個筆記本的MAC地址提供接入服務,并且該接口不能自動學習任何MAC地址。
2.1.2 故障分析
一方面是企業的安全管理制度不到位,沒有對來訪人員使用企業的網絡設備做出相應的限制規定;另一方面,安全技術防御措施不到位。
2.1.3 解決辦法
一是完善管理制度,二是在改交換機上配置端口安全。
實施端口安全的步驟為:
(1)配置端口安全
配置端口安全特性,只允許5個地址連接到這個端口,為這5個MAC地址分別配置地址條目,這樣做實際上就是為該端口存儲一個擁有5個條目的MAC地址表,并且不允許該端口自動學習額外的地址。
(2)允許交換機處理數據幀
當數據幀到達這個交換機端口,交換機會以MAC地址表來檢查它們的源MAC地址,如果數據幀的源MAC地址符合表中對應的一個條目,那么交換機就會像處理其他數據幀那樣處理這個數據幀。
(3)不允許新地址創建新的MAC地址表條目
當擁有其他MAC地址的數據幀抵達該端口,交換機檢測到這個地址在當前的MAC地址表中,并且由于端口的MAC地址數量限制,而不會自動為這個新的MAC地址創建新條目。
(4)交換機采取行為來響應其他數據幀
交換機不允許設備訪問該端口,并會根據配置,采取下列行為之一:可以吧交換機端口關閉;只禁止這個MAC地址進行訪問,并生成日志錯誤消息;禁止這個MAC地址的訪問,但不生成日志消息。
配置端口安全:
設置端口安全來限制交換機端口可接入的MAC地址數量,以及制定某個具體終端設備MAC地址的步驟。
管理員可以按下列步驟設置端口安全:
步驟1:啟用端口安全
步驟2:設置該接口上允許接入的最大MAC地址數量,默認值是1.
步驟3:(可選)指定該接口上允許的具體MAC地址。
步驟4:當不允許的MAC地址嘗試接入時,定義該接口要采取的行為。
2.2.1 故障現象
在這個情景中,攻擊者利用黑客工具,使攻擊者的未授權設備向交換機CAM表泛洪偽造的MAC地址,把MAC地址表填滿,如圖3所示。當MAC地址表填滿后,VLAN就變成了一個集線器,并會泛洪所有單播數據幀。CAM 表滿了后,流量以洪泛方式發送到所有接口,也就代表 TRUNK 接口上的流量也會發給所有接口和鄰接交換機,會造成交換機負載過大,網絡緩慢和丟包甚至癱瘓。MAC泛洪攻擊后的現象如圖4所示。

圖3 MAC泛洪攻擊者接入交換機端口
在黑客攻擊端口F12端口隨機生成了很多MAC地址,這些MAC地址瞬間就會把MAC地址表填滿。

圖4 MAC泛洪攻擊后的現象
2.2.2 故障分析
曾經對網絡造成非常大威脅的SQL蠕蟲病毒就利用組播目標地址,構造假目標 MAC 來填滿交換機 CAM 表。應使用 Port Security feature 防范MAC/CAM攻擊。
為了預防這類攻擊,管理員可以參考圖3,在非信任用戶端口上配置端口安全特性,利用端口安全特性限制MAC地址泛洪攻擊,并鎖定端口。端口安全特性還可以設置一個SNMP TRAP消息,來通告違規行為。該特性在該端口允許接入的MAC地址數量范圍之內,允許安全MAC地址接入,超出MAC地址最大數量的新MAC地址所發來的數據幀則會被丟棄。
在圖3場景中,接入層設備是CISCO 3560交換機。管理員要在F0/12端口上啟用端口安全特性,來防止任何未授權設備連接到這個端口中。管理員已經根據該端口所接收到的所有流量,配置了QOS策略和其他的安全ACL。網路管理員的需求不是關閉F0/12端口,而是限制該端口只接受授權的MAC地址。
2.2.3 模擬泛洪攻擊:
利用偽造數據幀或數據包軟件,不停變化源MAC地址向外發包,讓有限的MAC地址表空間無法容納進而破壞MAC地址表。在這里有三臺PC,一臺是正常用戶,一臺是管理機,還有一臺是模擬黑客的機器。
在攻擊前,SHOW MAC地址表,可以看到MAC地址表是正常的,如圖5所示,當黑客發起攻擊后,MAC地址表異常,如圖4所示。

圖5 正常的MAC地址表
配置端口安全后,當黑客發起攻擊,會產生報警,并限制了該端口的數據傳送,如圖6所示:

圖6 限制未授權地址發來的數據幀,創建日志
2.2.4 解決方法
(1)防御MAC泛洪攻擊方法1-靜態MAC地址綁定
以下是在交換機上面配置MAC地址綁定,并采取了當發現有其他的MAC地址接入到此端口的時候就將它設置不不轉發數據并且上報網管平臺的措施。

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地址
根據實際應用的要求,應該給一個端口綁定多個MAC地址通行,如果采取靜態MAC地址綁定的方法會使管理員得工作變得太繁瑣,而且容易出錯,所以應該采取粘性綁定MAC地址的方法將接入到此端口的MAC地址自動綁定到該端口上。配置命令如下所示:

Switch(config)#interface fastEthernet 0/12Switch(config-if)#switchport mode accessSwitch(config-if)#switchport port-securitySwitch(config-if)#switchport port-security mac-address sticky
使用接入到交換機端口FA0/12這個接口的計算機發送一點數據包,然后查看交換機上面的MAC地址表。可以看到,交換機自動學習到F0/12端口的MAC地址,并且自動變成靜態綁定的。
通過查看端口安全,可以看出FA0/12端口有3條違反策略的。執行的是Restrict。而Fa0/2沒有違反的策略,執行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地址的限制的方法對于實際工程中應用的是比較廣泛的。合理配置網絡中的設備可以有效提高網絡的安全性,本文中提出的端口安全特性可以有效解決網絡中的MAC泛洪攻擊問題,為了更好地防御交換機二層攻擊,除了本文指出的MAC泛洪攻擊,還應注意防范ARP欺騙攻擊、DHCP攻擊等,有效做好這些防御措施,提高交換機的安全性。
[1] 網絡安全技術與解決方案, [美]Yusuf Bhaiji, CCIE #9305 著. 人民郵電出版社, 2010.
[2] 彭淑華, 孔坡. 交換機端口安全之MAC地址洪泛攻擊[J], 互聯網研究.
[3] 蘆彩林, 李龍軍. 基于WinPcap的MAC地址泛洪攻擊技術研究[J].電腦開發與應用, 2012, 25(11): 18-23.
[4] 徐飛. 交換機端口的安全管理技術[J]. 計算機光盤軟件與應, 2014, 205-206.
[5] 徐芳, 楊軍. 淺談交換機端口安全防護措施在內網中的應用[J]. 電腦知識與技術, 2012, 8(17): 4079-4104.
[6] 汪宇聽. M A C 地址與交換機端口的綁定—交換機的端口安全配置[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]. 數碼設計, 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