目次
ポートセキュリティの設定
ポートセキュリティの基本的な設定は非常にシンプルで、次の2つの手順です。
- ポートセキュリティの有効化
- セキュアMACアドレスの設定
この2つの手順以外に、セキュリティ違反時のバイオレーションモードの設定やセキュアMACアドレスの最大数の設定などもあります。
ポートセキュリティの有効化
ポートセキュリティを有効にするには、インタフェースコンフィグレーションモードで次のコマンドを入力します。
(config)#interface <interface-name>
(config-if)#switchport port-security
1つのポートだけにポートセキュリティを有効にしてもほとんど意味がありません。PCを接続する可能性があるポートすべてで有効にします。そのため、インタフェースコンフィグレーションモードでひとつずつコマンドを入れていくより、interface rangeにより一括で設定したほうがいいでしょう。
セキュアMACアドレスの設定
セキュアMACアドレスを設定するには、以下の2通りの方法があります。
- スタティック
- ダイナミック
スタティックにセキュアMACアドレスを設定するには、インタフェースコンフィグレーションモードで次のコマンドを入力します。
(config)#interface <interface-name>
(config-if)#switchport port-security mac-address <mac-address>
<interface-name> : インタフェース名
<mac-address> : 登録するセキュアMACアドレス
ダイナミックなセキュアMACアドレスの設定は特にコマンド入力は必要ありません。ポートセキュリティを有効にしたあと受信したフレームの送信元MACアドレスをセキュアMACアドレスとして自動的に学習します。学習できる数の上限はデフォルトで1です。
ただし、ダイナミックなセキュアMACアドレスはスイッチを再起動すると消えてしまい、再学習が必要です。そこで、ダイナミックにセキュアMACアドレスを学習し、再起動時に再学習しなくてもいいようにスティッキーラーニング(Sticky Learning)の設定を行います。スティッキーラーニングは、セキュアMACアドレスをダイナミックに学習し、その情報をrunning-configにも反映させることができます。running-configをstartup-configに保存すれば、再起動してもセキュアMACアドレスの情報が失われることがありません。スティッキーラーニングの設定は、インタフェースコンフィグレーションモードで次のように設定します。
(config)#interface <interface-name>
(config-if)#switchport port-security mac-address sticky
スティッキーラーニングを設定した場合の例を挙げます。スイッチのFa0/11でスティッキーラーニングを設定している状態のrunning-configの一部です。
Switch#show run int fa 0/11 Building configuration... Current configuration : 213 bytes ! interface FastEthernet0/11 switchport mode access switchport port-security switchport port-security mac-address sticky spanning-tree portfast end
そして、Fa0/11にMACアドレス「3495.db12.f3d5」を接続すると、running-configに次のように1行追加されます。
Switch#show run int fa 0/11 Building configuration... Current configuration : 213 bytes ! interface FastEthernet0/11 switchport mode access switchport port-security switchport port-security mac-address sticky switchport port-security mac-address sticky 3495.db12.f3d5 spanning-tree portfast end
バイオレーションモードの設定
バイオレーションモードとは、ポートセキュリティの違反があった場合の動作です。デフォルトはshutdownです。バイオレーションモードの種類とその違いを次の表にまとめます。どのバイオレーションモードでもポートセキュリティ違反時にはフレームの転送は行いませんが、モードによって違反時のポートのシャットダウンや違反カウンタの増加などが異なります。
モード |
フレームの転送 |
SNMPトラップの送信 |
Syslogメッセージの送信 |
違反カウンタの増加 |
ポートのシャットダウン |
protect |
しない |
しない |
しない |
しない |
しない |
restrict |
しない |
する |
する |
する |
しない |
shutdown |
しない |
する |
する |
する |
する |
バイオレーションモードを設定するには、インタフェースコンフィグレーションモードで次のコマンドを入力します。
(config)#interface <interface-name>
(config-if)#switchport port-security violation {shutdown|restrict|protect}
なお、バイオレーションモードのshutdownによって、shutdownされたポートは、err-disable状態となりデフォルトでは自動的に復旧しません。復旧するには、セキュリティ違反を解消したうえで、ポートをshutdown → no shutdownします。
err-disableの自動復旧
ポートセキュリティのセキュリティ違反によってerr-disable状態になったポートを自動的に復旧させることもできます。ポートセキュリティのerr-disable状態を自動的に復旧させるためには、グローバルコンフィグレーションモードで次のコマンドを入力します。
(config)#errdisable recovery cause psecure-violation
(config)#errdisable recovery interval <sec>
<sec> : 自動復旧させるインターバル。デフォルト300秒
この設定により、ポートセキュリティのセキュリティ違反を解消すると、ポートを自動的に復旧させることができます。
セキュアMACアドレスの上限の設定
セキュアMACアドレスの上限を設定するには、インタフェースコンフィグレーションモードで次のように設定します。
(config)#interface <interface-name>
(config-if)#switchport port-security maximum <value>
<value> : セキュアMACアドレスの数
デフォルトは1で、最大132まで設定できます。セキュアMACアドレスを最大数まで登録している状態で、新しい送信元MACアドレスを検出した場合、セキュリティ違反となります。
ポートセキュリティの確認
ポートセキュリティを確認するには、主に以下のshowコマンドを利用します。
- show port-security
- show port-security interface
- show port-security address
show port-security
show port-securityはポートセキュリティが有効になっているポートやセキュアMACアドレスの上限、バイオレーションモードを一覧で確認できます。
Switch#show port-security Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action (Count) (Count) (Count) --------------------------------------------------------------------------- Gi1/0/1 1 1 0 Shutdown --------------------------------------------------------------------------- Total Addresses in System (excluding one mac per port) : 0 Max Addresses limit in System (excluding one mac per port) : 8192
show port-security interface
show port-security interfaceはポートセキュリティが有効になっているインタフェースの詳細な状態を表示します。
Switch#show port-security interface GigabitEthernet 1/01 /1 Port Security : Enabled Port Status : Secure-up Violation Mode : Shutdown Aging Time : 0 mins Aging Type : Absolute SecureStatic Address Aging : Disabled Maximum MAC Addresses : 1 Total MAC Addresses : 1 Configured MAC Addresses : 0 Sticky MAC Addresses : 1 Last Source Address:Vlan : 6073.5cd6.e030:1 Security Violation Count : 0
show port-security address
そしてshow port-security addressコマンドによって、セキュアMACアドレスを確認できます。
Switch#show port-security address Secure Mac Address Table ----------------------------------------------------------------------------- Vlan Mac Address Type Ports Remaining Age (mins) ---- ----------- ---- ----- ------------- 1 6073.5cd6.e030 SecureSticky Gi1/0/1 - ----------------------------------------------------------------------------- Total Addresses in System (excluding one mac per port) : 0 Max Addresses limit in System (excluding one mac per port) : 8192
セキュリティ違反時のログ
セキュリティ違反が発生すると、コンソールには次のようなログが出力されます。
00:06:07: %PM-4-ERR_DISABLE: psecure-violation error detected on Fa0/12, putting Fa0/12 in err-disable state 00:06:07: %PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred, caused by MAC address 3495.db12.f3d5 on port FastEthernet0/12.
関連記事
Cisco Catalystスイッチでのポートセキュリティの具体的な設定例は、以下の記事で解説しています。
レイヤ2スイッチの仕組み
- レイヤ2スイッチの概要 ~ひとつのネットワークを作る~
- レイヤ2スイッチの動作 ~MACアドレスに基づいて転送~
- 演習:レイヤ2スイッチの動作[Cisco]
- コリジョンドメインとブロードキャストドメイン
- レイヤ2スイッチの転送方式
- 全二重通信 ~送信も受信も同時に~
- オートネゴシエーション ~両端のポートの一番いい速度/モードにする~
- Cisco 全二重/半二重の不一致(duplex mismatch)
- ポートセキュリティ ~つながっているPCは正規のPCですか?~
- Cisco ポートセキュリティの設定
- Ciscoポートセキュリティの設定例
- SPAN ~ネットワークのモニタリング~
- スパニングツリーの概要 ~イーサネットフレームの転送経路を冗長化~
- BPDU ~スパニングツリーの制御情報~
- スパニングツリーの仕組み ~ルートブリッジを中心とした転送経路を決める~
- スパニングツリー ポートIDでルートポートが決まるとき
- スパニングツリーのポートの状態 ~ブロッキング/リスニング/ラーニング/フォワーディング~
- TCN BPDUによるトポロジ変更通知
- PVST ~VLANごとにスパニングツリーを考える~
- スパニングツリー(PVST)の設定と確認
- PortFast ~すぐにフォワーディング状態にする~
- スパニングツリーの設定例
- RSTP ~高速なスパニングツリー~
- RSTPの設定例
- ルートガード
- BPDUガード/BPDUフィルタ
- PoE ~UTPケーブルで電源供給~
- イーサチャネルの概要 ~複数のイーサネットリンクをまとめる~
- イーサチャネルの負荷分散 ~単純に帯域幅が増えるわけではない~
- L2イーサチャネルの設定 ~スイッチポートをまとめる~
- L3イーサチャネル ~ルーテッドポートをまとめる~
- イーサチャネルの設定例 L3イーサチャネルとL2イーサチャネルの接続
- LACP/PAgPのshowコマンド
- [Juniper-Cisco相互接続] L2リンクアグリゲーションの設定例
- [Juniper-Cisco相互接続] L3リンクアグリゲーションの設定例
- ストームコントロール