ポートセキュリティの概要

ポートセキュリティは、スイッチに接続されるホストのMACアドレスをチェックし、不正なMACアドレスであればポートを利用させないようにする機能です。つまり、ポートセキュリティとは、ポートに接続するホストが正規のものであるかどうかをデータリンク層のレベルのアドレスであるMACアドレスによって認証します。

企業の社内ネットワークに接続するには、まず、レイヤ2スイッチに接続します。レイヤ2スイッチはネットワークの入り口に当たります。ネットワークのセキュリティを確保するためには、入り口での認証が重要です。ポートセキュリティは、ネットワークの入り口での簡易的な認証技術です。

無線LANでも同様の機能があります。無線LANにアクセスする無線LANアクセスポイントでMACアドレスに基づいて認証できます。

ポートセキュリティの動作

ポートセキュリティで接続を許可しているMACアドレスをセキュアMACアドレスといいます。あらかじめスイッチのポートごとにセキュアMACアドレスを登録しておきます。セキュアMACアドレスの登録方法は、手動で登録するスタティック登録と、ポートに接続されたMACアドレスを自動的にセキュアMACアドレスとして登録するダイナミック登録があります。

ポートセキュリティのチェックは、PCがスイッチのポートに接続したときに行うわけではありません。イーサネットフレームを受信したときにポートセキュリティのチェックを行います。受信したイーサネットフレームの送信元MACアドレスをチェックして、以下のような状況のときにセキュリティ違反とみなして、あらかじめ設定で決めている動作を行います。

  • セキュアMACアドレスが最大数のときに、セキュアMACアドレス以外のMACアドレスが送信元のフレームを受信する
  • ポートのセキュアMACアドレスが同じVLANの他のポートで検出される

セキュアMACアドレスの最大数は、デフォルトで1です。基本的にはスイッチの1つのポートに1台だけホストが接続されることを想定しています。すでにセキュアMACアドレスが登録されているポートに、他のMACアドレスが送信元になっているイーサネットフレームを受信すると、セキュリティ違反です。

図 ポートセキュリティの動作 その1

また、スイッチのポートにセキュアMACアドレスを登録することは、「このMACアドレスはこのポートにつながなければいけない」ということを意味しています。指定したセキュアMACアドレスが同一VLANの他のポートにつながった場合もセキュリティ違反です。

図 ポートセキュリティの動作 その2
FastEthernet0/10でもポートセキュリティが有効になっている状態です。

セキュリティ違反が発生すると、そのポートそのものを無効化するか、イーサネットフレームの転送をブロックします。どちらにせよ、セキュリティ違反が発生しているポートのPCは、いっさい通信させないようにします。


Cisco Catalystスイッチでのポートセキュリティの設定は、以下の記事をご覧ください。


ポートセキュリティの注意点

ポートセキュリティはMACアドレスを参照してポートの利用を許可します。そのため、MACアドレスが変わってしまうと、ポートセキュリティによってポートが利用できなくなってしまうことがあるので注意してください。MACアドレスが変わった場合、セキュアMACアドレスの再設定が必要になることがあります。

また、MACアドレスの偽装は難しくありません。イーサネットフレームは暗号化されることもないので、イーサネットフレームをキャプチャすればセキュアMACアドレスはすぐにわかってしまいます。セキュアMACアドレスを偽装されると、不正なホストがレイヤ2スイッチに接続して、フレームを転送できてしまいます。

より高度な認証を行うIEEE802.1x

ポートセキュリティのようなMACアドレスに依存する認証では、上記のような問題点が出てきます。より効率よく社内ネットワークに接続するホストを認証するためには、さらに上位層の情報に基づいた認証を行います。そのための標準規格として、IEEE802.1xがあります。

IEEE802.1xの認証では、接続するホストを利用するユーザのユーザ名、パスワードによってポートを利用させるかどうかを決定することができます。データリンク層のMACアドレスではなく、ユーザ名/パスワードといったアプリケーション層レベルの情報による認証です。また、有線LANだけでなく無線LANのクライアントが無線LANアクセスポイントを利用できるかどうかも認証することができます。

IEEE802.1xの概要を簡単に解説します。IEEE802.1xの認証には、3つの要素があります。

  • サプリカント
  • オーセンティケータ
  • 認証サーバ(RADIUS)サーバ

サプリカントとは、IEEE802.1xの認証を行うためのクライアントソフトウェアです。現在のWindowsやLinuxなどのOSでは、サプリカントの機能が備わっています。

オーセンティケータは、IEEE802.1xに対応した無線LANアクセスポイントやスイッチのことで、サプリカントからの認証要求を認証サーバへ中継する役割を持っています。Cisco CatalystスイッチはIEEE802.1xのオーセンティケータとして設定することができます。

そして、認証サーバによって正規のユーザであるかのユーザ認証を行います。認証サーバはRADIUSサーバです。

こうした3つの要素の間で使われるプロトコルがEAP(Extensible Authentication Protocol)です。EAPはもともとPPPから派生しています。さらに、どのような情報に基づいて認証を行うかによって、EAPには次のようなさまざまな方式があります。

  • EAP-TLS
    サーバ/クライアントともに証明書を利用して認証する
  • EAP-PEAP
    クライアントはユーザ名/パスワードを利用して認証する
  • EAP-LEAP
    Cisco独自。ユーザ名/パスワードによって認証する
図 IEEE802.1xの概要

レイヤ2スイッチの仕組み