交換機埠安全總結

科技小先鋒發表於2017-11-16

        最常用的對埠安全的理解就是可根據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地址來拒絕流量。 
1.此配置在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地址,使用已連線的裝置的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都是不錯的選擇。

本文轉自gauyanm 51CTO部落格,原文連結:http://blog.51cto.com/gauyanm/159616,如需轉載請自行聯絡原作者


相關文章