Catalystスイッチには、特定のポートに特定の端末のみしか受け付けないポートセキュリティ機能があります。この機能を有効にすることにより、不正アクセスを防止することができ、セキュリティが向上します。
前提条件
ポートセキュリティは、フレーム内のMACアドレスを識別し、登録されていない端末がポートへアクセスするのを制御します。
そのため、事前にアクセスを許可するMACアドレスを「セキュアMACアドレス」としてMACアドレステーブルに登録しておきます。
また、セキュアポートをSPAN (Switch Port Analyzer)の宛先ポート(アナライザ接続ポート)にすることはできません。
ポートセキュリティは、次の2つの条件で機能します。
- ポートにアクセスするMACアドレス数が、そのポートが所属するVLANで許可されているセキュアMACアドレスの最大値に達した場合。
- セキュアMACアドレス以外の端末からのポートアクセスがあった場合。
未登録のMACアドレスからのアクセスがあった場合、セキュリティ違反としてポートのアクセスが拒否されます。
また、あるセキュアインタフェースで学習または設定されたMACアドレスが同一VLAN内のほかのセキュアインタフェースで検出された場合も同様に拒否されます。
セキュアMACアドレスのタイプ
セキュアMACアドレスとは、スイッチへの接続を許可するMACアドレスのことです。
原則としてあらかじめスイッチに設定するものですが、セキュアMACアドレスには以下のタイプがあります。
スタティック
スタティック(static)は「静的」を意味します。セキュアMACアドレスのタイプとしては、手動で設定をすることを意味します。
ポートセキュリティを施すための基本的なセキュアMACアドレスのタイプです。
接続を許可したい該当端末のMACアドレスを手動で設定します。
設定したMACアドレスは、スイッチ内のMACアドレステーブルとあわせて、running-configに保存されます。
設定例
Switch(config-if)# switchport port-security mac-address ABCD:EFGH:IJKLM
ダイナミック
ダイナミック(dynamic)は「動的」を意味します。セキュアMACアドレスのタイプとしては、自動で設定することを意味します。ダイナミックなセキュアMACアドレスは、端末をスイッチに接続した際に受信したフレームを自動的に学習し、MACアドレステーブルにのみ追加されます。
MACアドレスは覚えづらいものであり、許可する端末の数が多いと設定することが大変です。
ダイナミックなセキュアMACアドレスを用いることで、その煩雑な作業から解放されます。
ただし、ポートごとに学習するMACアドレスの数を制限することもできますが、ポートのshutdownやスイッチの再起動によって、学習したMACアドレスは削除されますので、あまり使われません。
設定例
Switch(config-if)# switchport port-security
ステッキ-
ダイナミックなセキュアMACアドレスと同様に、端末をスイッチに接続した際に受信したフレームを自動的に学習します。ダイナミックとの違いは、MACアドレステーブルと合わせて、running-configにも学習したMACアドレスを保存することができます。
ダイナミックでは、ポートのshutdownやスイッチの再起動によって、学習したMACアドレスが削除されてしまいます。しかし、stickyではrunning-configに学習したMACアドレスが保存されるため、startup-configに設定をコピーすることで、設定を永続化することが可能です。
ポートごとに学習するMACアドレスの数を制限することもでき、手動でMACアドレスを登録することもできます。そのため、スタティックとダイナミックの両方を兼ね備えたセキュアMACアドレスのタイプであると言えるでしょう。
設定例
Switch(config-if)# switchport port-security mac-address sticky
ポートセキュリティの設定書式
コマンドモード:インタフェースコンフィグレーションモード。
コマンドリリース:12.1以降にサポート。
Switch(config-if)# switchport port-security { mac-address MACアドレス|mac-address sticky | maximum [1-132] | violation (protect |restrict |shutdown) }
- MACアドレス:ポートへアクセス許可するMACアドレスです。
- mac-address sticky:自動学習したMACアドレスをセキュアMACアドレスに変換する。
- maximum:ポートへのアクセスを許可するMACアドレスの最大数を示します。
ポートセキュリティが学習できるMACアドレスは、デフォルトは1で、最大132まで設定できます。 - protect:不正なフレームを破棄します。
- restrict:不正なフレームを破棄し、SNMPトラップとSyslogメッセージが通知されます。
- shutdown:不正なフレーム破棄、SNMPトラップとSyslogメッセージが通知に加え、ポートをshutdownします。また、復旧するには、グローバルコンフィグレーションでコマンド「errdisable recovery cause psecure-violation」で解除するか、
ポートの有効化「no shutdown」コマンドを手動で実行します。
設定例
今回の設定例は、Catalystスイッチの1から10番目のポートに対して、ポートセキュリティを有効にし、スタティックで登録したMACアドレス以外が接続した場合は、ポートをシャットダウンする設定を想定しています。
ファーストイーサネットの1-10番ポートを指定
Switch(config)# interface range fastethernet 0/1 – 10
ポートをアクセスモードに設定
Switch(config-if)# switchport mode access
トランクポートも設定できます。
ポートセキュリティの設定
Switch(config-if)# switchport port-security
MACアドレス最大数の定義
Switch(config-if)# switchport port-security maximum 2
ここでは、最大2に設定します。
セキュアMACアドレスの登録
Switch(config-if)# switchport port-security mac-address 1234.abcd.5678
Switch(config-if)# switchport port-security mac-address 5678.efgh.1234
MACアドレス「1234.abcd.5678」と「5678.efgh.1234」は接続を許可します。
違反モードをshutdownに設定
Switch(config-if)# switchport port-security violation shutdown
確認コマンド
ポートセキュリティを確認するには、以下のshowコマンドを利用します。
- show port-security
ポートセキュリティが有効になっているポートやセキュアMACアドレスの上限、バイオレーションモードを一覧で確認できます。 - show port-security interface
ポートセキュリティが有効になっているインタフェースの詳細な状態を表示します。 - show port-security address
セキュアMACアドレスを確認できます。