TACACS+(Terminal Access Controller Access-Control System Plus)は、シスコが開発したAAAプロトコルであり、ネットワークデバイス上で管理者の認証、コマンドの承認、および操作のログ記録を行います。このプロトコルは、TCPポート49を介してパケット本文全体を暗号化し、従来のプロトコルとは異なり、認証、承認、およびアカウンティングを3つの完全に独立したプロセスとして扱います。
主なポイント
- TACACS+では、認証、認可、およびアカウンティングが完全に分離されています。
- RADIUSとは異なり、TCPポート49を介してパケット本文全体を暗号化します。
- 主にネットワークデバイスの管理に使用され、ネットワークアクセス制御には使用されません。
- RFC 8907 に情報として記載されているが、正式な IETF 標準ではない。
- Versa Director、Analytics、およびVMSはすべて、管理者ログインにTACACS+に対応しています。
このページの内容: その重要性仕組み種類TACACS+ およびVersaよくある質問
TACACS+はなぜ重要なのでしょうか?
ルーター、スイッチ、ファイアウォール、SD-WAN デバイスには、いずれも、誰がログインできるか、またログイン後にどのような操作が可能かを制御する仕組みが必要です。TACACS+ は、分散している各デバイスのローカルユーザーテーブルから、その制御を一元化されたサーバーに移行するため、管理者のアクセス権の付与、変更、取り消しを、各デバイスごとに個別に処理するのではなく、一度の操作で実行できるようになります。
その最大の特徴は、きめ細かな制御にある。TACACS+は認証を独立したステップとして扱うため、ポリシーによってセッション全体だけでなく個々のコマンドごとに権限を付与することが可能だ。つまり、オペレーターに対して設定の閲覧は許可しつつ、デバイスの再起動やインターフェースの変更はブロックするような設定が可能である。 セッション全体の暗号化やコマンドごとのアカウンティング機能と相まって、インフラへの管理アクセスにおいて詳細かつ監査可能な操作履歴が必要な場面では、TACACS+が最適なプロトコルとなります。そのため、VPNやWi-FiログインといったネットワークアクセスシナリオではRADIUSが主流となっているにもかかわらず、デバイス管理においては依然としてTACACS+がデフォルトのプロトコルとして採用され続けているのです。
TACACS+とは何ですか?
TACACS+ はクライアント・サーバー方式で動作します。ネットワークデバイス(クライアント)は、ポート 49 上の単一の TCP 接続を介して、ログイン要求を TACACS+ サーバーに転送します。 RADIUSの接続レスなUDPの代わりにTCPを使用することで、通信に配信保証が組み込まれます。また、TACACS+はパスワードフィールドだけでなくパケット本体全体を暗号化するため、コマンド名、引数、およびアカウンティングレコードはすべて転送中に保護されます。
サーバーは、自身のデータベースに基づいてリクエストを評価するか、ディレクトリサービスに処理を委任し、決定結果とともに、ユーザーのロールに関連付けられた認証属性を返します。認証、認可、およびアカウンティングは別々の処理として行われるため、デバイスを設定することで、ユーザーの認証をローカルで行う一方で、認可およびアカウンティングのリクエストをリモートの TACACS+ サーバーに送信するようにすることも可能です。また、導入環境の要件に応じて、その他の組み合わせも設定できます。
TACACS+の種類
TACACS+ は、3つの独立したプロセスで構成されています。認証では、ユーザー名、パスワード、または証明書を通じてユーザーの身元を確認します。認可では、そのユーザーが何ができるかを決定し、セッション単位、あるいは特徴的な点として、個々のコマンドの実行前にそのコマンドごとに評価を行います。アカウンティングでは、監査のために、ログイン時刻、実行されたコマンド、セッションの継続時間など、実際に何が起こったかを記録します。
この名称には、その系譜も反映されています。RFC 1492で定義されたTACACSは、1980年代のARPANET接続システムに端を発しています。 シスコは1990年代初頭にこれをXTACACSへと拡張し、その後、同 decadeの後半にTACACS+として一から再設計しました。このプロトコルの変更は極めて抜本的なものであり、TACACS+はどちらの先行プロトコルとも下位互換性がありません。現在、TACACSおよびXTACACSは事実上廃れており、「TACACS」という場合、ほとんどの場合、TACACS+を指しています。
TACACS+ およびVersa
Versa Director、Versa Analytics、およびVersa Messaging Service (VMS) はすべて、管理者の認証を行うために外部の TACACS+ サーバーと連携しています。Versa Director では、TACACS+ は Active Directory、LDAP、RADIUS と並んで認証コネクタとして構成されており、アクティブ-アクティブで動作する冗長サーバー、ローカル優先・リモート優先の順序選択、および(リリース 22.1.4 以降では)CLI ログインが GUI や API ログインとは異なる TACACS+ サーバーに対して認証を行えるよう、個別のデフォルトシェルコネクタが用意されています。 また、TACACS+ サーバーは二要素認証属性を扱うこともできます。
Versa Analytics では、ノードごとに最大 4 台の TACACS+ サーバーが、そのノードのシェルへの SSH アクセスを認証します。TACACS+ サーバー自体で設定された `versa-user-group` 属性を通じて、各ユーザーを「admin」(フルシェルおよび設定編集)または「oper」(読み取り専用、制限付きコマンド)のロールのいずれかに制限します。VMSは、リリース5.2.2以降、TACACS+と統合されており、TACACS+サーバーのサービス値が「versa」に設定され、VMSのノースバウンドインターフェース経由でアクセス可能な場合、外部ユーザーがVMS管理者に代わって特権コマンドを実行できるようになります。
よくある質問
TACACS+とRADIUSの違いは何ですか?
TACACS+はパケット全体を暗号化し、認証、認可、アカウンティングを独立したステップに分けて処理します。これにはコマンドごとの認可も含まれており、ネットワーク機器の管理において一般的に採用されています。一方、RADIUSはパスワードのみを暗号化し、認証と認可を組み合わせた方式を採用しており、VPNやWi-Fiのログインなど、ネットワークアクセスに関する場面で広く利用されています。
TACACS+ はどのポートを使用しますか?
TACACS+ は TCP ポート 49 を使用します。TCP トランスポートにより、UDP 上で動作する RADIUS にはない、接続指向型の配信保証が提供されます。また、クライアントとサーバー間の単一の暗号化されたセッション上で、認証、認可、アカウンティングといった AAA に関するすべてのやり取りを伝送します。
TACACS+は今でも有用なのでしょうか、それともすでに別のプロトコルに取って代わられているのでしょうか?
TACACS+は、ネットワークインフラへの管理用アクセスにおける標準プロトコルであり続けています。その前身であるTACACSやXTACACSはすでに時代遅れとなっていますが、TACACS+自体は現在も企業ネットワークで広く活用されており、シスコが最初に導入してから数十年を経た2020年に、RFC 8907として正式に文書化されました。
TACACS+におけるコマンド認証とは何ですか?
コマンド認証では、管理者が発行する個々のコマンドについて、デバイスがそれを実行する前にTACACS+サーバー上のポリシーに基づいてチェックが行われます。これは、ログインセッション全体のみを認証する方式とは異なります。これにより、例えば、オペレーターはデバイスの再起動は許可されなくても、設定を確認することが可能になります。
Versa は、管理者アクセス用にTACACS+をサポートしていますか?
はい。Versa Director、Versa Analytics、およびVersa Messaging Serviceはすべて、管理者ログイン用の外部AAAサーバーとしてTACACS+をサポートしており、それぞれにversa-user-groupなどのロール属性があり、認証されたTACACS+ユーザーをそのコンポーネントの権限レベルにマッピングします。
TACACS+の詳細
さらに詳しく知りたい場合は、私たちが信頼している情報源を以下にご紹介します。
| RFC 1492: アクセス制御プロトコル(TACACSとも呼ばれる) | RFC 8907: TACACS+ プロトコル |
|---|---|
| 1993年に作成された、オリジナルのTACACSプロトコルを説明した文書。シスコはその後、これをXTACACSへと拡張し、さらにTACACS+として再設計した。 | TACACS+プロトコルの初期リリースから数十年を経て、その実装状況を正式に文書化した2020年の情報提供用RFC。 |
関連用語
TACACS+について調べているなら、次はこれらもぜひチェックしてみてください。
| 認証、認可、およびアカウンティング | Versa Director |
Versaアナリティクス |
|---|---|---|
| TACACS+が実装するプロトコルの一つであるセキュリティフレームワーク――ID、権限、およびログ記録――。 | 管理者のための外部認証コネクタとしてTACACS+が設定されている管理コンソール。 | Versa のヘッドエンドコンポーネントで、外部のTACACS+サーバーに対して自身のノードシェルへのログインを認証するものです。 |