
|
|
IEEE 802.1x規格は、クライアント/サーバ ベースのアクセス制御と認証プロトコルについて定義し、不正なクライアントが公的にアクセス可能なポートを介してLANに接続するのを制限します。認証サーバは、スイッチ ポートに接続された各クライアントを認証してから、スイッチまたはLANが提供するサービスを利用できるようにします。
クライアントが認証されるまでは、802.1xアクセス制御によって、クライアントに接続したポートを経由するExtensible Authentication Protocol over LAN(EAPOL)トラフィックだけを許可します。認証が成功すると、通常のトラフィックがポートを通過できます。
802.1xポートベース認証を使用すると、ネットワーク内のデバイスは 802.1xデバイスの役割 のような特定の役割が割り当てられます。
スイッチがEAPOLフレームを受信して認証サーバにリレーすると、イーサネット ヘッダーが取り除かれ、残りのEAPフレームがRADIUS形式で再度カプセル化されます。EAPフレームはカプセル化の間は変更や検査が行われず、認証サーバはネイティブのフレーム形式でEAPをサポートする必要があります。スイッチが認証サーバからフレームを受信すると、サーバのフレーム ヘッダーが削除され、EAPフレームが残ります。これがイーサネット用にカプセル化されてクライアントに送信されます。
媒介として機能できるデバイスには、Catalyst 3550マルチレイヤ スイッチ、Catalyst 2950スイッチ、Catalyst 2955スイッチ、または無線アクセス ポイントがあります。これらのデバイスは、RADIUSクライアントおよび802.1xをサポートするソフトウェアを実行している必要があります。
スイッチまたはクライアントは、認証を開始できます。 dot1x port-control auto インターフェイス コンフィギュレーション コマンドを使用してポート上で認証をイネーブルにする場合、スイッチは、ポートのリンク ステートがダウンからアップに移行したことを確認したときに、認証を開始する必要があります。次にEAP要求/アイデンティティ フレームをクライアントに送信してアイデンティティを要求します(一般に、スイッチは最初のアイデンティティ/要求フレームを送信して、そのあとで1つまたは複数の認証情報の要求を送信します)。フレームの受信後、クライアントはEAP応答/アイデンティティ フレームで応答します。
ただし、起動中にクライアントがスイッチからEAP要求/アイデンティティ フレームを受信しない場合は、クライアントは、EAPOL開始フレームを送信して認証を開始できます。これにより、スイッチはクライアントのアイデンティティを要求するようになります。
クライアントがそのアイデンティティを供給すると、スイッチは媒介としての役割を開始し、認証が成功または失敗するまでクライアントと認証サーバとの間でEAPフレームを受け渡します。認証が成功すると、スイッチのポートは許可された状態になります。詳細については、 許可ステートおよび無許可ステートのポート を参照してください。
特定のEAPフレーム交換は、使用される認証方式に依存します。 メッセージ交換 に、RADIUSサーバでOne-Time-Password(OTP;ワンタイム パスワード)認証方式を使用するクライアントによって開始されるメッセージ交換を示します。
スイッチ ポートのステートによって、クライアントがネットワーク アクセスを許可されているかどうかがわかります。ポートは、 無許可 ステートで開始します。このステートにある間は、ポートは、802.1xプロトコル パケットを除いてすべての入力トラフィックおよび出力トラフィックが許可されていません。クライアントが正常に認証されると、ポートは 許可 ステートに移行し、そのクライアントへのすべてのトラフィックは通常のフローが許可されます。
802.1xをサポートしないクライアントが無許可の802.1xポートに接続している場合は、スイッチはクライアントにアイデンティティを要求します。この場合、クライアントは要求に応答できないので、ポートは無許可ステートのままで、クライアントはネットワーク アクセスが許可されません。
対照的に、802.1x対応クライアントが802.1xプロトコルを実行していないポートに接続している場合、クライアントはEAPOL開始フレームを送信して認証プロセスを開始します。応答が得られなかった場合、クライアントは要求を一定の回数だけ送信します。応答が得られないので、クライアントはポートが許可ステートにあるものとしてフレームの送信を開始します。
ポートの許可ステートを制御するには、 dot1x port-control インターフェイス コンフィギュレーション コマンドと以下のキーワードを使用します。
クライアントが正常に認証されると(認証サーバからAcceptフレームを受信すると)、ポートが許可ステートに変わり、認証されたクライアントのフレームはすべてそのポート経由で送受信を許可されます。認証が失敗した場合は、ポートは無許可ステートのままですが、認証を再試行できます。認証サーバにアクセスできない場合、スイッチは要求を再送信できます。指定された試行回数の後でもサーバから応答が得られない場合は、認証が失敗し、ネットワーク アクセスは許可されません。
クライアントはログオフするとEAPOLログオフ メッセージを送信します。これにより、スイッチ ポートは無許可ステートに移行します。
ポートのリンク ステートがアップからダウンに移行した場合、またはEAPOLログオフ フレームを受信した場合は、ポートは無許可ステートに戻ります。
Multiple VLAN Access Port(MVAP)は、2つのVLANに属するポートです。この設定により、音声トラフィックとデータトラフィックを異なるVLANに分離することができます。音声VLANに設定されたスイッチ ポートには、次のトラフィックを搬送するために個別のVLANが設定されています。
このため、音声VLANに設定されたポートは、ポートのネイティブVLANのport VLAN identifier(PVID;ポートVLAN ID)と、ポートに接続されたIP Phoneを設定するのに使われるvoice VLAN identifier(VVID;音声VLAN ID)にそれぞれ対応付けられています。
音声VLANを設定したポートで802.1xをイネーブルにすると、CDPメッセージをIP Phoneから受け取るまでVLANはポートでダウン(つまり無許可ステート)のままになります。CDPメッセージを受け取るとVLANがアクティブになり、802.1x認証とは独立して電話が動作します。CDPエントリがタイムアウトになるか、あるいは cdp clear table イネーブルEXECコマンドを使ってクリアされると、VLANは非アクティブになります。
ポートに接続されたワークステーションはPVIDを使用し、通常どおり802.1Xで認証されます。ポートが許可ステートか未許可ステートであるかにかかわらず、IP Phoneは音声トラフィック用のVVIDにアクセスします。
他のワークステーションやIP Phoneがブロックしている音声VLANでは1つのクライアントのみ許可されます。複数ホスト モードをイネーブルにする際に802.1xユーザがプライマリVLANで認証されている場合、802.1x認証がプライマリVLANで成功すれば音声VLANへ無制限にクライアントを追加できます。
dot1x multiple-hosts インターフェイス コンフィギュレーション コマンドを使用して802.1xポートでポート セキュリティをイネーブルにできます。 switchport port-security インターフェイス コンフィギュレーション コマンドを使用してポートにポート セキュリティを設定しなければなりません。複数ホスト モードがイネーブルの場合、802.1xがポートを認証し、クライアントを含むすべてのMACアドレスへのネットワーク アクセスをポート セキュリティが管理します。この場合、802.1x複数ホストポートを介してネットワークへアクセスできるクライアントの数とグループを制限できます。
たとえば、スイッチにおいて、802.1xとポート セキュリティの間には次のような相互作用があります。
クライアントが認証されてポート セキュリティが手動で設定された場合、セキュア ホスト テーブル内のエントリを保証されます(ポート セキュリティのスタティック エージングがイネーブルになっていない場合)。
クライアントが認証されてもセキュリティ テーブルがいっぱいの場合、セキュア違反が発生します。これは、セキュア ホストの最大数がスタティックに設定されているか、またはセキュア ホスト テーブルでのクライアントの有効期限が切れた場合に発生します。クライアントのアドレスの有効期限が切れた場合、そのクライアントのセキュア ホスト テーブルの位置は他のホストに取って代わられます。この場合、定期的な再認証をイネーブルにし、再認証の間隔をポート セキュリティのエージングタイムより短くしなければなりません。
ポート セキュリティ違反モードは、セキュリティ違反の動作を判別します。詳細については、 セキュリティ違反 を参照してください。
スイッチ上での802.1Xとポート セキュリティのイネーブルの詳細については、 複数ホストのイネーブル化 および ポート セキュリティの設定 を参照してください。
ユーザ単位のACLをイネーブルにして、802.1x認証ユーザが異なるレベルのネットワーク アクセスやサービスを使えるようにできます。ユーザ単位のACLアトリビュートはRADIUSサーバから取得し、ユーザ セッション期間に対して適用されます。
スイッチは、ユーザ単位ACL、ルータACL、またはポートACLのうち、1タイプのみをサポートします。ルータACLはレイヤ3インターフェイスに適用され、ポートACLはレイヤ2またはレイヤ3インターフェイスに適用されます。あるポートがポート ベースACLに設定されている場合、ルータ ベースACLを設定しようとするとスイッチがこれを拒否します。対照的に、あるポートがルータ ベースACLに設定されている場合、ポート ベースACLを設定しようとするとスイッチがこれを拒否します。設定の矛盾を回避するには、RADIUSサーバに保存するユーザ プロファイルを慎重に計画しなければなりません。
1ポートがサポートする802.1x認証ユーザは1ユーザのみです。複数ホスト モードがポートでイネーブルの場合、ユーザ単位ACLアトリビュートは関連ポートでディセーブルです。
QoS マップおよびVLANマップはユーザ単位ACLをサポートしません。
RADIUSは、Vendor Specific Attributeなどのユーザ単位アトリビュートをサポートします。これらのVendor-Specific Attribute(VSA)は、オクテット ストリング形式で、認証プロセス中にスイッチに渡されます。ユーザ単位ACLに使用されるVSAは、入力方向では inacl#< n > で、出力方向では outacl#< n > です。MAC ACLは、出力方向のみサポートされます。
拡張ACL構文形式のみを使用して、RADIUSサーバに保存するユーザ単位の設定を定義します。RADIUSサーバから定義が渡される場合、拡張命名規則を使用して作成されます。ただし、フィルタ IDアトリビュートを使用する場合、標準ACLを示すことができます。
フィルタIDアトリビュートを使用して、すでにスイッチに設定されている着信または発信ACLを指定できます。アトリビュートには、ACL番号と、その後に入力フィルタリングか出力フィルタリングを示す .in または .out が含まれています。RADIUSサーバが .in または .out 構文を許可しない場合、アクセス リストはデフォルトで発信ACLに適用されますスイッチでは、IP標準およびIP拡張アクセス リストがサポートされています(番号は1〜199、1300〜2699)。
VSAの例については、 ベンダー固有のRADIUSアトリビュート用にスイッチを設定する方法 を参照してください。ACLの設定の詳細については、 ACLによるネットワーク セキュリティの設定 を参照してください。
VLAN割り当てを使用して特定のユーザに対してネットワーク アクセスを制限できます。VLAN割り当てでは、802.1x認証ポートはポートに接続したクライアントのユーザ名に基づいてVLANに割り当てられます。RADIUSサーバ データベースは、ユーザ名とVLANのマッピングを維持します。ポートの802.1x認証が成功したら、RADIUSサーバはVLAN割り当てをユーザに送信します。
スイッチとRADIUSサーバを設定する際、802.1xとVLAN割り当てには次の特性があります。
設定エラーには、ルーテッド ポートへのVLANの指定、間違ったVLAN ID、存在しないまたは内部(ルーテッド ポートの)のVLAN ID、あるいは音声VLAN IDへの割り当て試行、などがあります。
VLAN割り当てを設定するには、以下を実行する必要があります。
アトリビュート[64]は、値 VLAN (type 13)でなければなりません。アトリビュート[65]は、値 802 (type 6)でなければなりません。アトリビュート[81]には、802.1x認証ユーザに割り当てられた VLAN名 を指定します。
VSAの詳細については、 ベンダー固有のRADIUSアトリビュート用にスイッチを設定する方法 を参照してください。
802.1xポートベースの認証は、次の2つのトポロジーでサポートされています。
ポイントツーポイント( 802.1xデバイスの役割 を参照)では、802.1x対応のスイッチ ポートに接続できるクライアントは1台だけです。スイッチは、ポートのリンク ステートがアップに変化すると、クライアントを検出します。クライアントがログオフするか、別のクライアントに交換されると、スイッチはポートのリンク ステートをダウンに変更し、ポートは無許可ステートに戻ります。
無線LANの例 に、無線LANでの802.1xポートベースの認証を示します。802.1xポートは複数ホスト ポートとして設定されており、このポートは1つのクライアントが認証されるとすぐに許可ステートになります。ポートが許可されると、そのポートに間接的に接続されている残りのホストはすべて、ネットワーク アクセスを許可されます。ポートが無許可になると(再認証が失敗するか、EAPOLログオフ メッセージを受信する)、スイッチは、接続しているすべてのクライアントに対してネットワーク アクセスを拒否します。このトポロジーでは、無線アクセス ポイントは、接続しているクライアントを認証する役割があり、スイッチに対してクライアントとして機能します。
ここでは、スイッチに802.1xポートベースの認証を設定する手順を説明します。
802.1xのデフォルト設定 に、802.1xのデフォルト設定を示します。
802.1x認証設定時の注意事項と動作特性は、次のとおりです。
802.1xポートベースの認証をイネーブルにするには、AAAをイネーブルにして認証方式リストを指定する必要があります。方式リストは、ユーザ認証のためクエリ送信を行う手順と認証方式を記述したものです。
ソフトウェアは、リスト内の最初の方式を使用してユーザを認証します。その方式で応答が得られなかった場合、ソフトウェアはそのリストから次の方式を選択します。このプロセスは、リスト内の認証方式による通信が成功するか、定義された方式をすべて試すまで続きます。このサイクルのいずれかの地点で認証が失敗すると、認証プロセスは停止し、他の認証方式が試行されることはありません。
ユーザ単位ACLおよび VLAN割り当てを可能にするには、AAA許可をイネーブルにしてネットワーク関連のすべてのサービス要求に対してスイッチを設定する必要があります。
802.1xポートベースの認証を設定するには、イネーブルEXECモードで次の手順を実行します。この手順は必須です。
|
|
||
|
|
||
|
|
authentication コマンドに名前付きリストが 指定されない 場合に使用されるデフォルトのリストを作成するには、 default キーワードの後ろにデフォルトの状況で使用する方式を指定します。デフォルトの方式リストは、自動的にすべてのインターフェイスに適用されます。 |
|
|
|
(任意)ユーザ単位ACLやVLAN割り当てなど、ネットワーク関連のすべてのサービス要求に対するユーザRADIUS許可をスイッチに設定します。 |
|
|
|
(任意)コンフィギュレーション モード コマンドをイネーブルにしてユーザ単位ACLを使用可能にするようにスイッチを設定します。 |
|
|
|
インターフェイス コンフィギュレーション モードを開始し、クライアントに接続されたインターフェイスの中で、802.1x認証をイネーブルにするものを指定します。 |
|
|
|
トランク、ダイナミック、ダイナミック アクセス、 |
|
|
|
||
|
|
出力された802.1x Port SummaryセクションのStatusカラムを調べてください。 enabled ステータスは、ポート制御値 auto または force-unauthorized に設定されていることを意味します。 |
|
|
|
AAAをディセーブルにするには、 no aaa new-model グローバル コンフィギュレーション コマンドを使用します。802.1x AAA認証をディセーブルにするには、 no aaa authentication dot1x { default | list-name } method1 [ method2 ...] グローバル コンフィギュレーション コマンドを使用します。AAA許可をディセーブルにするには、 no aaa authorization グローバル コンフィギュレーション コマンドを使用します。802.1x認証をディセーブルにするには、 dot1x port-control force-authorized または no dot1x port-control インターフェイス コンフィギュレーション コマンドを使用します。
次の例では、ポートFast Ethernet 0/1上でAAAおよび802.1xをイネーブルにします。
Switch(config)# aaa authentication dot1x default group radius
Switch(config)# interface fastethernet0/1
Switch(config-if)# switchport mode access
RADIUSセキュリティ サーバは、ホスト名またはIPアドレス、ホスト名と特定のUDPポート番号、あるいはIPアドレスと特定のUDPポート番号で識別します。IPアドレスとUDPポート番号の組み合わせにより、一意の識別子が作成され、これにより、サーバ上の同一のIPアドレスの複数のUDPポートにRADIUS要求を送信できます。同一のRADIUSサーバ上の2つの異なるホスト エントリが同じサービス(たとえば、認証)を設定している場合、あとから設定されたホスト エントリは、最初のエントリのフェール オーバー バックアップとして機能します。RADIUSのホスト エントリは、設定された順序で試されます。
スイッチ上にRADIUSサーバ パラメータを設定するには、イネーブルEXECモードで次の手順を実行します。この手順は必須です。
指定されたRADIUSサーバを削除するには、 no radius-server host { hostname | ip-address }グローバル コンフィギュレーション コマンドを使用します。
次の例は、IPアドレスが172.20.39.46のサーバをRADIUSサーバとして指定し、ポート1612を許可ポートとして使用し、暗号化鍵をRADIUSサーバ上の鍵と rad123 に設定します。
Switch(config)# radius-server host 172.l20.39.46 auth-port 1612 key rad123
radius-server host グローバル コンフィギュレーション コマンドを使用すると、すべてのRADIUSサーバに対してタイムアウト、再送信、および暗号化鍵の値をグローバルに設定できます。サーバ単位でこれらのオプションを設定する場合は、 radius-server timeout 、 radius-server retransmit 、および radius-server key グローバル コンフィギュレーション コマンドを使用します。詳細については、 すべてのRADIUSサーバに対する設定 を参照してください。
さらに、RADIUSサーバでいくつかの設定を行う必要があります。この設定とは、スイッチのIPアドレス、およびサーバとスイッチで共用するキー テキスト ストリングです。詳細については、RADIUSサーバのマニュアルを参照してください。
802.1xクライアントの定期的な再認証をイネーブルにして、その発生間隔を指定できます。再認証の間隔を指定しなかった場合は、再認証は3600秒ごとに行われます。
802.1xクライアント自動再認証はグローバル設定で、個々のポートに接続しているクライアント単位では設定できません。特定のポートに接続しているクライアントを手動で再認証するには、 手動によるポート接続クライアントの再認証 を参照してください。
クライアントの定期的な再認証をイネーブルにして、再認証を試行する間隔(秒数)設定するには、イネーブルEXECモードで次の手順を実行します。
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
定期的な再認証をディセーブルにするには、 no dot1x re-authentication グローバル コンフィギュレーション コマンドを使用します。再認証を試行する間隔をデフォルトの秒数に戻すには、 no dot1x timeout re-authperiod グローバル コンフィギュレーション コマンドを使用します。
次の例では、定期的再認証をイネーブルにし、再認証を試行する間隔を4000秒に設定します。
Switch(config)# dot1x re-authentication
dot1x re-authenticate interface interface-id イネーブルEXECコマンドを使用すると、特定のポートに接続しているクライアントを手動でいつでも再認証できます。定期的な再認証をイネーブルまたはディセーブルにする場合は、 定期的な再認証のイネーブル化 を参照してください。
次の例では、ポートFast Ethernet 0/1に接続したクライアントを手動で再認証します。
Switch# dot1x re-authenticate interface fastethernet0/1
スイッチがクライアントを認証できなかった場合は、スイッチは一定時間アイドル状態を続け、その後再試行します。アイドル時間は、quiet-periodの値によって決まります。クライアントが無効なパスワードを提供したため、クライアントの認証失敗が起こる可能性があります。デフォルトより小さい数値を入力することで、ユーザに対する応答時間を短縮できます。
クライアントは、スイッチからのEAP要求/アイデンティティ フレームに、EAP応答/アイデンティティ フレームで応答します。スイッチはこの応答を受信しなかった場合、一定時間(再送信時間)待機してから、フレームを再送信します。
スイッチとクライアント間の再送信時間の変更だけでなく、(応答を受信しなかった場合)認証プロセスを再開するまでに、スイッチがクライアントにEAP要求/アイデンティティ フレームを送信する回数を変更できます。
無線LANの例 のように、複数のホストを1つの802.1x対応ポートに接続できます。このモードでは、接続ホストのいずれか1つだけが許可されれば、すべてのホストがネットワーク アクセスを許可されます。ポートが無許可(再認証が失敗するかEAPOLログオフ メッセージを受信した場合)になると、接続されたすべてのクライアントのネットワーク アクセスが拒否されます。
複数ホスト モードがイネーブルの場合、802.1xをポートの認証に使用し、クライアントを含むすべてのMACアドレスへのネットワーク アクセスをポート セキュリティが管理します。
dot1x port-control インターフェイス コンフィギュレーション コマンドが auto に設定されている802.1x許可ポート上で、複数のホスト(クライアント)とポート セキュリティを許可するには、イネーブルEXECモードで次の手順を実行します。
|
|
||
|
|
||
|
|
802.1x許可ポート上で、複数のホスト(クライアント)とポート セキュリティを許可します。 指定されたインターフェイスについて 、 dot1x port-control インターフェイス コンフィギュレーション コマンドが auto に設定されていることを確認します。 |
|
|
|
||
|
|
||
|
|
ポート上の複数ポートをディセーブルにするには、no dot1x multiple-hostsインターフェイス コンフィギュレーション コマンドを使用します。
次の例では、Fast Ethernet 0/1ポート上で802.1xをイネーブルにし、複数ポートを許可します。
Switch(config)# interface fastethernet0/1
Switch(config-if)# dot1x port-control auto
すべてのインターフェイスの802.1x統計情報を表示するには、 show dot1x statistics イネーブルEXECコマンドを使用します。特定のインターフェイスの802.1x統計情報を表示するには、 show dot1x statistics interface interface-id イネーブルEXECコマンドを使用します。
スイッチについて802.1x管理および動作のステータスを表示するには、 show dot1x イネーブルEXECコマンドを使用します。特定のインターフェイスの802.1x管理および動作のステータスを表示するには、 show dot1x interface interface-id イネーブルEXECコマンドを使用します。
All contents copyright (C) 1992--2003 Cisco Systems K.K.