はじめに
このドキュメントでは、ネットワークへのアクセスを制御するために使用される 2 つの優れたセキュリティプロトコルである Cisco TACACS+ と Cisco RADIUS について説明し、比較します。
前提条件
要件
このドキュメントに関する固有の要件はありません。
使用するコンポーネント
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法
ドキュメント表記の詳細は、『シスコテクニカルティップスと形式』を参照してください。
背景説明
RADIUS の仕様は、RFC 2865 に記述されています(これにより、RFC 2138 は廃止されました)。シスコは両方のプロトコルをサポートします。RADIUS と競合する、またはユーザが TACACS+ を使用するように影響を与えることは Cisco の意図するところではありません。ニーズに最適なソリューションを選択する必要があります。このドキュメントでは TACACS+ と RADIUS の違いについて説明し、理解した上で選択できるようにします。
Cisco は 1996 年 2 月の Cisco IOS® ソフトウェア リリース 11.1 以降、RADIUS プロトコルをサポートしています。シスコは引き続きRADIUSをサポートし、新しい機能でRADIUSを強化します。
Cisco は TACACS+ を開発する前に、セキュリティ プロトコルとしての RADIUS を真摯に評価しました。TACACS+プロトコルには、新しいセキュリティ市場のニーズを満たす多くの機能が含まれています。このプロトコルはネットワークの規模の拡大に合わせて拡張し、市場の成熟に合わせて新しいセキュリティ技術を適用するために設計されました。TACACS+ プロトコルの基礎となるアーキテクチャは個別の認証、認可、およびアカウンティング(AAA)アーキテクチャを補完します。
RADIUS の背景情報
RADIUS は、AAA プロトコルを使用するアクセス サーバです。ネットワークやネットワーク サービスのリモート アクセスを不正アクセスから保護する分散型セキュリティ システムです。RADIUS は、次の 3 つのコンポーネントで構成されています。
サーバは通常クライアントサイトの中央コンピュータで動作し、クライアントはダイヤルアップアクセスサーバに常駐し、ネットワーク全体に分散できます。Cisco では、Cisco IOS ソフトウェア リリース 11.1 以降、およびその他のデバイス ソフトウェアに RADIUS クライアントを組み込んでいます。
クライアント/サーバ モデル
ネットワーク アクセス サーバ(NAS)は、RADIUS のクライアントとして動作します。クライアントは指定されたRADIUSサーバにユーザ情報を渡し、返された応答に従って動作します。RADIUSサーバは、ユーザ接続要求を受信し、ユーザを認証し、クライアントがユーザにサービスを提供するために必要なすべての設定情報を返します。RADIUS サーバは、他の種類の認証サーバに対しては、プロキシ クライアントとして動作します。
ネットワーク セキュリティ
クライアントと RADIUS サーバとの間のトランザクションは、共有秘密を使用して認証されます。共有秘密はネットワーク上に送信されることはありません。また、クライアントと RADIUS サーバ間では、すべてのパスワードが暗号化されて送信されます。これにより、セキュリティで保護されていないネットワークをスヌーピングしているユーザがユーザパスワードを特定する可能性がなくなります。
Flexible Authentication のメカニズム
RADIUS サーバは、ユーザを認証するさまざまな方法をサポートできます。ユーザが指定したユーザ名と元のパスワードが提供されると、PPP、Password Authentication Protocol(PAP;パスワード認証プロトコル)、Challenge Handshake Authentication Protocol(CHAP;チャレンジハンドシェイク認証プロトコル)、UNIXログイン、およびその他の認証メカニズムをサポートできます。
サーバ コードの可用性
市販されている、および無料で使用できるサーバ コードは数多く流通しています。Cisco サーバには、Windows用 Cisco Secure ACS、Unix用 Cisco Secure ACS、および Cisco Access Registrar が含まれます。
TACACS+ と RADIUS の比較
次のセクションでは、TACACS+ と RADIUS のいくつかの機能を比較します。
UDP と TCP
RADIUS では UDP を使用し、TACACS+ では TCP を使用します。TCP は UDP に比べてさまざまなメリットがあります。TCP はコネクション型のトランスポートを提供する一方、UDP はベスト エフォート型の配信を提供します。RADIUS では、ベスト エフォート型のトランスポートを補正するため、再送信試行やタイムアウトなどの追加のプログラム可能な変数が必要ですが、TCP のトランスポートが提供するレベルの組み込み型のサポートは存在しません。
-
TCPを使用すると、バックエンドの認証メカニズム(TCP確認応答)の負荷がどれだけ高く、どれだけ遅くても、ネットワークのラウンドトリップ時間(RTT)以内に(おおよその)要求が受信されたという別の確認応答が提供されます。
-
TCPは、リセット(RST)によってサーバのクラッシュまたは停止を即座に示します。長寿命の TCP 接続を使用すると、サーバがいつクラッシュし、サービスに復帰したかを判断することができます。UDP は、ダウンしたサーバ、低速のサーバ、および存在しないサーバを区別することはできません。
-
TCPキープアライブを使用すると、サーバのクラッシュを実際の要求でアウトオブバンドで検出できます。複数のサーバへの接続は同時に維持でき、稼動していることが判明しているサーバにのみメッセージを送信する必要があります。
-
TCPはよりスケーラブルで、サイズが増加し輻輳が増加するネットワークに適応します。
パケット暗号化
RADIUS では、クライアントからサーバへの Access-Request パケット内のパスワードしか暗号化されない。残りのパケットが暗号化解除される。このため、ユーザ名、正規サービス、アカウンティングなど、その他の他の情報が第三者にキャプチャされるおそれがある。
TACACS+ は、パケット本文は全体を暗号化するが、標準 TACACS+ ヘッダーは暗号化しない。ヘッダー内には、本文が暗号化されているかどうかを示すフィールドがあります。デバッグのためには、パケット本文を暗号化しない方が便利である。ただし、通常の動作では、通信のセキュア度を高めるためパケット本文は暗号化される。
認証および認可
RADIUS は認証と認可を結合する。RADIUS サーバからクライアントに送信される Access-Accept パケットには、認証情報が含まれます。このため、認証と認可を分けて考えることが困難です。
TACACS+ では、AAA を区別する AAA アーキテクチャを使用します。このため個別の認証ソリューションが実現し、認可とアカウンティング用には引き続き TACACS+ を使用することができます。たとえば、TACACS+ を使用すると、Kerberos の認証と TACACS+ の認可とアカウンティングを使用することができます。NASがKerberosサーバで認証を行った後は、再認証を必要とせずに、TACACS+サーバに許可情報を要求します。NAS は TACACS+ サーバに Kerberos サーバ上で正常に認証されたことを通知し、サーバは認証情報を提供します。
セッションの間に追加の認証確認が必要になったら、アクセス サーバが TACACS+ サーバを使用して、特定のコマンドを使用する権限がユーザに付与されているかどうかを判別します。これにより、認証メカニズムの関連付けが解除されている間にアクセスサーバで実行できるコマンドをより細かく制御できます。
マルチプロトコル サポート
RADIUS は次のプロトコルをサポートしていません。
-
AppleTalk Remote Access(ARA)プロトコル
-
NetBIOS フレーム プロトコル制御プロトコル
-
Novell Asynchronous Services Interface(NASI)
-
X.25 PAD 接続
TACACS+ はマルチプロトコルをサポートしています。
ルータ管理
RADIUS では、ルータ上でどのコマンドを実行でき、どれを実行できないかをユーザが制御することはできません。したがって、RADIUS にはルータ管理の利便性や、ターミナル サービスのための柔軟性はありません。
TACACS+ には、ユーザ別またはグループ別にルータ コマンドの認可を制御する方法が 2 つあります。1 つ目の方法では、コマンドに特権レベルを割り当て、指定した特権レベルでユーザが認可されているかどうかについて、TACACS+ サーバを使用するルータで確認します。2 つ目の方法では、ユーザ別またはグループ別に、明示的に許可するコマンドを TACACS+ サーバに指定します。
相互運用性
RADIUS Request For Comments(RFC)の解釈が多岐にわたるため、RADIUS RFC のコンプライアンスによって相互運用性が保証されるわけではありません。複数のベンダーが RADIUS クライアントを実装していますが、相互運用可能であることは意味しません。シスコではほとんどの RADIUS 属性を実装し、常に追加し続けています。クライアントがサーバで標準のRADIUS属性のみを使用する場合、複数のベンダーが同じ属性を実装している限り、複数のベンダー間で動作できます。しかし、多くのベンダーが独自の属性である拡張機能を実装しています。クライアントがこれらのベンダー固有の拡張属性のいずれかを使用する場合、相互運用性は不可能です。
トラフィック
先ほど説明した TACACS+ と RADIUS の違いにより、クライアントとサーバの間で生成されるトラフィック量は異なります。次の例は、認証、EXEC 認可、コマンド認可(RADIUS では不可)、EXEC アカウンティングおよびコマンド アカウンティング(RADIUS では不可)を使用するルータ管理に使用されるときの、TACACS+ と RADIUS のクライアントとサーバ間のトラフィックを示しています。
TACACS+ のトラフィック例
この例では、ユーザがルータにTelnet接続し、コマンドを実行し、ルータを終了するときに、ログイン認証、exec認可、コマンド認可、開始/停止execアカウンティング、およびコマンドアカウンティングがTACACS+に実装されていると仮定します。
RADIUS のトラフィック例
この例では、ユーザがルータにTelnet接続し、コマンドを実行し、ルータを終了する(他の管理サービスは使用できない)ときに、RADIUSを使用してログイン認証、EXEC認可、および開始/停止EXECアカウンティングが実装されていることを前提としています。
デバイス サポート
次の表は、選択したプラットフォームについて、デバイス タイプ別の TACACS+ と RADIUS AAA のサポートを示します。サポートが追加されたソフトウェア バージョンが含まれています。ご使用の製品がこのリストにない場合は、製品のリリースノートで詳細を確認してください。
シスコ デバイス |
TACACS+ 認証 |
TACACS+ 認可 |
TACACS+ アカウンティング |
RADIUS 認証 |
RADIUS 認証 |
RADIUS アカウンティング |
Cisco Aironet1 |
12.2(4)JA |
12.2(4)JA |
12.2(4)JA |
すべてのアクセス ポイント |
すべてのアクセス ポイント |
すべてのアクセス ポイント |
Cisco IOS®ソフトウェア2 |
10.33 |
10.33 |
10.333 |
11.1.1 |
11.1.14 |
11.1.15 |
Cisco Cache Engine |
— |
— |
— |
1.5 |
1.56 |
— |
Cisco Catalyst スイッチ |
2.2 |
5.4.1 |
5.4.1 |
5.1 |
5.4.14 |
5.4.15 |
Cisco CSS 11000 Content Services Switch |
5.03 |
5.03 |
5.03 |
5.0 |
5.04 |
— |
Cisco CSS 11500 Content Services Switch |
5.20 |
5.20 |
5.20 |
5.20 |
5.204 |
— |
Cisco PIX ファイアウォール |
4.0 |
4.07 |
4.28,5 |
4.0 |
5.27 |
4.28,5 |
Cisco Catalyst 1900/2820 スイッチ |
8.x エンタープライズ 9 |
— |
— |
— |
— |
— |
Cisco Catalyst 2900XL/3500XL スイッチ |
11.2.(8)SA610 |
11.2.(8)SA610 |
11.2.(8)SA610 |
12.0(5)WC511 |
12.0(5)WC511, 4 |
12.0(5)WC511, 5 |
Cisco VPN 3000コンセントレータ6 |
3.0 |
3.0 |
— |
2.012 |
2.0 |
2.012 |
Cisco VPN 5000 コンセントレータ |
— |
— |
— |
5.2X12 |
5.2X12 |
5.2X12 |
表の注記
-
ワイヤレス クライアントの終端のみ、Cisco IOS ソフトウェア リリース 12.2(4)JA 以降のバージョンの管理トラフィックは除く。Cisco IOS ソフトウェア リリース 12.2(4)JA 以降では、ワイヤレス クライアントおよび管理トラフィックの両方の終端で認証が行えます。
-
Cisco IOSソフトウェアのプラットフォームサポートについては、Software Advisor(登録ユーザ専用)を参照してください。
-
コマンドアカウンティングは、Cisco IOSソフトウェアリリース 11.1.6.3.
-
コマンド認可なし。
-
コマンド アカウンティングなし。
-
URL のブロックのみ、管理トラフィックなし。
-
PIX 経由の非 VPN トラフィックの認可。
注:リリース5.2:PIXリリース6.1で終了したVPNトラフィックに対する、アクセスコントロールリスト(ACL)RADIUSベンダー固有属性(VSA)またはTACACS+認可のアクセスリストのサポート:PIXリリース6.2.2で終了したVPNトラフィックに対する、ACL RADIUS属性11認可のサポート:PIXリリース6.2で終了したVPNトラフィックに対する、ダウンロード可能ACLのサポート:PIX管理トラフィック認可<
-
PIX 経由の非 VPN トラフィックのアカウンティングのみ。管理トラフィックを除く。
注:リリース5.2:PIXを経由するVPN Client TCPパケットのアカウンティングのサポート。
-
エンタープライズ ソフトウェアのみ。
-
イメージには 8M のフラッシュが必要です。
-
VPN 終端のみ。
注:シスコの内部ツールおよび情報にアクセスできるのは、登録ユーザのみです。
関連情報