スイッチはユーザーから見ると最も身近なネットワーク機器です。ユーザーが使用するパソコンに直接つながるため,ある意味ネットワークへの「入り口」と言えます。不正なユーザーの利用を制限するため,Catalystスイッチでは「ポートセキュリティ」と呼ばれる機能があります。今回はこのポートセキュリティを学びましょう。
MACアドレスの学習
スイッチはMACアドレスを学習して,フォワーディングやフィルタリングを行います。現在のアドレステーブルの表示には,showコマンドを使います(図1)。- # show mac-address-table
show mac-address-tableにより,現在学習しているMACアドレスとその対応ポートの一覧が表示されます。基本的にアドレステーブルは動的に作成されますが,静的に割り当てることもできます。静的に作られたアドレステーブルのエントリは消去されることがありません(図2)。
- (config)# mac-address-table static [MACアドレス] [VLAN] [ポート]
- [MACアドレス]
- 静的にポートに対応するMACアドレス
- [VLAN]
- そのポートが所属するVLAN
- [ポート]
- MACアドレスに対応するポート
- [MACアドレス]
ポートセキュリティ
スイッチはポートにケーブルを接続すると,そのポートが属するVLANへアクセスできるようになります。これは不正侵入しようとする悪意のあるユーザーにとって格好の侵入口になります。つまり,単にポートにケーブルを差し込むだけでそのVLANに所属することができ,他機器への接続が可能になります。これを防ぐため,Catalystスイッチにはポートセキュリティという設定があります。
ポートセキュリティは,登録された機器(の持つMACアドレス)以外が送信元となるフレームを破棄する機能です。それにより,未登録の機器が同一VLANの機器へアクセスするのを防ぐことができます(図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)。
ただし,このダイナミックな登録は再起動すると消えてしまいます。つまり,再起動後に最初にアクセスした何台かがセキュアMACアドレスとして登録されることになり,毎回変わることになってしまいます。そこで,「スティッキーラーニング」という機能を使うことができます。スティッキーラーニングを使うためには,次のコマンドを使います。
- (config-if)# switchport port-security sticky {MACアドレス}
- {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]