スイッチはユーザーから見ると最も身近なネットワーク機器です。ユーザーが使用するパソコンに直接つながるため,ある意味ネットワークへの「入り口」と言えます。不正なユーザーの利用を制限するため,Catalystスイッチでは「ポートセキュリティ」と呼ばれる機能があります。今回はこのポートセキュリティを学びましょう。

MACアドレスの学習

 スイッチはMACアドレスを学習して,フォワーディングやフィルタリングを行います。現在のアドレステーブルの表示には,showコマンドを使います(図1)。

  • # show mac-address-table

図1●show mac-address-table
図1●show mac-address-table

 show mac-address-tableにより,現在学習しているMACアドレスとその対応ポートの一覧が表示されます。基本的にアドレステーブルは動的に作成されますが,静的に割り当てることもできます。静的に作られたアドレステーブルのエントリは消去されることがありません(図2)。

  • (config)# mac-address-table static [MACアドレス] [VLAN] [ポート]
    • [MACアドレス]
      • 静的にポートに対応するMACアドレス
    • [VLAN]
      • そのポートが所属するVLAN
    • [ポート]
      • MACアドレスに対応するポート

図2●アドレステーブルへの静的エントリの追加
図2●アドレステーブルへの静的エントリの追加

ポートセキュリティ

 スイッチはポートにケーブルを接続すると,そのポートが属するVLANへアクセスできるようになります。これは不正侵入しようとする悪意のあるユーザーにとって格好の侵入口になります。つまり,単にポートにケーブルを差し込むだけでそのVLANに所属することができ,他機器への接続が可能になります。これを防ぐため,Catalystスイッチにはポートセキュリティという設定があります。

 ポートセキュリティは,登録された機器(の持つMACアドレス)以外が送信元となるフレームを破棄する機能です。それにより,未登録の機器が同一VLANの機器へアクセスするのを防ぐことができます(図3)。

図3●ポートセキュリティ

 ポートセキュリティの設定は次の3つの項目からなります。

  • ポートセキュリティの有効化
  • MACアドレスの登録
  • バイオレーションモードの設定(オプション)

 まず,ポートセキュリティの有効化ですが,これはswitchport port-securityコマンドで実行します。このコマンドを実行したインタフェースにはポートセキュリティが設定されます。

  • (config-if)# switchport port-security

 次に通信を許可するMACアドレスを登録します。この登録されたMACアドレスを「セキュアMACアドレス」と呼びます。ポートセキュリティが有効になったインタフェースではこのセキュアMACアドレスが送信元のフレーム以外のフレームは破棄されることになります。このセキュアMACアドレスの登録は手動のスタティックと,動的なダイナミックの2種類があります。

 スタティックで設定する場合は,switchport port-security mac-adressコマンドを使用します。このコマンドにより,セキュアMACアドレスが登録されます。

  • (config-if)# switchport port-security mac-address [MACアドレス]
    • [MACアドレス]
        登録したいセキュアMACアドレス

 セキュアMACアドレスの最大登録数は,switchport port-security maximumコマンドで設定します。デフォルトでは「1」ですので,変更しない限り設定した1つのセキュアMACアドレスを持つ機器以外は接続できなくなります。

  • (config-if)# switchport port-security maximum [数]
    • [数]
      • アドレステーブルに記憶するセキュアMACアドレス数。デフォルトは1

 一方,ダイナミックなセキュアMACアドレスの登録は,スイッチが受け取ったフレームの送信元MACアドレスを学習することにより,セキュアMACアドレスとします。つまり,一番最初に受信したフレームの送信元MACアドレスがそのポートのセキュアMACアドレスになります。これも先ほどのswitchport port-security maximumコマンドで設定した数だけ学習することになります。

 このダイナミックな登録がデフォルトです。例えば,ダイナミックな登録で,記憶できるセキュアMACアドレスの数が「2」の場合,次の2つのコマンドを入力することになります(図4)。

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

 ただし,このダイナミックな登録は再起動すると消えてしまいます。つまり,再起動後に最初にアクセスした何台かがセキュアMACアドレスとして登録されることになり,毎回変わることになってしまいます。そこで,「スティッキーラーニング」という機能を使うことができます。スティッキーラーニングを使うためには,次のコマンドを使います。

  • (config-if)# switchport port-security sticky {MACアドレス}
    • {MACアドレス}
      • 省略可。スティッキーセキュアMACアドレスに登録したいMACアドレス

 スティッキーラーニングにすると,登録するセキュアMACアドレスをrunning-configに保存します。これをstartup-configに保存することにより,再起動後もそのアドレスをセキュアMACアドレス(スティッキーセキュアMACアドレスと呼ぶ)として使用します。スティッキーセキュアMACアドレスは次の手順で登録されます。

  • 現在セキュアMACアドレスに登録されているMACアドレスを,スティッキーセキュアMACアドレスにする
  • ない場合,または最大登録数にまだ達していない場合,着信したフレームの送信元MACアドレスをスティッキーセキュアMACアドレスにする

 現在のセキュアMACアドレスを確認したい場合はshowコマンドを,現在のセキュアMACアドレスを消去したい場合はclearコマンドを使用します。

  • # show port-security address … 現在のセキュアMACアドレスの表示
  • # clear port-security [対象]… 現在のセキュアMACアドレスの消去
    • [対象]
      • all … すべてのセキュアMACアドレスを消去
      • dynamic … ダイナミックに登録したセキュアMACアドレスを消去
      • sticky … スティッキーセキュアMACアドレスを消去
      • MACアドレス … 指定したセキュアMACアドレスを消去
      • インタフェース … 指定したインタフェースのセキュアMACアドレスを消去

 ポートセキュリティの最後の設定はオプションのバイオレーションモードです。バイオレーションモードとは,ポートセキュリティが有効な状態で,セキュアMACアドレス以外が送信元のフレームを受信した場合の動作を示します。これには3種類あり,保護(protect)モード,制限(restrict)モード,シャットダウン(shutdown)モードです。デフォルトではシャットダウンモードです。3種類の違いは次のようになります。

モードフレームの破棄SNMP/SYSLOG
による通知
インタフェース
無効化
protect××
restrict×
shutdown

 バイオレーションモードを設定するには,switchport port-security violationコマンドを使用します。注意する点としては,このコマンドはグローバル設定モードで入力し,すべてのインタフェースで共通の設定となります。

  • (config)# switchport port-security violation [モード]
    • [モード]
      • バイオレーションモード。protect,restrict,shutdownのいずれか
■変更履歴
本文中のコマンド表記でstickeyとしていたのをstickyに修正しました。お詫びして訂正します。本文は修正済みです。 [2010/03/25 17:10]