ポートセキュリティの設定

ポートセキュリティの基本的な設定は非常にシンプルで、次の2つの手順です。

  1. ポートセキュリティの有効化
  2. セキュアMACアドレスの設定

この2つの手順以外に、セキュリティ違反時のバイオレーションモードの設定やセキュアMACアドレスの最大数の設定などもあります。

ポートセキュリティの有効化

ポートセキュリティを有効にするには、インタフェースコンフィグレーションモードで次のコマンドを入力します。

(config-if)#switchport port-security

1つのポートだけにポートセキュリティを有効にしてもほとんど意味がありません。PCを接続する可能性があるポートすべてで有効にします。そのため、インタフェースコンフィグレーションモードでひとつずつコマンドを入れていくより、interface rangeにより一括で設定したほうがいいでしょう。

ポートセキュリティはスタティックなアクセスポートまたはトランクポートのみに設定可能です。そのため、switchport mode accessまたはswitchport mode trunkコマンドの設定も行います。

セキュアMACアドレスの設定

セキュアMACアドレスを設定するには、以下の2通りの方法があります。

  • スタティック
  • ダイナミック

スタティックにセキュアMACアドレスを設定するには、インタフェースコンフィグレーションモードで次のコマンドを入力します。

(config-if)#switchport port-security mac-address <mac-address>

<mac-address> : 登録するセキュアMACアドレス

ダイナミックなセキュアMACアドレスの設定は特にコマンド入力は必要ありません。ポートセキュリティを有効にしたあと受信したフレームの送信元MACアドレスをセキュアMACアドレスとして自動的に学習します。学習できる数の上限はデフォルトで1です。

ただし、ダイナミックなセキュアMACアドレスはスイッチを再起動すると消えてしまい、再学習が必要です。そこで、ダイナミックにセキュアMACアドレスを学習し、再起動時に再学習しなくてもいいようにスティッキーラーニング(Sticky Learning)の設定を行います。スティッキーラーニングは、セキュアMACアドレスをダイナミックに学習し、その情報をrunning-configにも反映させることができます。running-configをstartup-configに保存すれば、再起動してもセキュアMACアドレスの情報が失われることがありません。スティッキーラーニングの設定は、インタフェースコンフィグレーションモードで次のように設定します。

(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

しない

する

する

しり

する

Catalystスイッチのモデルによっては、その他のバイオレーションモードもあります。

バイオレーションモードを設定するには、インタフェースコンフィグレーションモードで次のコマンドを入力します。

(config)#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秒

この設定により、ポートセキュリティのセキュリティ違反を解消すると、ポートを自動的に復旧させることができます。

ポートセキュリティ以外のerr-disable状態の自動復旧を行うには、causeのあとに適切なオプションをしていします。

セキュアMACアドレスの上限の設定

セキュアMACアドレスの上限を設定するには、インタフェースコンフィグレーションモードで次のように設定します。

(config)#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.