Cisco Switch學習筆記: Port Security

對於Port Security, 一開始只是我們用來管制那些電腦可以連上公司網路的一種作法; 沒有申請的電腦, 無法連上內部網路; 自然我們就有了公司所有連網的電腦資料! 如果發生中毒或攻擊, 要找兇手就容易了! 也可以防止不相干人士, 任易地把電腦接上內部網路!

SANS Institute - Intrusion Detection FAQ: Why your switched network isn't secure這篇文章有一段文字, 提到port security的妙用:

"If your hub or switch has the ability to enable port security, this will help to protect you from both the MAC Flood and MAC spoofing attacks. ... This, like many security procedures, restricts the environment and amplifies the need for a management process as well as auditing process."

為什麼呢? 因為switch是Layer 2的設備, 基本上就是處理封包傳送: 當Switch收到任一個封包, 它會檢查自己的mac-address table; 如果有找到要傳送的目的MAC Address, 就往那個埠送(效率好, 而且可以避免Sniffer); 如果找不到, 就往所有的埠送! (這個行為稱為Broadcast, 即hub的原始行為, 有被Sniffer的危險.) 可是Switch的記憶體有限, 這表示mac-address table不能太大(Cisco的Switch大約可容納4096-6144個MAC), 若實際上收到的MAC超出可用記憶體大小, Switch的行為就會異常! MAC Flood 攻擊就是利用這個原理, 送出大量不同MAC的封包, 使Switch改變行為(變成Hub), 這樣就可以進行Sniffer了!

所以設定port security後, 只有少數核可的MAC可以通行, 其他MAC會被丟棄; 這樣一來, MAC Flood攻擊就不能成功了! 設定方法如下:

interface FastEthernet2/0/4
switchport mode access
switchport port-security maximum 2
switchport port-security
switchport port-security violation protect
switchport port-security mac-address 0019.6b0b.242d
switchport port-security mac-address 001b.cd94.8d34

當然, 管理問題就出現了, 如果有人電腦要新增, 異動..., 就必須要進去設定! 更嚴重的是, port security其實是直接改變了mac-address table. 原本的mac-address table 如下:

1 000c.2956.1b91 DYNAMIC Po2
1 000c.295a.0a39 DYNAMIC Fa1/0/6
1 000c.2965.0d4e DYNAMIC Fa1/0/3
1 000c.2990.b4d5 DYNAMIC Fa1/0/6
1 000c.2996.a844 DYNAMIC Po1

當設定了port security 後, 再去看mac-address table 會發現出現了一些STATIC項目:

1 0019.6b0b.242d STATIC Fa2/0/4
1 001b.cd94.8d34 STATIC Fa2/0/4

而設定是人為的工作, 在同一台Switch, 如果重覆設定, 可能會被機器發現, 可是在不同Switch就沒有防呆的機制了! 當在不同Switch設定了重覆的MAC, 就有可能造成封包傳送"有去無回"的情形發生.

sw1

如上圖例, 電腦2原本在SW B, 有設定port security, 後來移到SW C也設了port security, 但是忘了把SW B的設定拿掉! 就會出現"電腦2和SW C上的電腦可以互連, 但是無法連到SW A上的電腦"的情況! 原因就是封包由SW C到SW A後, 再回到SW B時, 就被轉送到不正確的埠了!

留言

這個網誌中的熱門文章

D-BUS學習筆記

關於藍牙裝置找尋(inquiry, scan)兩三事

Cisco Switch學習筆記: EtherChannel