交換機安全 - MAC地址泛洪

MAC層*** – MAC地址泛洪

    常見的二層***或交換機***是MAC泛洪,***者使用大量無效的源MAC地址,這會導致交換機的CAM表溢出,由於交換機在MAC地址表中找不到目的MAC地址對應的端口,從而導致交換機向其它所有端口定期泛洪數據幀、交換機不會再接收新的合法條目,這會影響到網絡中的所有用戶的傳輸速度。

    ***者可通過MAC泛洪實現DOS***,也可能會獲取全網的數據包。

    CAM表的容量依據交換機的型號有所不同,常用的Catalyst 接入層交換機爲8192,可通過以下的命令查看。

    Switch #show mac-address-table count

    MAC地址的老化時間默認爲300秒,可通過如下命令查看

    Switch #show mac-address-table aging-time

***步驟

    1、 ***者以不同的源MAC地址發送多個數據包。

    2、 在短時間內,交換機的CAM表被填滿,無法再接受新的條目。***的行爲需要持續不斷,否則MAC地址老化後會清空CAM表。

    3、 交換機開始把它接收到的所有數據包,向所有端口泛洪。因此,***者可能在任何端口獲取網絡中的所有數據包。

防禦措施

    在交換機端口上限定一個具體的MAC地址或限定MAC地址的數量。可以讓交換機自動學習,也可以手動配置MAC地址。

    步驟1:啓用端口安全,注意,動態端口不能設置,需要將端口模式設置爲Access.

      Switch#conf t

      Enter configuration commands, one per line. End with CNTL/Z.

      Switch(config)#int fa0/1

      Switch(config-if)#switchport mode access

      Switch(config-if)#switchport port-security

    步驟2:設置接口允許接入的最大MAC地址數量爲4,默認爲1

      Switch(config-if)#switchport port-security maximum 4

    步驟3:指定該接口允許接入的具體MAC地址,該配置爲可選項,如不指定,交換機端口會自動學習任意4個MAC地址,並只爲這4個MAC地址提供服務。

      Switch(config-if)#switchport port-security mac-address H.H.H

    步驟4:使靜態配置在端口上的安全地址老化。當交換機端口啓用了端口安全後,默認情況下,端口學到地MAC地址不會老化過期。

      Switch(config-if)#switchport port-security aging static

    步驟5:當不允許的MAC地址嘗試接入時,定義該接口採取的行爲。

      Switch(config-if)#switchport port-security violation {protect | restrict | shutdown}

      Protect 保護:丟棄未授權地址發來的數據幀,但不會爲這個違規行爲創建日誌消息。

      Restrict 限制:丟棄未授權地址發來的數據幀,創建日誌消息併發送SNMP Trap消息。

     Shutdown 關閉:這是默認的模式。交換機從一個端口收到未授權地址發來的數據幀後,就會把這個端口置爲err-disabled狀態,記錄日誌併發送SNMP Trap消息,必須要管理員手動開啓或使用errdisable recovery特性來重新啓用該端口。

檢查端口安全配置

    管理員可使用命令“Show port-security”來查看哪些端口啓用了端口安全特性。

    clip_image002

    加入Interface參數查看特定接口的輸出信息:

    clip_image004

    還可以使用address變量參數來查看MAC地址表的安全信息。注意:剩餘時間(Remaining Age)一項沒有信息,因爲當交換機端口啓用了端口安全後,默認情況下,端口學到地MAC地址不會老化過期。該項只有在爲接口配置了過期時間後纔會顯示出來,相關命令爲:switchport port-security aging time 300

    clip_image006

    可以使用以下命令查看端口當前連接的MAC地址信息:

    clip_image008

使用粘性MAC地址的端口安全

    前面我們講的端口安全可以通過限制每個交換機端口只允許設置數量的MAC地址,來緩解MAC地址欺騙***。但這並沒有指定具體的MAC地址。

    最嚴格的端口安全實施方案是在每個端口上,只允許指定的MAC地址接入。當然這樣會帶來很多接入問題,管理員的工作負擔也需要考慮。但粘性MAC地址特性能夠很好地解決這一問題。

    當使用粘性MAC地址時,交換機端口會自動學習MAC地址,它既可以限制交換機端口,使其只接受單個具體的MAC地址,又無需管理員收集所有合法設備的MAC地址,再手動關聯到交換機端口上,有效地減輕了管理員工作負擔。

    命令:Switch(config-if)#switchport port-security mac-address sticky

    原理:使用粘性MAC地址時,交換機端口自動學習MAC地址,然後記住這個MAC地址並將其以靜態條目的形式存入運行配置(Running configuration)中,並把這個MAC地址當作端口安全特性允許接入的唯一MAC地址。如果交換機重啓用,需要重新學習MAC地址。

    注意:

    1、接口會把所有動態安全MAC地址,轉換爲粘性安全MAC地址,包括在粘性學習特性啓用前,動態學習到的地址。

    2、交會機把粘性安全MAC地址添加到運行配置中,並不會添加到啓動配置中,除非管理員將運行配置複製到啓動配置中。如果存入了啓動配置中,重新交換機後無需重新學習MAC地址。

    3、該命令不能用於語音VLAN接口。

    下圖所示,Type項由原來的“SecureDynamic”變爲“SecureSticky”.

    clip_image010

    下圖所示,交換機端口學習到的MAC地址以靜態條目形式存入到了運行配置中。

    clip_image012

在必要的端口上阻塞單播泛洪

    默認情況下,交換機若不知道所收數據包的目的MAC地址,它就會向接收端口所屬VLAN中的所有端口進行泛洪。

    但有一些端口不需要泛洪。如端口手動配置了MAC地址,或啓用端口安全的端口上,配置了安全MAC地址或學習到了足夠的MAC地址。從而減少不必要的流量。

    既可以限制未知目的MAC地址的單播泛洪,也可以限制未知目的MAC地址的組播泛洪。

    語法:

    clip_image014


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章