交換機最常用的對端口安全的理解就是可根據MAC地址來做對網絡流量的控制和管理,比如MAC地址與具體的端口綁定,限制具體端口通過的MAC地址的數量,或者在具體的端口不允許某些MAC地址的幀流量通過。稍微引申下端口安全,就是可以根據802.1X來控制網絡的訪問流量。
一、MAC地址與端口綁定和根據MAC地址允許流量的配置
1.MAC地址與端口綁定
當發現主機的MAC地址與交換機上指定的MAC地址不同時 ,交換機相應的端口將down掉。當給端口指定MAC地址時,端口模式必須為access或者Trunk狀態。
3550-1#conf t
3550-1(config)#int f0/1
3550-1(config-if)#switchport mode access /指定端口模式。
3550-1(config-if)#switchport port-security mac-address 00-90-F5-10-79-C1 /配置MAC地址。
3550-1(config-if)#switchport port-security maximum 1 /限制此端口允許通過的MAC地址數為1。
3550-1(config-if)#switchport port-security violation shutdown /當發現與上述配置不符時,端口down掉。
2.通過MAC地址來限制端口流量
此配置允許一TRUNK口最多通過100個MAC地址,超過100時,但來自新的主機的數據幀將丟失。
3550-1#conf t
3550-1(config)#int f0/1
3550-1(config-if)#switchport trunk encapsulation dot1q
3550-1(config-if)#switchport mode trunk /配置端口模式為TRUNK。
3550-1(config-if)#switchport port-security maximum 100 /允許此端口通過的最大MAC地址數目為100。
3550-1(config-if)#switchport port-security violation protect /當主機MAC地址數目超過100時,交換機繼續工作,但來自新的主機的數據幀將丟失。
二、根據MAC地址來拒絕流量
上面的配置根據MAC地址來允許流量,下面的配置則是根據MAC地址來拒絕流量。
此配置在Catalyst交換機中只能對單播流量進行過濾,對于多播流量則無效。
3550-1#conf t
3550-1(config)#mac-address-table static 00-90-F5-10-79-C1 vlan 2 drop /在相應的Vlan丟棄流量。
3550-1#conf t
3550-1(config)#mac-address-table static 00-90-F5-10-79-C1 vlan 2 int f0/1 /在相應的接口丟棄流量。
三、理解端口安全
當你給一個端口配置了最大安全mac地址數量,安全地址是以一下方式包括在一個地址表中的:
你可以配置所有的mac地址使用 switchport port-security mac-address ,這個接口命令。
你也可以允許動態配置安全mac地址,使用已連接的設備的mac地址。
你可以配置一個地址的數目且允許保持動態配置。
注意:如果這個端口shutdown了,所有的動態學的mac地址都會被移除。
一旦達到配置的最大的mac地址的數量,地址們就會被存在一個地址表中。設置最大mac地址數量為1,并且配置連接到設備的地址確保這個設備獨占這個端口的帶寬。
四、端口安全規則
當以下情況發生時就是一個安全違規:
最大安全數目mac地址表外的一個mac地址試圖訪問這個端口。
一個mac地址被配置為其他的接口的安全mac地址的站點試圖訪問這個端口。
五、配置接口的三種違規模式
你可以配置接口的三種違規模式,這三種模式基于違規發生后的動作:
protect-當mac地址的數量達到了這個端口所最大允許的數量,帶有未知的源地址的包就會被丟棄,直到刪除了足夠數量的mac地址,來降下最大數值之后才會不丟棄。
restrict-一個限制數據和并引起"安全違規"計數器的增加的端口安全違規動作。
shutdown-一個導致接口馬上shutdown,并且發送SNMP陷阱的端口安全違規動作。當一個安全端口處在error-disable狀態,你要恢復正常必須得敲入全局下的errdisable recovery cause psecure-violation 命令,或者你可以手動的shut再no shut端口。這個是端口安全違規的默認動作。
六、默認的端口安全配置
以下是端口安全在接口下的配置:
特性:port-sercurity 默認設置:關閉的。
特性:最大安全mac地址數目 默認設置:1
特性:違規模式 默認配置:shutdown,這端口在最大安全mac地址數量達到的時候會shutdown,并發snmp陷阱。
七、配置端口安全的向導:
安全端口不能在動態的access口或者trunk口上做,換言之,敲port-secure之前必須的是switch mode acc之后。
安全端口不能是一個被保護的口。
安全端口不能是SPAN的目的地址。
安全端口不能屬于GEC或FEC的組。
安全端口不能屬于802.1x端口。如果你在安全端口試圖開啟802.1x,就會有報錯信息,而且802.1x也關了。如果你試圖改變開啟了802.1x的端口為安全端口,錯誤信息就會出現,安全性設置不會改變。
八、802.1X的相關概念和配置
802.1X身份驗證協議最初使用于無線網絡,后來才在普通交換機和路由器等網絡設備上使用。它可基于端口來對用戶身份進行認證,即當用戶的數據流量企圖通過配置過802.1X協議的端口時,必須進行身份的驗證,合法則允許其訪問網絡。這樣的做的好處就是可以對內網的用戶進行認證,并且簡化配置,在一定的程度上可以取代Windows 的AD。
配置802.1X身份驗證協議,首先得全局啟用AAA認證,這個和在網絡邊界上使用AAA認證沒有太多的區別,只不過認證的協議是802.1X;其次則需要在相應的接口上啟用802.1X身份驗證。(建議在所有的端口上啟用802.1X身份驗證,并且使用radius服務器來管理用戶名和密碼)
九、配置AAA認證所使用的為本地的用戶名和密碼
3550-1#conf t
3550-1(config)#aaa new-model /啟用AAA認證。
3550-1(config)#aaa authentication dot1x default local /全局啟用802.1X協議認證,并使用本地用戶名與密碼。
3550-1(config)#int range f0/1 -24
3550-1(config-if-range)#dot1x port-control auto /在所有的接口上啟用802.1X身份驗證。
十、交換機端口安全總結
通過MAC地址來控制網絡的流量既可以通過上面的配置來實現,也可以通過訪問控制列表來實現,比如在Cata3550上可通過700-799號的訪問控制列表可實現MAC地址過濾。但是利用訪問控制列表來控制流量比較麻煩,似乎用的也比較少,這里就不多介紹了。
通過MAC地址綁定雖然在一定程度上可保證內網安全,但效果并不是很好,建議使用802.1X身份驗證協議。在可控性,可管理性上802.1X都是不錯的選擇