RADIUS / TACACS+



 ◆ RADIUSとTACACS+の違い

 AAAを実装させたネットワーク機器は認証、認可、アカウンティングを行うために、一般的にCisco IOSでは
 
RADIUSTACACS+Kerberosのセキュリティプロトコルを使用してサーバと通信させるのが一般的です。
 ここでは最も使用されるTACACS+プロトコルとRADIUSプロトコルについて、その違いを簡単に紹介します。

プロトコル 標準化 使用ポート 暗号化
RADIUS IETF標準 UDP 1812、UDP 1813 パスワード情報のみ暗号化
TACACS+ シスコ独自 TCP 49 パケット全体を暗号化


 RADIUSでは「認証と認可」にはUDPポート1812、「アカウンティング」にUDPポート1813を使用します。
 旧式では、「認証と認可」にUDPポート1645、「アカウンティング」にUDPポート1646を使用しています。

 RADIUSプロトコルについては、AAAモデルが確立される前に開発されたプロトコルであり「認証と認可」が
 組み合わされており1つのサービスとして統合されて、「アカウンティング」のみ分離されています。一方、
 TACACS+プロトコルについては「認証」「認可」「アカウンティング」の3つのサービスが分離しています。



 ◆ AAAクライアント ⇔ AAAサーバ間の通信( RADIUSプロトコル)

 下図は、RADIUSプロトコルによる「認証」「認可」「アカウンティング」パケットのシーケンスです。
 
RADIUSでは「認証・認可」が1つのAccess-RequestやAccess-Acceptパケットに組み込まれています。


   

 A 入力したユーザ名、パスワード、NASのIPアドレス、NASのポート番号などが含まれた情報を送信。
 F Access-requestで送信された共有暗号鍵( Shared Secret )をサーバで設定されている値と比較。
 一致する場合、ユーザ名とパスワードをRADIUSサーバのDBにある情報と比較。それも一致する場合は
 Access-Acceptの送信時に、このセッションで使用されるアトリビュート( VLANやACLなど )を返す。
 G アカウンティングフェーズは「 認証および認可フェーズの完了後 」に独立したフェーズとして開始。


 ◆ AAAクライアント ⇔ AAAサーバ間の通信( TACACS+プロトコル)

 TACACS+プロトコルの場合は「認証」「認可」「アカウンティング」の3つが完全に分離しています。
 以下の「→→→」はNASからTACACS+サーバへ、「←←←」はTACACS+サーバからNASへのフローです。

 ◆ Authentication(認証)
 @ →→→ 
Send Start - User trying to connect
 A ←←← 
Get User - to ask client to get username
 B →→→ 
CONTINUE - to give server username
 C ←←← Get Pass - to ask client to get password
 D →→→ CONTINUE - to give server password
 E ←←← 
Pass / Fail - to indicate pass/fails status

 ◆ Authorization(認可)
 @ →→→ 
Request - for service=shell
 A ←←← 
Response - to indicate pass/fail status
 B →→→ 
Request - for command & command-argument
 C ←←← 
Response - to indicate pass/fail status

 ◆ Accounting(アカウンティング)
 @ →→→ 
Request - for start-exec
 A ←←← 
Response - that record was received
 B →→→ 
Request - for command
 C ←←← 
Response - that record was received
 D →→→ 
Request - for stop-exec
 E ←←← 
Response - that record was received

 802.1X認証で使用できる認証サーバはRADIUSサーバのみであり、TACACS+やKerberosは使用できません。



L2 セキュリティの技術

ネットワークエンジニアとして

Copyright (C) 2002-2019 ネットワークエンジニアとして All Rights Reserved.