RADIUS 認可変更に関する情報
RADIUS 認可変更について
標準 RADIUS インターフェイスは通常、ネットワークに接続しているデバイスから要求が送信され、クエリーが送信されたサーバが応答するプル モデルで使用されます。シスコのソフトウェアは、プッシュ モデルで使用される RFC 5176 で定義された RADIUS CoA 要求をサポートしています。このモデルでは、要求は外部サーバからネットワークに接続されたデバイスへ発信され、外部の認証、許可、アカウンティング(AAA)またはポリシー サーバからの動的なセッション再設定が可能になります。
次のセッション単位の CoA 要求を使用します。
-
セッション再認証
-
セッションの終了
-
ポート シャットダウンでのセッション終了
-
ポート バウンスでのセッション終了
-
セキュリティとパスワード
-
アカウンティング
CoA 要求
CoA 要求は、RFC 5176 に記載されているように、プッシュ モデルで使用することによって、セッション識別、ホスト再認証、およびセッション終了を行うことができます。モデルは、次のように、1 つの要求(CoA-Request)と 2 つの考えられる応答コードで構成されます。
-
CoA acknowledgment(ACK)[CoA-ACK]
-
CoA non-acknowledgment(NAK)[CoA-NAK]
要求は CoA クライアント(通常は RADIUS またはポリシー サーバ)から開始されて、リスナーとして動作するデバイスに転送されます。
RFC 5176 規定
Disconnect Request メッセージは Packet of Disconnect(POD)とも呼ばれますが、セッション終了に対してデバイスでサポートされています。
次の表に、RADIUS 認可変更(CoA)機能でサポートされている IETF 属性を示します。
属性番号 |
属性名 |
---|---|
24 |
State |
31 |
Calling-Station-ID |
44 |
Acct-Session-ID |
80 |
Message-Authenticator |
101 |
Error-Cause |
次の表に、Error-Cause 属性で取ることができる値を示します。
値 |
説明 |
---|---|
201 |
削除された残留セッション コンテキスト |
202 |
無効な EAP パケット(無視) |
401 |
サポートされていない属性 |
402 |
見つからない属性 |
403 |
NAS 識別情報のミスマッチ |
404 |
無効な要求 |
405 |
サポートされていないサービス |
406 |
サポートされていない拡張機能 |
407 |
無効な属性値 |
501 |
管理上の禁止 |
502 |
ルート不可能な要求(プロキシ) |
503 |
セッション コンテキストが検出されない |
504 |
セッション コンテキストが削除できない |
505 |
その他のプロキシ処理エラー |
506 |
リソースが使用不可能 |
507 |
要求が発信された |
508 |
マルチ セッションの選択がサポートされてない |
CoA 要求応答コード
CoA 要求の応答コードは、デバイスへコマンドを発行するために使用されます。サポートされているコマンドを「CoA 要求コマンド」に示します。
RFC 5176 で定義されている CoA 要求応答コードのパケットの形式は、コード、ID、長さ、オーセンティケータ、およびタイプ、長さ、値(TLV)形式の属性から構成されます。
属性フィールドは、Cisco ベンダー固有属性(VSA)を送信するために使用します。
セッションの識別
特定のセッションに対する接続解除および CoA 要求の場合、デバイスは次の 1 つまたは複数の属性に基づいてセッションを検出します。
-
Acct-Session-Id(IETF 属性 #44)
-
Audit-Session-Id(シスコのベンダー固有属性(VSA))
-
Calling-Station-Id(ホスト MAC アドレスを含む IETF 属性 #31)
CoA メッセージに含まれるすべてのセッション ID 属性がそのセッションと一致しない限り、デバイスは「Invalid Attribute Value」エラー コード属性を含む Disconnect-NAK または CoA-NAK を返します。
Note |
CoA NAK メッセージは、キーの不一致があるすべての CoA 要求に送信されるわけではありません。メッセージは、クライアントの最初の 3 つの要求にのみ送信されます。その後、そのクライアントからのすべてのパケットがドロップされます。キーの不一致が見つかると、CoA NAK メッセージで送信される応答オーセンティケータはダミーのキー値から計算されます。 |
CoA ACK 応答コード
許可ステートの変更に成功した場合は、肯定確認応答(ACK)が送信されます。CoA ACK 内で返される属性は CoA 要求によって異なります。
CoA NAK 応答コード
否定応答(NAK)は許可ステートの変更に失敗したことを示し、エラーの理由を示す属性を含めることができます。
CoA 要求コマンド
デバイスでサポートされているコマンドを次の表に示します。すべての CoA コマンドには、デバイスと CoA クライアント間のセッション ID が含まれている必要があります。
コマンド |
シスコの VSA |
---|---|
Bounce host port |
Cisco:Avpair="subscriber:command=bounce-host-port" |
Disable host port |
Cisco:Avpair="subscriber:command=disable-host-port" |
Reauthenticate host |
Cisco:Avpair="subscriber:command=reauthenticate" |
Terminate session |
VSA を必要としない標準の接続解除要求です |
セッション再認証
セッション認証を開始するために、認証、許可、アカウンティング(AAA)サーバは、Cisco VSA と 1 つ以上のセッション ID 属性を含む標準 CoA 要求メッセージを送信します。Cisco VSA は、Cisco:Avpair=“subscriber:command=reauthenticate” の形式です。
次のシナリオでは、現在のセッション状態によって、メッセージに対するデバイスの応答が決まります。
-
セッションが現在、IEEE 802.1x によって認証されている場合、デバイスは Extensible Authentication Protocol over LAN(EAPoL)-RequestId メッセージをサーバに送信することで応答します。
-
セッションが現在 MAC 認証バイパス(MAB)によって認証されている場合、デバイスはアクセス要求をサーバに送信し、最初に成功した認証で使用したのと同じ ID 属性を渡します。
-
デバイスがコマンドを受信した際にセッション認証が実行中である場合は、デバイスはプロセスを終了し、認証シーケンスを再開し、最初に試行されるように設定された方式で開始します。
セッションの終了
CoA 接続解除要求は、ホスト ポートをディセーブルにせずにセッションを終了します。CoA 接続解除要求終了によって、指定したホストのオーセンティケータ ステート マシンが再初期化されますが、ホストのネットワークへのアクセスは制限されません。セッションが見つからない場合、デバイスは「Session Context Not Found」エラー コード属性を使用して Disconnect-NAK メッセージを返します。セッションが見つかった場合、デバイスはセッションを終了します。セッションが完全に削除されると、デバイスは Disconnect-ACK メッセージを返します。
ホストのネットワークへのアクセスを制限するには、Cisco:Avpair=“subscriber:command=disable-host-port” VSA を含む CoA 要求を使用します。このコマンドは、ホストがネットワーク上で問題を起こしていることを把握し、ホストのネットワーク アクセスを即座にブロックする必要がある場合に便利です。ポートのネットワーク アクセスを復元する場合は、非 RADIUS メカニズムを使用して再びイネーブルにします。
CoA 要求の disable host port
RADIUS サーバーの CoA disable port コマンドを実行すると、セッションをホストしている認証ポートが管理的にシャットダウンされます。その結果、セッションは終了します。このコマンドは、ホストがネットワーク上で問題を起こしていることを把握し、ホストのネットワーク アクセスを即座にブロックする必要がある場合に便利です。ポートのネットワーク アクセスを復元する場合は、非 RADIUS メカニズムを使用して再びイネーブルにします。このコマンドは、次の VSA を含む標準の CoA-Request メッセージで伝達されます。
Cisco:Avpair="subscriber:command=disable-host-port"
このコマンドはセッション指向であるため、「セッション ID」セクションに示されている 1 つ以上のセッション ID 属性とともに使用する必要があります。セッションを検出できない場合、デバイスは「Session Context Not Found」エラー コード属性を含む CoA-NAK メッセージを返します。デバイスは、セッションを検出すると、ホスティング ポートを無効にし、CoA-ACK メッセージを返します。
デバイスが CoA-ACK をクライアントに返す前にデバイスに障害が発生した場合、クライアントから要求が再送信されると、新しいアクティブ デバイス上でそのプロセスが繰り返されます。デバイスが CoA-ACK メッセージをクライアントに返した後でデバイスに障害が発生したが、操作が完了していない場合、その操作は新しいアクティブ デバイスで再開されます。
RADIUS サーバの CoA disable port コマンドを無視するには、「bounce および disable RADIUS CoA 要求を無視するためのデバイスの設定」を参照してください。
CoA 要求の bounce port
RADIUS サーバーの CoA bounce port が RADIUS サーバーから送信されると、認証ポートでリンクのフラップが発生します。その結果、このポートに接続している 1 つまたは複数のホストから、DHCP の再ネゴシエーションが開始されます。この状況は、VLAN の変更があり、この認証ポートに関する変化を検出するメカニズムがないデバイス(プリンタなど)がエンドポイントの場合に発生する可能性があります。CoA bounce port は、次の新しい VSA を含む標準の CoA-Request メッセージで伝達されます。
Cisco:Avpair="subscriber:command=bounce-host-port"
このコマンドはセッション指向であるため、「セッション ID」に示されている 1 つ以上のセッション ID 属性とともに使用する必要があります。セッションが見つからない場合、デバイスは「Session Context Not Found」エラー コード属性を使用して CoA-NAK メッセージを返します。このセッションがある場合は、デバイスはホスト ポートを 10 秒間ディセーブルし、再びイネーブルにし(ポート バウンス)、CoA-ACK を返します。
RADIUS サーバの CoA bounce port を無視するには、「bounce および disable RADIUS CoA 要求を無視するためのデバイスの設定」を参照してください。